diff --git a/.circleci/config.yml b/.circleci/config.yml index a8ccfcf710..e30dc02b2a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -178,6 +178,7 @@ jobs: pip install "Pillow==10.3.0" pip install "jsonschema==4.22.0" pip install "pytest-xdist==3.6.1" + pip install "pytest-timeout==2.2.0" pip install "websockets==13.1.0" pip install semantic_router --no-deps pip install aurelio_sdk --no-deps @@ -208,7 +209,10 @@ jobs: command: | pwd ls - python -m pytest -vv tests/local_testing --cov=litellm --cov-report=xml --junitxml=test-results/junit.xml --durations=5 -k "not test_python_38.py and not test_basic_python_version.py and not router and not assistants and not langfuse and not caching and not cache" -n 4 + # Add --timeout to kill hanging tests after 300s (5 min) + # Add -v to show test names as they run for debugging + # Add --tb=short for shorter tracebacks + python -m pytest -vv tests/local_testing --cov=litellm --cov-report=xml --junitxml=test-results/junit.xml --durations=20 -k "not test_python_38.py and not test_basic_python_version.py and not router and not assistants and not langfuse and not caching and not cache" -n 4 --timeout=300 --timeout_method=thread no_output_timeout: 120m - run: name: Rename the coverage files @@ -614,6 +618,12 @@ jobs: - run: name: Install Dependencies command: | + export PATH="$HOME/miniconda/bin:$PATH" + source $HOME/miniconda/etc/profile.d/conda.sh + conda activate myenv + python --version + which python + pip install --upgrade typing-extensions>=4.12.0 pip install "pytest==7.3.1" pip install "pytest-asyncio==0.21.1" pip install aiohttp @@ -657,7 +667,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -677,6 +687,9 @@ jobs: - run: name: Run prisma ./docker/entrypoint.sh command: | + export PATH="$HOME/miniconda/bin:$PATH" + source $HOME/miniconda/etc/profile.d/conda.sh + conda activate myenv set +e chmod +x docker/entrypoint.sh ./docker/entrypoint.sh @@ -685,6 +698,9 @@ jobs: - run: name: Run tests command: | + export PATH="$HOME/miniconda/bin:$PATH" + source $HOME/miniconda/etc/profile.d/conda.sh + conda activate myenv pwd ls python -m pytest tests/proxy_security_tests --cov=litellm --cov-report=xml -vv -x -v --junitxml=test-results/junit.xml --durations=5 @@ -1090,13 +1106,16 @@ jobs: pip install "pytest-asyncio==0.21.1" pip install "respx==0.22.0" pip install "pytest-xdist==3.6.1" + pip install "pytest-timeout==2.2.0" # Run pytest and generate JUnit XML report - run: name: Run tests command: | pwd ls - python -m pytest -vv tests/llm_translation --cov=litellm --cov-report=xml -v --junitxml=test-results/junit.xml --durations=5 -n 4 + # Add --timeout to kill hanging tests after 120s (2 min) + # Add --durations=20 to show 20 slowest tests for debugging + python -m pytest -vv tests/llm_translation --cov=litellm --cov-report=xml -v --junitxml=test-results/junit.xml --durations=20 -n 4 --timeout=120 --timeout_method=thread no_output_timeout: 120m - run: name: Rename the coverage files @@ -2108,7 +2127,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -2250,7 +2269,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -2390,7 +2409,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -2551,7 +2570,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -2664,7 +2683,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -2800,7 +2819,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -3032,7 +3051,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -3549,7 +3568,7 @@ jobs: docker run -d \ --name postgres-db \ -e POSTGRES_USER=postgres \ - -e POSTGRES_PASSWORD=test-postgres \ + -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=circle_test \ -p 5432:5432 \ postgres:14 @@ -3954,4 +3973,4 @@ workflows: - proxy_pass_through_endpoint_tests - check_code_and_doc_quality - publish_proxy_extras - - guardrails_testing + - guardrails_testing \ No newline at end of file diff --git a/.gitguardian.yaml b/.gitguardian.yaml deleted file mode 100644 index 861dd6e6d6..0000000000 --- a/.gitguardian.yaml +++ /dev/null @@ -1,84 +0,0 @@ -version: 2 - -secret: - # Exclude files and paths by globbing - ignored_paths: - - "**/*.whl" - - "**/*.pyc" - - "**/__pycache__/**" - - "**/node_modules/**" - - "**/dist/**" - - "**/build/**" - - "**/.git/**" - - "**/venv/**" - - "**/.venv/**" - - # Large data/metadata files that don't need scanning - - "**/model_prices_and_context_window*.json" - - "**/*_metadata/*.txt" - - "**/tokenizers/*.json" - - "**/tokenizers/*" - - "miniconda.sh" - - # Build outputs and static assets - - "litellm/proxy/_experimental/out/**" - - "ui/litellm-dashboard/public/**" - - "**/swagger/*.js" - - "**/*.woff" - - "**/*.woff2" - - "**/*.avif" - - "**/*.webp" - - # Test data files - - "**/tests/**/data_map.txt" - - "tests/**/*.txt" - - # Documentation and other non-code files - - "docs/**" - - "**/*.md" - - "**/*.lock" - - "poetry.lock" - - "package-lock.json" - - # Ignore security incidents with the SHA256 of the occurrence (false positives) - ignored_matches: - # === Current detected false positives (SHA-based) === - - # gcs_pub_sub_body - folder name, not a password - - name: GCS pub/sub test folder name - match: 75f377c456eede69e5f6e47399ccee6016a2a93cc5dd11db09cc5b1359ae569a - - # os.environ/APORIA_API_KEY_1 - environment variable reference - - name: Environment variable reference APORIA_API_KEY_1 - match: e2ddeb8b88eca97a402559a2be2117764e11c074d86159ef9ad2375dea188094 - - # os.environ/APORIA_API_KEY_2 - environment variable reference - - name: Environment variable reference APORIA_API_KEY_2 - match: 09aa39a29e050b86603aa55138af1ff08fb86a4582aa965c1bd0672e1575e052 - - # oidc/circleci_v2/ - test authentication path, not a secret - - name: OIDC CircleCI test path - match: feb3475e1f89a65b7b7815ac4ec597e18a9ec1847742ad445c36ca617b536e15 - - # text-davinci-003 - OpenAI model identifier, not a secret - - name: OpenAI model identifier text-davinci-003 - match: c489000cf6c7600cee0eefb80ad0965f82921cfb47ece880930eb7e7635cf1f1 - - # === Preventive patterns for test keys (pattern-based) === - - # Test API keys (124 instances across 45 files) - - name: Test API keys with sk-test prefix - match: sk-test- - - # Mock API keys - - name: Mock API keys with sk-mock prefix - match: sk-mock- - - # Fake API keys - - name: Fake API keys with sk-fake prefix - match: sk-fake- - - # Generic test API key patterns - - name: Test API key patterns - match: test-api-key - diff --git a/.github/workflows/locustfile.py b/.github/workflows/locustfile.py index 65d0d56b3a..36dbeee9c4 100644 --- a/.github/workflows/locustfile.py +++ b/.github/workflows/locustfile.py @@ -8,7 +8,7 @@ class MyUser(HttpUser): def chat_completion(self): headers = { "Content-Type": "application/json", - "Authorization": "Bearer sk-test-load-test-key-123", + "Authorization": "Bearer sk-8N1tLOOyH8TIxwOLahhIVg", # Include any additional headers you may need for authentication, etc. } diff --git a/.github/workflows/publish-migrations.yml b/.github/workflows/publish-migrations.yml index a81a64ab46..8e5a67bcf8 100644 --- a/.github/workflows/publish-migrations.yml +++ b/.github/workflows/publish-migrations.yml @@ -20,7 +20,7 @@ jobs: env: POSTGRES_DB: temp_db POSTGRES_USER: postgres - POSTGRES_PASSWORD: test-postgres + POSTGRES_PASSWORD: postgres ports: - 5432:5432 options: >- @@ -35,7 +35,7 @@ jobs: env: POSTGRES_DB: shadow_db POSTGRES_USER: postgres - POSTGRES_PASSWORD: test-postgres + POSTGRES_PASSWORD: postgres ports: - 5433:5432 options: >- diff --git a/AGENTS.md b/AGENTS.md index 2c778dc0d7..61afbd035f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -49,6 +49,27 @@ LiteLLM is a unified interface for 100+ LLMs that: - Test provider-specific functionality thoroughly - Consider adding load tests for performance-critical changes +### MAKING CODE CHANGES FOR THE UI (IGNORE FOR BACKEND) + +1. **Use Common Components as much as possible**: + - These are usually defined in the `common_components` directory + - Use these components as much as possible and avoid building new components unless needed + - Tremor components are deprecated; prefer using Ant Design (AntD) as much as possible + +2. **Testing**: + - The codebase uses **Vitest** and **React Testing Library** + - **Query Priority Order**: Use query methods in this order: `getByRole`, `getByLabelText`, `getByPlaceholderText`, `getByText`, `getByTestId` + - **Always use `screen`** instead of destructuring from `render()` (e.g., use `screen.getByText()` not `getByText`) + - **Wrap user interactions in `act()`**: Always wrap `fireEvent` calls with `act()` to ensure React state updates are properly handled + - **Use `query` methods for absence checks**: Use `queryBy*` methods (not `getBy*`) when expecting an element to NOT be present + - **Test names must start with "should"**: All test names should follow the pattern `it("should ...")` + - **Mock external dependencies**: Check `setupTests.ts` for global mocks and mock child components/networking calls as needed + - **Structure tests properly**: + - First test should verify the component renders successfully + - Subsequent tests should focus on functionality and user interactions + - Use `waitFor` for async operations that aren't already awaited + - **Avoid using `querySelector`**: Prefer React Testing Library queries over direct DOM manipulation + ### IMPORTANT PATTERNS 1. **Function/Tool Calling**: diff --git a/ci_cd/TEST_KEY_PATTERNS.md b/ci_cd/TEST_KEY_PATTERNS.md deleted file mode 100644 index bd59f58283..0000000000 --- a/ci_cd/TEST_KEY_PATTERNS.md +++ /dev/null @@ -1,40 +0,0 @@ -# Test Key Patterns Standard - -Standard patterns for test/mock keys and credentials in the LiteLLM codebase to avoid triggering secret detection. - -## How GitGuardian Works - -GitGuardian uses **machine learning and entropy analysis**, not just pattern matching: -- **Low entropy** values (like `sk-1234`, `postgres`) are automatically ignored -- **High entropy** values (realistic-looking secrets) trigger detection -- **Context-aware** detection understands code syntax like `os.environ["KEY"]` - -## Recommended Test Key Patterns - -### Option 1: Low Entropy Values (Simplest) -These won't trigger GitGuardian's ML detector: - -```python -api_key = "sk-1234" -api_key = "sk-12345" -database_password = "postgres" -token = "test123" -``` - -### Option 2: High Entropy with Test Prefixes -If you need realistic-looking test keys with high entropy, use these prefixes: - -```python -api_key = "sk-test-abc123def456ghi789..." # OpenAI-style test key -api_key = "sk-mock-1234567890abcdef1234..." # Mock key -api_key = "sk-fake-xyz789uvw456rst123..." # Fake key -token = "test-api-key-with-high-entropy" -``` - -## Configured Ignore Patterns - -These patterns are in `.gitguardian.yaml` for high-entropy test keys: -- `sk-test-*` - OpenAI-style test keys -- `sk-mock-*` - Mock API keys -- `sk-fake-*` - Fake API keys -- `test-api-key` - Generic test tokens diff --git a/ci_cd/security_scans.sh b/ci_cd/security_scans.sh index 0036a30441..9f4da6fd8d 100755 --- a/ci_cd/security_scans.sh +++ b/ci_cd/security_scans.sh @@ -58,20 +58,20 @@ run_secret_detection() { # Use --recursive for directory scanning and auto-confirm if prompted # .gitguardian.yaml will automatically exclude binary files, wheel files, etc. # GITGUARDIAN_API_KEY environment variable will be used for authentication - echo y | ggshield secret scan path . --recursive || { - echo "" - echo "==========================================" - echo "ERROR: Secret Detection Failed" - echo "==========================================" - echo "ggshield has detected secrets in the codebase." - echo "Please review discovered secrets above, revoke any actively used secrets" - echo "from underlying systems and make changes to inject secrets dynamically at runtime." - echo "" - echo "For more information, see: https://docs.gitguardian.com/secrets-detection/" - echo "==========================================" - echo "" - exit 1 - } + # echo y | ggshield secret scan path . --recursive || { + # echo "" + # echo "==========================================" + # echo "ERROR: Secret Detection Failed" + # echo "==========================================" + # echo "ggshield has detected secrets in the codebase." + # echo "Please review discovered secrets above, revoke any actively used secrets" + # echo "from underlying systems and make changes to inject secrets dynamically at runtime." + # echo "" + # echo "For more information, see: https://docs.gitguardian.com/secrets-detection/" + # echo "==========================================" + # echo "" + # exit 1 + # } echo "Secret detection scans completed successfully" } diff --git a/cookbook/LiteLLM_PromptLayer.ipynb b/cookbook/LiteLLM_PromptLayer.ipynb index 8fd5494102..3552636011 100644 --- a/cookbook/LiteLLM_PromptLayer.ipynb +++ b/cookbook/LiteLLM_PromptLayer.ipynb @@ -39,7 +39,7 @@ "import os\n", "os.environ['OPENAI_API_KEY'] = \"\"\n", "os.environ['REPLICATE_API_TOKEN'] = \"\"\n", - "os.environ['PROMPTLAYER_API_KEY'] = \"test-promptlayer-key-123\"\n", + "os.environ['PROMPTLAYER_API_KEY'] = \"pl_4ea2bb00a4dca1b8a70cebf2e9e11564\"\n", "\n", "# Set Promptlayer as a success callback\n", "litellm.success_callback =['promptlayer']\n", diff --git a/cookbook/Migrating_to_LiteLLM_Proxy_from_OpenAI_Azure_OpenAI.ipynb b/cookbook/Migrating_to_LiteLLM_Proxy_from_OpenAI_Azure_OpenAI.ipynb index 740e7c7a4c..39677ed2a8 100644 --- a/cookbook/Migrating_to_LiteLLM_Proxy_from_OpenAI_Azure_OpenAI.ipynb +++ b/cookbook/Migrating_to_LiteLLM_Proxy_from_OpenAI_Azure_OpenAI.ipynb @@ -1,10 +1,21 @@ { + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, "cells": [ { "cell_type": "markdown", - "metadata": { - "id": "kccfk0mHZ4Ad" - }, "source": [ "# Migrating to LiteLLM Proxy from OpenAI/Azure OpenAI\n", "\n", @@ -21,26 +32,29 @@ "To pass provider-specific args, [go here](https://docs.litellm.ai/docs/completion/provider_specific_params#proxy-usage)\n", "\n", "To drop unsupported params (E.g. frequency_penalty for bedrock with librechat), [go here](https://docs.litellm.ai/docs/completion/drop_params#openai-proxy-usage)\n" - ] + ], + "metadata": { + "id": "kccfk0mHZ4Ad" + } }, { "cell_type": "markdown", - "metadata": { - "id": "nmSClzCPaGH6" - }, "source": [ "## /chat/completion\n", "\n" - ] + ], + "metadata": { + "id": "nmSClzCPaGH6" + } }, { "cell_type": "markdown", - "metadata": { - "id": "_vqcjwOVaKpO" - }, "source": [ "### OpenAI Python SDK" - ] + ], + "metadata": { + "id": "_vqcjwOVaKpO" + } }, { "cell_type": "code", @@ -80,20 +94,15 @@ }, { "cell_type": "markdown", - "metadata": { - "id": "AqkyKk9Scxgj" - }, "source": [ "## Function Calling" - ] + ], + "metadata": { + "id": "AqkyKk9Scxgj" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "wDg10VqLczE1" - }, - "outputs": [], "source": [ "from openai import OpenAI\n", "client = OpenAI(\n", @@ -130,24 +139,24 @@ ")\n", "\n", "print(completion)\n" - ] + ], + "metadata": { + "id": "wDg10VqLczE1" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "YYoxLloSaNWW" - }, "source": [ "### Azure OpenAI Python SDK" - ] + ], + "metadata": { + "id": "YYoxLloSaNWW" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "yA1XcgowaSRy" - }, - "outputs": [], "source": [ "import openai\n", "client = openai.AzureOpenAI(\n", @@ -175,24 +184,24 @@ ")\n", "\n", "print(response)" - ] + ], + "metadata": { + "id": "yA1XcgowaSRy" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "yl9qhDvnaTpL" - }, "source": [ "### Langchain Python" - ] + ], + "metadata": { + "id": "yl9qhDvnaTpL" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "5MUZgSquaW5t" - }, - "outputs": [], "source": [ "from langchain.chat_models import ChatOpenAI\n", "from langchain.prompts.chat import (\n", @@ -230,22 +239,24 @@ "response = chat(messages)\n", "\n", "print(response)" - ] + ], + "metadata": { + "id": "5MUZgSquaW5t" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "B9eMgnULbRaz" - }, "source": [ "### Curl" - ] + ], + "metadata": { + "id": "B9eMgnULbRaz" + } }, { "cell_type": "markdown", - "metadata": { - "id": "VWCCk5PFcmhS" - }, "source": [ "\n", "\n", @@ -269,24 +280,22 @@ "}'\n", "```\n", "\n" - ] + ], + "metadata": { + "id": "VWCCk5PFcmhS" + } }, { "cell_type": "markdown", - "metadata": { - "id": "drBAm2e1b6xe" - }, "source": [ "### LlamaIndex" - ] + ], + "metadata": { + "id": "drBAm2e1b6xe" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "d0bZcv8fb9mL" - }, - "outputs": [], "source": [ "import os, dotenv\n", "\n", @@ -317,24 +326,24 @@ "query_engine = index.as_query_engine()\n", "response = query_engine.query(\"What did the author do growing up?\")\n", "print(response)\n" - ] + ], + "metadata": { + "id": "d0bZcv8fb9mL" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "xypvNdHnb-Yy" - }, "source": [ "### Langchain JS" - ] + ], + "metadata": { + "id": "xypvNdHnb-Yy" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "R55mK2vCcBN2" - }, - "outputs": [], "source": [ "import { ChatOpenAI } from \"@langchain/openai\";\n", "\n", @@ -350,24 +359,24 @@ "const message = await model.invoke(\"Hi there!\");\n", "\n", "console.log(message);\n" - ] + ], + "metadata": { + "id": "R55mK2vCcBN2" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "nC4bLifCcCiW" - }, "source": [ "### OpenAI JS" - ] + ], + "metadata": { + "id": "nC4bLifCcCiW" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "MICH8kIMcFpg" - }, - "outputs": [], "source": [ "const { OpenAI } = require('openai');\n", "\n", @@ -389,24 +398,24 @@ "}\n", "\n", "main();\n" - ] + ], + "metadata": { + "id": "MICH8kIMcFpg" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "D1Q07pEAcGTb" - }, "source": [ "### Anthropic SDK" - ] + ], + "metadata": { + "id": "D1Q07pEAcGTb" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "qBjFcAvgcI3t" - }, - "outputs": [], "source": [ "import os\n", "\n", @@ -414,7 +423,7 @@ "\n", "client = Anthropic(\n", " base_url=\"http://localhost:4000\", # proxy endpoint\n", - " api_key=\"sk-test-proxy-key-123\", # litellm proxy virtual key (example)\n", + " api_key=\"sk-s4xN1IiLTCytwtZFJaYQrA\", # litellm proxy virtual key\n", ")\n", "\n", "message = client.messages.create(\n", @@ -428,33 +437,33 @@ " model=\"claude-3-opus-20240229\",\n", ")\n", "print(message.content)" - ] + ], + "metadata": { + "id": "qBjFcAvgcI3t" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "dFAR4AJGcONI" - }, "source": [ "## /embeddings" - ] + ], + "metadata": { + "id": "dFAR4AJGcONI" + } }, { "cell_type": "markdown", - "metadata": { - "id": "lgNoM281cRzR" - }, "source": [ "### OpenAI Python SDK" - ] + ], + "metadata": { + "id": "lgNoM281cRzR" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "NY3DJhPfcQhA" - }, - "outputs": [], "source": [ "import openai\n", "from openai import OpenAI\n", @@ -469,24 +478,24 @@ ")\n", "\n", "print(response)\n" - ] + ], + "metadata": { + "id": "NY3DJhPfcQhA" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "hmbg-DW6cUZs" - }, "source": [ "### Langchain Embeddings" - ] + ], + "metadata": { + "id": "hmbg-DW6cUZs" + } }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "lX2S8Nl1cWVP" - }, - "outputs": [], "source": [ "from langchain.embeddings import OpenAIEmbeddings\n", "\n", @@ -517,22 +526,24 @@ "\n", "print(f\"TITAN EMBEDDINGS\")\n", "print(query_result[:5])" - ] + ], + "metadata": { + "id": "lX2S8Nl1cWVP" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", - "metadata": { - "id": "oqGbWBCQcYfd" - }, "source": [ "### Curl Request" - ] + ], + "metadata": { + "id": "oqGbWBCQcYfd" + } }, { "cell_type": "markdown", - "metadata": { - "id": "7rkIMV9LcdwQ" - }, "source": [ "\n", "\n", @@ -545,21 +556,10 @@ " }'\n", "```\n", "\n" - ] + ], + "metadata": { + "id": "7rkIMV9LcdwQ" + } } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} + ] +} \ No newline at end of file diff --git a/docker/Dockerfile.non_root b/docker/Dockerfile.non_root index d8a362680e..7e9147a124 100644 --- a/docker/Dockerfile.non_root +++ b/docker/Dockerfile.non_root @@ -79,7 +79,7 @@ ENV PRISMA_BINARY_CACHE_DIR=/app/.cache/prisma-python/binaries \ XDG_CACHE_HOME=/app/.cache \ PATH="/usr/lib/python3.13/site-packages/nodejs/bin:${PATH}" -RUN pip install --no-cache-dir prisma==0.11.0 nodejs-bin==18.4.0a4 \ +RUN pip install --no-cache-dir prisma==0.11.0 nodejs-wheel-binaries==24.12.0 \ && mkdir -p /app/.cache/npm RUN NPM_CONFIG_CACHE=/app/.cache/npm \ diff --git a/docs/my-website/docs/oidc.md b/docs/my-website/docs/oidc.md index b541329aa3..3db4b6ecdc 100644 --- a/docs/my-website/docs/oidc.md +++ b/docs/my-website/docs/oidc.md @@ -106,7 +106,7 @@ model_list: aws_region_name: us-west-2 aws_session_name: "my-test-session" aws_role_name: "arn:aws:iam::335785316107:role/litellm-github-unit-tests-circleci" - aws_web_identity_token: "oidc/example-provider/" + aws_web_identity_token: "oidc/circleci_v2/" ``` #### Amazon IAM Role Configuration for CircleCI v2 -> Bedrock diff --git a/docs/my-website/docs/providers/aws_polly.md b/docs/my-website/docs/providers/aws_polly.md new file mode 100644 index 0000000000..21b0fa679b --- /dev/null +++ b/docs/my-website/docs/providers/aws_polly.md @@ -0,0 +1,364 @@ +# AWS Polly Text to Speech (tts) + +## Overview + +| Property | Details | +|-------|-------| +| Description | Convert text to natural-sounding speech using AWS Polly's neural and standard TTS engines | +| Provider Route on LiteLLM | `aws_polly/` | +| Supported Operations | `/audio/speech` | +| Link to Provider Doc | [AWS Polly SynthesizeSpeech ↗](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html) | + +## Quick Start + +### **LiteLLM SDK** + +```python showLineNumbers title="SDK Usage" +import litellm +from pathlib import Path +import os + +# Set environment variables +os.environ["AWS_ACCESS_KEY_ID"] = "" +os.environ["AWS_SECRET_ACCESS_KEY"] = "" +os.environ["AWS_REGION_NAME"] = "us-east-1" + +# AWS Polly call +speech_file_path = Path(__file__).parent / "speech.mp3" +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="the quick brown fox jumped over the lazy dogs", +) +response.stream_to_file(speech_file_path) +``` + +### **LiteLLM PROXY** + +```yaml showLineNumbers title="proxy_config.yaml" +model_list: + - model_name: polly-neural + litellm_params: + model: aws_polly/neural + aws_access_key_id: "os.environ/AWS_ACCESS_KEY_ID" + aws_secret_access_key: "os.environ/AWS_SECRET_ACCESS_KEY" + aws_region_name: "us-east-1" +``` + +## Polly Engines + +AWS Polly supports different speech synthesis engines. Specify the engine in the model name: + +| Model | Engine | Cost (per 1M chars) | Description | +|-------|--------|---------------------|-------------| +| `aws_polly/standard` | Standard | $4.00 | Original Polly voices, faster and lowest cost | +| `aws_polly/neural` | Neural | $16.00 | More natural, human-like speech (recommended) | +| `aws_polly/generative` | Generative | $30.00 | Most expressive, highest quality (limited voices) | +| `aws_polly/long-form` | Long-form | $100.00 | Optimized for long content like articles | + +### **LiteLLM SDK** + +```python showLineNumbers title="Using Different Engines" +import litellm + +# Neural engine (recommended) +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello world", +) + +# Standard engine (lower cost) +response = litellm.speech( + model="aws_polly/standard", + voice="Joanna", + input="Hello world", +) + +# Generative engine (highest quality) +response = litellm.speech( + model="aws_polly/generative", + voice="Matthew", + input="Hello world", +) +``` + +### **LiteLLM PROXY** + +```yaml showLineNumbers title="proxy_config.yaml" +model_list: + - model_name: polly-neural + litellm_params: + model: aws_polly/neural + aws_region_name: "us-east-1" + - model_name: polly-standard + litellm_params: + model: aws_polly/standard + aws_region_name: "us-east-1" + - model_name: polly-generative + litellm_params: + model: aws_polly/generative + aws_region_name: "us-east-1" +``` + +## Available Voices + +### Native Polly Voices + +AWS Polly has many voices across different languages. Here are popular US English voices: + +| Voice | Gender | Engine Support | +|-------|--------|----------------| +| `Joanna` | Female | Neural, Standard | +| `Matthew` | Male | Neural, Standard, Generative | +| `Ivy` | Female (child) | Neural, Standard | +| `Kendra` | Female | Neural, Standard | +| `Amy` | Female (British) | Neural, Standard | +| `Brian` | Male (British) | Neural, Standard | + +### **LiteLLM SDK** + +```python showLineNumbers title="Using Native Polly Voices" +import litellm + +# US English female +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello from Joanna", +) + +# US English male +response = litellm.speech( + model="aws_polly/neural", + voice="Matthew", + input="Hello from Matthew", +) + +# British English female +response = litellm.speech( + model="aws_polly/neural", + voice="Amy", + input="Hello from Amy", +) +``` + +### **LiteLLM PROXY** + +```yaml showLineNumbers title="proxy_config.yaml" +model_list: + - model_name: polly-joanna + litellm_params: + model: aws_polly/neural + voice: "Joanna" + aws_region_name: "us-east-1" + - model_name: polly-matthew + litellm_params: + model: aws_polly/neural + voice: "Matthew" + aws_region_name: "us-east-1" +``` + +### OpenAI Voice Mappings + +LiteLLM also supports OpenAI voice names, which are automatically mapped to Polly voices: + +| OpenAI Voice | Maps to Polly Voice | +|--------------|---------------------| +| `alloy` | Joanna | +| `echo` | Matthew | +| `fable` | Amy | +| `onyx` | Brian | +| `nova` | Ivy | +| `shimmer` | Kendra | + +### **LiteLLM SDK** + +```python showLineNumbers title="Using OpenAI Voice Names" +import litellm + +# These are equivalent +response = litellm.speech( + model="aws_polly/neural", + voice="alloy", # Maps to Joanna + input="Hello world", +) + +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", # Native Polly voice + input="Hello world", +) +``` + +## SSML Support + +AWS Polly supports SSML (Speech Synthesis Markup Language) for advanced control over speech output. LiteLLM automatically detects SSML input. + +### **LiteLLM SDK** + +```python showLineNumbers title="SSML Example" +import litellm + +ssml_input = """ + + Hello, + this is a test with emphasis + and slower speech. + +""" + +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input=ssml_input, +) +``` + +### **LiteLLM PROXY** + +```bash showLineNumbers title="cURL Request with SSML" +curl -X POST http://localhost:4000/v1/audio/speech \ + -H "Authorization: Bearer sk-1234" \ + -H "Content-Type: application/json" \ + -d '{ + "model": "polly-neural", + "voice": "Joanna", + "input": "Hello world" + }' \ + --output speech.mp3 +``` + +## Supported Parameters + +```python showLineNumbers title="All Parameters" +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", # Required: Voice selection + input="text to convert", # Required: Input text (or SSML) + response_format="mp3", # Optional: mp3, ogg_vorbis, pcm + + # AWS-specific parameters + language_code="en-US", # Optional: Language code + sample_rate="22050", # Optional: Sample rate in Hz +) +``` + +## Response Formats + +| Format | Description | +|--------|-------------| +| `mp3` | MP3 audio (default) | +| `ogg_vorbis` | Ogg Vorbis audio | +| `pcm` | Raw PCM audio | + +### **LiteLLM SDK** + +```python showLineNumbers title="Different Response Formats" +import litellm + +# MP3 (default) +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello", + response_format="mp3", +) + +# Ogg Vorbis +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello", + response_format="ogg_vorbis", +) +``` + +## AWS Authentication + +LiteLLM supports multiple AWS authentication methods. + +### **LiteLLM SDK** + +```python showLineNumbers title="Authentication Options" +import litellm +import os + +# Option 1: Environment variables (recommended) +os.environ["AWS_ACCESS_KEY_ID"] = "your-access-key" +os.environ["AWS_SECRET_ACCESS_KEY"] = "your-secret-key" +os.environ["AWS_REGION_NAME"] = "us-east-1" + +response = litellm.speech(model="aws_polly/neural", voice="Joanna", input="Hello") + +# Option 2: Pass credentials directly +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello", + aws_access_key_id="your-access-key", + aws_secret_access_key="your-secret-key", + aws_region_name="us-east-1", +) + +# Option 3: IAM Role (when running on AWS) +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello", + aws_region_name="us-east-1", +) + +# Option 4: AWS Profile +response = litellm.speech( + model="aws_polly/neural", + voice="Joanna", + input="Hello", + aws_profile_name="my-profile", +) +``` + +### **LiteLLM PROXY** + +```yaml showLineNumbers title="proxy_config.yaml" +model_list: + # Using environment variables + - model_name: polly-neural + litellm_params: + model: aws_polly/neural + aws_access_key_id: "os.environ/AWS_ACCESS_KEY_ID" + aws_secret_access_key: "os.environ/AWS_SECRET_ACCESS_KEY" + aws_region_name: "us-east-1" + + # Using IAM Role (when proxy runs on AWS) + - model_name: polly-neural-iam + litellm_params: + model: aws_polly/neural + aws_region_name: "us-east-1" + + # Using AWS Profile + - model_name: polly-neural-profile + litellm_params: + model: aws_polly/neural + aws_profile_name: "my-profile" +``` + +## Async Support + +```python showLineNumbers title="Async Usage" +import litellm +import asyncio + +async def main(): + response = await litellm.aspeech( + model="aws_polly/neural", + voice="Joanna", + input="Hello from async AWS Polly", + aws_region_name="us-east-1", + ) + + with open("output.mp3", "wb") as f: + f.write(response.content) + +asyncio.run(main()) +``` diff --git a/docs/my-website/docs/providers/bedrock_embedding.md b/docs/my-website/docs/providers/bedrock_embedding.md index e2e7c0dced..3c618fe064 100644 --- a/docs/my-website/docs/providers/bedrock_embedding.md +++ b/docs/my-website/docs/providers/bedrock_embedding.md @@ -172,6 +172,125 @@ print(f"Results available at: {output_s3_uri}") **Note:** The actual embedding results are stored in S3. When the job is completed, download the results from the S3 location specified in `status.metadata['output_file_id']`. The results will be in JSON/JSONL format containing the embedding vectors. +## Amazon Nova Multimodal Embeddings + +Amazon Nova supports multimodal embeddings for text, images, video, and audio. It offers flexible embedding dimensions and purposes optimized for different use cases. + +### Supported Features + +- **Modalities**: Text, Image, Video, Audio +- **Dimensions**: 256, 384, 1024, 3072 (default: 3072) +- **Embedding Purposes**: + - `GENERIC_INDEX` (default) + - `GENERIC_RETRIEVAL` + - `TEXT_RETRIEVAL` + - `IMAGE_RETRIEVAL` + - `VIDEO_RETRIEVAL` + - `AUDIO_RETRIEVAL` + - `CLASSIFICATION` + - `CLUSTERING` + +### Text Embedding + +```python +from litellm import embedding + +response = embedding( + model="bedrock/amazon.nova-2-multimodal-embeddings-v1:0", + input=["Hello, world!"], + aws_region_name="us-east-1", + dimensions=1024, # Optional: 256, 384, 1024, or 3072 +) + +print(response.data[0].embedding) +``` + +### Image Embedding with Base64 + +Amazon Nova accepts images in base64 format using the standard data URL format: + +```python +import base64 +from litellm import embedding + +# Method 1: Load image from file +with open("image.jpg", "rb") as image_file: + image_data = base64.b64encode(image_file.read()).decode('utf-8') + # Create data URL with proper format + image_base64 = f"data:image/jpeg;base64,{image_data}" + +response = embedding( + model="bedrock/amazon.nova-2-multimodal-embeddings-v1:0", + input=[image_base64], + aws_region_name="us-east-1", + dimensions=1024, +) + +print(f"Image embedding: {response.data[0].embedding[:10]}...") # First 10 dimensions +``` + +#### Supported Image Formats + +Nova supports the following image formats: +- JPEG: `data:image/jpeg;base64,...` +- PNG: `data:image/png;base64,...` +- GIF: `data:image/gif;base64,...` +- WebP: `data:image/webp;base64,...` + +#### Complete Example with Error Handling + +```python +import base64 +from litellm import embedding + +def get_image_embedding(image_path, dimensions=1024): + """ + Get embedding for an image file. + + Args: + image_path: Path to the image file + dimensions: Embedding dimension (256, 384, 1024, or 3072) + + Returns: + List of embedding values + """ + try: + # Determine image format from file extension + if image_path.lower().endswith('.png'): + mime_type = "image/png" + elif image_path.lower().endswith(('.jpg', '.jpeg')): + mime_type = "image/jpeg" + elif image_path.lower().endswith('.gif'): + mime_type = "image/gif" + elif image_path.lower().endswith('.webp'): + mime_type = "image/webp" + else: + raise ValueError(f"Unsupported image format: {image_path}") + + # Read and encode image + with open(image_path, "rb") as image_file: + image_data = base64.b64encode(image_file.read()).decode('utf-8') + image_base64 = f"data:{mime_type};base64,{image_data}" + + # Get embedding + response = embedding( + model="bedrock/amazon.nova-2-multimodal-embeddings-v1:0", + input=[image_base64], + aws_region_name="us-east-1", + dimensions=dimensions, + ) + + return response.data[0].embedding + + except Exception as e: + print(f"Error getting image embedding: {e}") + raise + +# Example usage +image_embedding = get_image_embedding("photo.jpg", dimensions=1024) +print(f"Got embedding with {len(image_embedding)} dimensions") +``` + ### Error Handling #### Common Errors diff --git a/docs/my-website/docs/providers/xiaomi_mimo.md b/docs/my-website/docs/providers/xiaomi_mimo.md new file mode 100644 index 0000000000..040f514401 --- /dev/null +++ b/docs/my-website/docs/providers/xiaomi_mimo.md @@ -0,0 +1,137 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Xiaomi MiMo +https://platform.xiaomimimo.com/#/docs + +:::tip + +**We support ALL Xiaomi MiMo models, just set `model=xiaomi_mimo/` as a prefix when sending litellm requests** + +::: + +## API Key +```python +# env variable +os.environ['XIAOMI_MIMO_API_KEY'] +``` + +## Sample Usage +```python +from litellm import completion +import os + +os.environ['XIAOMI_MIMO_API_KEY'] = "" +response = completion( + model="xiaomi_mimo/mimo-v2-flash", + messages=[ + { + "role": "user", + "content": "What's the weather like in Boston today in Fahrenheit?", + } + ], + max_tokens=1024, + temperature=0.3, + top_p=0.95, +) +print(response) +``` + +## Sample Usage - Streaming +```python +from litellm import completion +import os + +os.environ['XIAOMI_MIMO_API_KEY'] = "" +response = completion( + model="xiaomi_mimo/mimo-v2-flash", + messages=[ + { + "role": "user", + "content": "What's the weather like in Boston today in Fahrenheit?", + } + ], + stream=True, + max_tokens=1024, + temperature=0.3, + top_p=0.95, +) + +for chunk in response: + print(chunk) +``` + + +## Usage with LiteLLM Proxy Server + +Here's how to call a Xiaomi MiMo model with the LiteLLM Proxy Server + +1. Modify the config.yaml + + ```yaml + model_list: + - model_name: my-model + litellm_params: + model: xiaomi_mimo/ # add xiaomi_mimo/ prefix to route as Xiaomi MiMo provider + api_key: api-key # api key to send your model + ``` + + +2. Start the proxy + + ```bash + $ litellm --config /path/to/config.yaml + ``` + +3. Send Request to LiteLLM Proxy Server + + + + + + ```python + import openai + client = openai.OpenAI( + api_key="sk-1234", # pass litellm proxy key, if you're using virtual keys + base_url="http://0.0.0.0:4000" # litellm-proxy-base url + ) + + response = client.chat.completions.create( + model="my-model", + messages = [ + { + "role": "user", + "content": "what llm are you" + } + ], + ) + + print(response) + ``` + + + + + ```shell + curl --location 'http://0.0.0.0:4000/chat/completions' \ + --header 'Authorization: Bearer sk-1234' \ + --header 'Content-Type: application/json' \ + --data '{ + "model": "my-model", + "messages": [ + { + "role": "user", + "content": "what llm are you" + } + ], + }' + ``` + + + + +## Supported Models + +| Model Name | Usage | +|------------|-------| +| mimo-v2-flash | `completion(model="xiaomi_mimo/mimo-v2-flash", messages)` | diff --git a/docs/my-website/docs/proxy/access_control.md b/docs/my-website/docs/proxy/access_control.md index 678032be9a..7ada3f8b23 100644 --- a/docs/my-website/docs/proxy/access_control.md +++ b/docs/my-website/docs/proxy/access_control.md @@ -51,7 +51,7 @@ LiteLLM has two types of roles: | Role Name | Permissions | |-----------|-------------| | `org_admin` | Admin over a specific organization. Can create teams and users within their organization ✨ **Premium Feature** | -| `team_admin` | Admin over a specific team. Can manage team members, update team settings, and create keys for their team. ✨ **Premium Feature** | +| `team_admin` | Admin over a specific team. Can manage team members, update team member permissions, and create keys for their team. ✨ **Premium Feature** | ## What Can Each Role Do? diff --git a/docs/my-website/docs/proxy/alerting.md b/docs/my-website/docs/proxy/alerting.md index 38d6d47be4..4cbcd0cffc 100644 --- a/docs/my-website/docs/proxy/alerting.md +++ b/docs/my-website/docs/proxy/alerting.md @@ -215,16 +215,16 @@ general_settings: alerting: ["slack"] alerting_threshold: 0.0001 # (Seconds) set an artificially low threshold for testing alerting alert_to_webhook_url: { - "llm_exceptions": "example-slack-webhook-url", - "llm_too_slow": "example-slack-webhook-url", - "llm_requests_hanging": "example-slack-webhook-url", - "budget_alerts": "example-slack-webhook-url", - "db_exceptions": "example-slack-webhook-url", - "daily_reports": "example-slack-webhook-url", - "spend_reports": "example-slack-webhook-url", - "cooldown_deployment": "example-slack-webhook-url", - "new_model_added": "example-slack-webhook-url", - "outage_alerts": "example-slack-webhook-url", + "llm_exceptions": "https://hooks.slack.com/services/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", + "llm_too_slow": "https://hooks.slack.com/services/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", + "llm_requests_hanging": "https://hooks.slack.com/services/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", + "budget_alerts": "https://hooks.slack.com/services/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", + "db_exceptions": "https://hooks.slack.com/services/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", + "daily_reports": "https://hooks.slack.com/services/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", + "spend_reports": "https://hooks.slack.com/services/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", + "cooldown_deployment": "https://hooks.slack.com/services/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", + "new_model_added": "https://hooks.slack.com/services/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", + "outage_alerts": "https://hooks.slack.com/services/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", } litellm_settings: @@ -399,7 +399,7 @@ curl -X GET --location 'http://0.0.0.0:4000/health/services?service=webhook' \ { "spend": 1, # the spend for the 'event_group' "max_budget": 0, # the 'max_budget' set for the 'event_group' - "token": "example-api-key-123", + "token": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_id": "default_user_id", "team_id": null, "user_email": null, diff --git a/docs/my-website/docs/proxy/call_hooks.md b/docs/my-website/docs/proxy/call_hooks.md index fa420009cf..fe865f67e0 100644 --- a/docs/my-website/docs/proxy/call_hooks.md +++ b/docs/my-website/docs/proxy/call_hooks.md @@ -17,6 +17,7 @@ import Image from '@theme/IdealImage'; | `async_pre_call_hook` | Modify incoming request before it's sent to model | Before the LLM API call is made | | `async_moderation_hook` | Run checks on input in parallel to LLM API call | In parallel with the LLM API call | | `async_post_call_success_hook` | Modify outgoing response (non-streaming) | After successful LLM API call, for non-streaming responses | +| `async_post_call_failure_hook` | Transform error responses sent to clients | After failed LLM API call | | `async_post_call_streaming_hook` | Modify outgoing response (streaming) | After successful LLM API call, for streaming responses | See a complete example with our [parallel request rate limiter](https://github.com/BerriAI/litellm/blob/main/litellm/proxy/hooks/parallel_request_limiter.py) @@ -60,7 +61,21 @@ class MyCustomHandler(CustomLogger): # https://docs.litellm.ai/docs/observabilit original_exception: Exception, user_api_key_dict: UserAPIKeyAuth, traceback_str: Optional[str] = None, - ): + ) -> Optional[HTTPException]: + """ + Transform error responses sent to clients. + + Return an HTTPException to replace the original error with a user-friendly message. + Return None to use the original exception. + + Example: + if isinstance(original_exception, litellm.ContextWindowExceededError): + return HTTPException( + status_code=400, + detail="Your prompt is too long. Please reduce the length and try again." + ) + return None # Use original exception + """ pass async def async_post_call_success_hook( @@ -339,3 +354,38 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \ "usage": {} } ``` + +## Advanced - Transform Error Responses + +Transform technical API errors into user-friendly messages using `async_post_call_failure_hook`. Return an `HTTPException` to replace the original error, or `None` to use the original exception. + +```python +from litellm.integrations.custom_logger import CustomLogger +from fastapi import HTTPException +from typing import Optional +import litellm + +class MyErrorTransformer(CustomLogger): + async def async_post_call_failure_hook( + self, + request_data: dict, + original_exception: Exception, + user_api_key_dict: UserAPIKeyAuth, + traceback_str: Optional[str] = None, + ) -> Optional[HTTPException]: + if isinstance(original_exception, litellm.ContextWindowExceededError): + return HTTPException( + status_code=400, + detail="Your prompt is too long. Please reduce the length and try again." + ) + if isinstance(original_exception, litellm.RateLimitError): + return HTTPException( + status_code=429, + detail="Rate limit exceeded. Please try again in a moment." + ) + return None # Use original exception + +proxy_handler_instance = MyErrorTransformer() +``` + +**Result:** Clients receive `"Your prompt is too long..."` instead of `"ContextWindowExceededError: Prompt exceeds context window"`. diff --git a/docs/my-website/docs/proxy/config_settings.md b/docs/my-website/docs/proxy/config_settings.md index 4ee091e2e8..343cbd0e53 100644 --- a/docs/my-website/docs/proxy/config_settings.md +++ b/docs/my-website/docs/proxy/config_settings.md @@ -554,6 +554,8 @@ router_settings: | EMAIL_SIGNATURE | Custom HTML footer/signature for all emails. Can include HTML tags for formatting and links. | EMAIL_SUBJECT_INVITATION | Custom subject template for invitation emails. | EMAIL_SUBJECT_KEY_CREATED | Custom subject template for key creation emails. +| EMAIL_BUDGET_ALERT_MAX_SPEND_ALERT_PERCENTAGE | Percentage of max budget that triggers alerts (as decimal: 0.8 = 80%). Default is 0.8 +| EMAIL_BUDGET_ALERT_TTL | Time-to-live for budget alert deduplication in seconds. Default is 86400 (24 hours) | ENKRYPTAI_API_BASE | Base URL for EnkryptAI Guardrails API. **Default is https://api.enkryptai.com** | ENKRYPTAI_API_KEY | API key for EnkryptAI Guardrails service | EXPERIMENTAL_MULTI_INSTANCE_RATE_LIMITING | Flag to enable new multi-instance rate limiting. **Default is False** diff --git a/docs/my-website/docs/proxy/cost_tracking.md b/docs/my-website/docs/proxy/cost_tracking.md index 26a4920c09..019cd62c62 100644 --- a/docs/my-website/docs/proxy/cost_tracking.md +++ b/docs/my-website/docs/proxy/cost_tracking.md @@ -722,7 +722,7 @@ curl -X GET 'http://localhost:4000/global/spend/report?start_date=2024-04-01&end ```shell [ { - "api_key": "example-api-key-123", + "api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "total_cost": 0.3201286305151999, "total_input_tokens": 36.0, "total_output_tokens": 1593.0, @@ -766,7 +766,7 @@ curl -X GET 'http://localhost:4000/global/spend/report?start_date=2024-04-01&end ```shell [ { - "api_key": "example-api-key-123", + "api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "total_cost": 0.00013132, "total_input_tokens": 105.0, "total_output_tokens": 872.0, @@ -1151,7 +1151,7 @@ curl -X GET "http://0.0.0.0:4000/spend/logs?request_id= create a new user. After creating a new user, they will receive an email invite a the email you specified when creating the user. +### 3. Configure Budget Alerts (Optional) + +Enable budget alert emails by adding "email" to the `alerts` list in your proxy configuration: + +```yaml showLineNumbers title="proxy_config.yaml" +general_settings: + alerts: ["email"] +``` + +#### Budget Alert Types + +**Soft Budget Alerts**: Automatically triggered when a key exceeds its soft budget limit. These alerts help you monitor spending before reaching critical thresholds. + +**Max Budget Alerts**: Automatically triggered when a key reaches a specified percentage of its maximum budget (default: 80%). These alerts warn you when you're approaching budget exhaustion. + +Both alert types send a maximum of one email per 24-hour period to prevent spam. + +#### Configuration Options + +Customize budget alert behavior using these environment variables: + +```yaml showLineNumbers title=".env" +# Percentage of max budget that triggers alerts (as decimal: 0.8 = 80%) +EMAIL_BUDGET_ALERT_MAX_SPEND_ALERT_PERCENTAGE=0.8 + +# Time-to-live for alert deduplication in seconds (default: 24 hours) +EMAIL_BUDGET_ALERT_TTL=86400 +``` + ## Email Templates diff --git a/docs/my-website/docs/proxy/guardrails/litellm_content_filter.md b/docs/my-website/docs/proxy/guardrails/litellm_content_filter.md index f247a327cd..5ba39ba35e 100644 --- a/docs/my-website/docs/proxy/guardrails/litellm_content_filter.md +++ b/docs/my-website/docs/proxy/guardrails/litellm_content_filter.md @@ -257,7 +257,7 @@ Contact me at [EMAIL_REDACTED] | `amex` | American Express cards | `3782-822463-10005` | | `aws_access_key` | AWS access keys | `AKIAIOSFODNN7EXAMPLE` | | `aws_secret_key` | AWS secret keys | `wJalrXUtnFEMI/K7MDENG/bPxRfi...` | -| `github_token` | GitHub tokens | `example-github-token-123` | +| `github_token` | GitHub tokens | `ghp_16C7e42F292c6912E7710c838347Ae178B4a` | ### Using Prebuilt Patterns diff --git a/docs/my-website/docs/proxy/guardrails/pillar_security.md b/docs/my-website/docs/proxy/guardrails/pillar_security.md index de983d2a5d..099919dc39 100644 --- a/docs/my-website/docs/proxy/guardrails/pillar_security.md +++ b/docs/my-website/docs/proxy/guardrails/pillar_security.md @@ -790,7 +790,7 @@ curl -X POST "http://localhost:4000/v1/chat/completions" \ "messages": [ { "role": "user", - "content": "Generate python code that accesses my Github repo using this PAT: example-github-token-123" + "content": "Generate python code that accesses my Github repo using this PAT: ghp_A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6Q7r8" } ], "max_tokens": 50 @@ -815,7 +815,7 @@ curl -X POST "http://localhost:4000/v1/chat/completions" \ "type": "github_token", "start_idx": 66, "end_idx": 106, - "evidence": "example-github-token-123", + "evidence": "ghp_A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6Q7r8", } ] } diff --git a/docs/my-website/docs/proxy/multiple_admins.md b/docs/my-website/docs/proxy/multiple_admins.md index cf122f85b9..479b9323ad 100644 --- a/docs/my-website/docs/proxy/multiple_admins.md +++ b/docs/my-website/docs/proxy/multiple_admins.md @@ -89,7 +89,7 @@ curl -X POST 'http://0.0.0.0:4000/team/update' \ "id": "bd136c28-edd0-4cb6-b963-f35464cf6f5a", "updated_at": "2024-06-08 23:41:14.793", "changed_by": "krrish@berri.ai", # 👈 CHANGED BY - "changed_by_api_key": "example-api-key-123", + "changed_by_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "action": "updated", "table_name": "LiteLLM_TeamTable", "object_id": "8bf18b11-7f52-4717-8e1f-7c65f9d01e52", diff --git a/docs/my-website/docs/proxy/prod.md b/docs/my-website/docs/proxy/prod.md index 71f0317ced..76698071c6 100644 --- a/docs/my-website/docs/proxy/prod.md +++ b/docs/my-website/docs/proxy/prod.md @@ -33,7 +33,7 @@ litellm_settings: Set slack webhook url in your env ```shell -export SLACK_WEBHOOK_URL="example-slack-webhook-url" +export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/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" ``` Turn off FASTAPI's default info logs diff --git a/docs/my-website/docs/proxy/quick_start.md b/docs/my-website/docs/proxy/quick_start.md index cf1ab78b35..a343bb00e9 100644 --- a/docs/my-website/docs/proxy/quick_start.md +++ b/docs/my-website/docs/proxy/quick_start.md @@ -400,7 +400,7 @@ from anthropic import Anthropic client = Anthropic( base_url="http://localhost:4000", # proxy endpoint - api_key="sk-test-proxy-key-123", # litellm proxy virtual key (example) + api_key="sk-s4xN1IiLTCytwtZFJaYQrA", # litellm proxy virtual key ) message = client.messages.create( diff --git a/docs/my-website/docs/proxy/user_keys.md b/docs/my-website/docs/proxy/user_keys.md index 72ec8ccd75..21e1d3dbf4 100644 --- a/docs/my-website/docs/proxy/user_keys.md +++ b/docs/my-website/docs/proxy/user_keys.md @@ -285,7 +285,7 @@ from anthropic import Anthropic client = Anthropic( base_url="http://localhost:4000", # proxy endpoint - api_key="sk-test-proxy-key-123", # litellm proxy virtual key (example) + api_key="sk-s4xN1IiLTCytwtZFJaYQrA", # litellm proxy virtual key ) message = client.messages.create( diff --git a/docs/my-website/docs/text_to_speech.md b/docs/my-website/docs/text_to_speech.md index ea2a9c2eff..ce298b538d 100644 --- a/docs/my-website/docs/text_to_speech.md +++ b/docs/my-website/docs/text_to_speech.md @@ -14,7 +14,7 @@ import TabItem from '@theme/TabItem'; | Fallbacks | ✅ | Works between supported models | | Loadbalancing | ✅ | Works between supported models | | Guardrails | ✅ | Applies to input text (non-streaming only) | -| Supported Providers | OpenAI, Azure OpenAI, Vertex AI | | +| Supported Providers | OpenAI, Azure OpenAI, Vertex AI, AWS Polly, ElevenLabs | | ## **LiteLLM Python SDK Usage** ### Quick Start @@ -101,6 +101,7 @@ litellm --config /path/to/config.yaml | OpenAI | [Usage](#quick-start) | | Azure OpenAI| [Usage](../docs/providers/azure#azure-text-to-speech-tts) | | Azure AI Speech Service (AVA)| [Usage](../docs/providers/azure_ai_speech) | +| AWS Polly | [Usage](#aws-polly-text-to-speech) | | Vertex AI | [Usage](../docs/providers/vertex#text-to-speech-apis) | | Gemini | [Usage](#gemini-text-to-speech) | | ElevenLabs | [Usage](../docs/providers/elevenlabs#text-to-speech-tts) | @@ -246,6 +247,12 @@ curl http://0.0.0.0:4000/v1/audio/speech \ --output vertex_speech.mp3 ``` +### AWS Polly Text-to-Speech + +AWS Polly provides neural and standard text-to-speech engines with support for multiple voices and languages. + +See the [AWS Polly provider documentation](../docs/providers/aws_polly) for detailed usage examples. + ## ✨ Enterprise LiteLLM Proxy - Set Max Request File Size Use this when you want to limit the file size for requests sent to `audio/transcriptions` diff --git a/docs/my-website/docusaurus.config.js b/docs/my-website/docusaurus.config.js index f6e61895e6..32d5d800b7 100644 --- a/docs/my-website/docusaurus.config.js +++ b/docs/my-website/docusaurus.config.js @@ -8,7 +8,7 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula'); const inkeepConfig = { baseSettings: { - apiKey: "test-inkeep-api-key-123", + apiKey: "0cb9c9916ec71bfe0e53c9d7f83ff046daee3fa9ef318f6a", organizationDisplayName: 'liteLLM', primaryBrandColor: '#4965f5', theme: { diff --git a/docs/my-website/img/ui_cloudzero.png b/docs/my-website/img/ui_cloudzero.png new file mode 100644 index 0000000000..2ae39ed86d Binary files /dev/null and b/docs/my-website/img/ui_cloudzero.png differ diff --git a/docs/my-website/package-lock.json b/docs/my-website/package-lock.json index a48056491f..8af06ec1a9 100644 --- a/docs/my-website/package-lock.json +++ b/docs/my-website/package-lock.json @@ -180,6 +180,7 @@ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.44.0.tgz", "integrity": "sha512-/FRKUM1G4xn3vV8+9xH1WJ9XknU8rkBGlefruq9jDhYUAvYozKimhrmC2pRqw/RyHhPivmgZCRuC8jHP8piz4Q==", "license": "MIT", + "peer": true, "dependencies": { "@algolia/client-common": "5.44.0", "@algolia/requester-browser-xhr": "5.44.0", @@ -327,6 +328,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -2161,6 +2163,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2183,6 +2186,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -2292,6 +2296,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -2713,6 +2718,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3589,6 +3595,7 @@ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.1.tgz", "integrity": "sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA==", "license": "MIT", + "peer": true, "dependencies": { "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", @@ -4627,6 +4634,7 @@ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", "license": "MIT", + "peer": true, "dependencies": { "@types/mdx": "^2.0.0" }, @@ -7183,6 +7191,7 @@ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -7840,6 +7849,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.6.tgz", "integrity": "sha512-p/jUvulfgU7oKtj6Xpk8cA2Y1xKTtICGpJYeJXz2YVO2UcvjQgeRMLDGfDeqeRW2Ta+0QNFwcc8X3GH8SxZz6w==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -8264,6 +8274,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -8343,6 +8354,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -8388,6 +8400,7 @@ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.44.0.tgz", "integrity": "sha512-f8IpsbdQjzTjr/4mJ/jv5UplrtyMnnciGax6/B0OnLCs2/GJTK13O4Y7Ff1AvJVAaztanH+m5nzPoUq6EAy+aA==", "license": "MIT", + "peer": true, "dependencies": { "@algolia/abtesting": "1.10.0", "@algolia/client-abtesting": "5.44.0", @@ -8421,9 +8434,9 @@ } }, "node_modules/altcha-lib": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/altcha-lib/-/altcha-lib-1.3.0.tgz", - "integrity": "sha512-PpFg/JPuR+Jiud7Vs54XSDqDxvylcp+0oDa/i1ARxBA/iKDqLeNlO8PorQbfuDTMVLYRypAa/2VDK3nbBTAu5A==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/altcha-lib/-/altcha-lib-1.4.1.tgz", + "integrity": "sha512-MAXP9tkQOA2SE9Gwoe3LAcZbcDpp3XzYc5GDVej/y3eMNaFG/eVnRY1/7SGFW0RPsViEjPf+hi5eANjuZrH1xA==", "license": "MIT" }, "node_modules/ansi-align": { @@ -9029,6 +9042,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", @@ -9364,6 +9378,7 @@ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "11.0.3", "@chevrotain/gast": "11.0.3", @@ -10127,6 +10142,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -10446,6 +10462,7 @@ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10" } @@ -10855,6 +10872,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -12111,6 +12129,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -16990,6 +17009,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -17610,6 +17630,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -18513,6 +18534,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -19404,6 +19426,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -19413,6 +19436,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -19496,6 +19520,7 @@ "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/react": "*" }, @@ -19597,6 +19622,7 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -21615,7 +21641,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tunnel-agent": { "version": "0.6.0", @@ -22002,6 +22029,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -22353,6 +22381,7 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", diff --git a/docs/my-website/release_notes/v1.80.11-stable/index.md b/docs/my-website/release_notes/v1.80.11-stable/index.md new file mode 100644 index 0000000000..b671b79560 --- /dev/null +++ b/docs/my-website/release_notes/v1.80.11-stable/index.md @@ -0,0 +1,385 @@ +--- +title: "[Preview] v1.80.11 - Google Interactions API" +slug: "v1-80-11" +date: 2025-12-20T10:00:00 +authors: + - name: Krrish Dholakia + title: CEO, LiteLLM + url: https://www.linkedin.com/in/krish-d/ + image_url: https://pbs.twimg.com/profile_images/1298587542745358340/DZv3Oj-h_400x400.jpg + - name: Ishaan Jaff + title: CTO, LiteLLM + url: https://www.linkedin.com/in/reffajnaahsi/ + image_url: https://pbs.twimg.com/profile_images/1613813310264340481/lz54oEiB_400x400.jpg +hide_table_of_contents: false +--- + +import Image from '@theme/IdealImage'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Deploy this version + + + + +``` showLineNumbers title="docker run litellm" +docker run \ +-e STORE_MODEL_IN_DB=True \ +-p 4000:4000 \ +docker.litellm.ai/berriai/litellm:v1.80.11.rc.1 +``` + + + + + +``` showLineNumbers title="pip install litellm" +pip install litellm==1.80.11 +``` + + + + +--- + +## Key Highlights + +- **Gemini 3 Flash Preview** - [Day 0 support for Google's Gemini 3 Flash Preview with reasoning capabilities](../../docs/providers/gemini) +- **Stability AI Image Generation** - [New provider for Stability AI image generation and editing](../../docs/providers/stability) +- **LiteLLM Content Filter** - [Built-in guardrails for harmful content, bias, and PII detection with image support](../../docs/proxy/guardrails/litellm_content_filter) +- **New Provider: Venice.ai** - Support for Venice.ai API via providers.json +- **Unified Skills API** - [Skills API works across Anthropic, Vertex, Azure, and Bedrock](../../docs/skills) +- **Azure Sentinel Logging** - [New logging integration for Azure Sentinel](../../docs/observability/azure_sentinel) +- **Guardrails Load Balancing** - [Load balance between multiple guardrail providers](../../docs/proxy/guardrails) +- **Email Budget Alerts** - [Send email notifications when budgets are reached](../../docs/proxy/email) +- **Cloudzero Integration on UI** - Setup your Cloudzero Integration Directly on the UI + +--- + +### Cloudzero Integration on UI + + + +Users can now configure their Cloudzero Integration directly on the UI. + +--- +### Performance: 50% Reduction in Memory Usage and Import Latency for the LiteLLM SDK + +We've completely restructured `litellm.__init__.py` to defer heavy imports until they're actually needed, implementing lazy loading for **109 components**. + +This refactoring includes **41 provider config classes**, **40 utility functions**, cache implementations (Redis, DualCache, InMemoryCache), HTTP handlers, logging, types, and other heavy dependencies. Heavy libraries like tiktoken and boto3 are now loaded on-demand rather than eagerly at import time. + +This makes LiteLLM especially beneficial for serverless functions, Lambda deployments, and containerized environments where cold start times and memory footprint matter. + +--- + +## New Providers and Endpoints + +### New Providers (5 new providers) + +| Provider | Supported LiteLLM Endpoints | Description | +| -------- | ------------------- | ----------- | +| [Stability AI](../../docs/providers/stability) | `/images/generations`, `/images/edits` | Stable Diffusion 3, SD3.5, image editing and generation | +| Venice.ai | `/chat/completions`, `/messages`, `/responses` | Venice.ai API integration via providers.json | +| [Pydantic AI Agents](../../docs/providers/pydantic_ai_agent) | `/a2a` | Pydantic AI agents for A2A protocol workflows | +| [VertexAI Agent Engine](../../docs/providers/vertex_ai_agent_engine) | `/a2a` | Google Vertex AI Agent Engine for agentic workflows | +| [LinkUp Search](../../docs/search/linkup) | `/search` | LinkUp web search API integration | + +### New LLM API Endpoints (2 new endpoints) + +| Endpoint | Method | Description | Documentation | +| -------- | ------ | ----------- | ------------- | +| `/interactions` | POST | Google Interactions API for conversational AI | [Docs](../../docs/interactions) | +| `/search` | POST | RAG Search API with rerankers | [Docs](../../docs/search/index) | + +--- + +## New Models / Updated Models + +#### New Model Support (55+ new models) + +| Provider | Model | Context Window | Input ($/1M tokens) | Output ($/1M tokens) | Features | +| -------- | ----- | -------------- | ------------------- | -------------------- | -------- | +| Gemini | `gemini/gemini-3-flash-preview` | 1M | $0.50 | $3.00 | Reasoning, vision, audio, video, PDF | +| Vertex AI | `vertex_ai/gemini-3-flash-preview` | 1M | $0.50 | $3.00 | Reasoning, vision, audio, video, PDF | +| Azure AI | `azure_ai/deepseek-v3.2` | 164K | $0.58 | $1.68 | Reasoning, function calling, caching | +| Azure AI | `azure_ai/cohere-rerank-v4.0-pro` | 32K | $0.0025/query | - | Rerank | +| Azure AI | `azure_ai/cohere-rerank-v4.0-fast` | 32K | $0.002/query | - | Rerank | +| OpenRouter | `openrouter/openai/gpt-5.2` | 400K | $1.75 | $14.00 | Reasoning, vision, caching | +| OpenRouter | `openrouter/openai/gpt-5.2-pro` | 400K | $21.00 | $168.00 | Reasoning, vision | +| OpenRouter | `openrouter/mistralai/devstral-2512` | 262K | $0.15 | $0.60 | Function calling | +| OpenRouter | `openrouter/mistralai/ministral-3b-2512` | 131K | $0.10 | $0.10 | Function calling, vision | +| OpenRouter | `openrouter/mistralai/ministral-8b-2512` | 262K | $0.15 | $0.15 | Function calling, vision | +| OpenRouter | `openrouter/mistralai/ministral-14b-2512` | 262K | $0.20 | $0.20 | Function calling, vision | +| OpenRouter | `openrouter/mistralai/mistral-large-2512` | 262K | $0.50 | $1.50 | Function calling, vision | +| OpenAI | `gpt-4o-transcribe-diarize` | 16K | $6.00/audio | - | Audio transcription with diarization | +| OpenAI | `gpt-image-1.5-2025-12-16` | - | Various | Various | Image generation | +| Stability | `stability/sd3-large` | - | - | $0.065/image | Image generation | +| Stability | `stability/sd3.5-large` | - | - | $0.065/image | Image generation | +| Stability | `stability/stable-image-ultra` | - | - | $0.08/image | Image generation | +| Stability | `stability/inpaint` | - | - | $0.005/image | Image editing | +| Stability | `stability/outpaint` | - | - | $0.004/image | Image editing | +| Bedrock | `stability.stable-conservative-upscale-v1:0` | - | - | $0.40/image | Image upscaling | +| Bedrock | `stability.stable-creative-upscale-v1:0` | - | - | $0.60/image | Image upscaling | +| Vertex AI | `vertex_ai/deepseek-ai/deepseek-ocr-maas` | - | $0.30 | $1.20 | OCR | +| LinkUp | `linkup/search` | - | $5.87/1K queries | - | Web search | +| LinkUp | `linkup/search-deep` | - | $58.67/1K queries | - | Deep web search | +| GitHub Copilot | 20+ models | Various | - | - | Chat completions | + +#### Features + +- **[Gemini](../../docs/providers/gemini)** + - Add Gemini 3 Flash Preview day 0 support with reasoning - [PR #18135](https://github.com/BerriAI/litellm/pull/18135) + - Support extra_headers in batch embeddings - [PR #18004](https://github.com/BerriAI/litellm/pull/18004) + - Propagate token usage when generating images - [PR #17987](https://github.com/BerriAI/litellm/pull/17987) + - Use JSON instead of form-data for image edit requests - [PR #18012](https://github.com/BerriAI/litellm/pull/18012) + - Fix web search requests count - [PR #17921](https://github.com/BerriAI/litellm/pull/17921) +- **[Anthropic](../../docs/providers/anthropic)** + - Use dynamic max_tokens based on model - [PR #17900](https://github.com/BerriAI/litellm/pull/17900) + - Fix claude-3-7-sonnet max_tokens to 64K default - [PR #17979](https://github.com/BerriAI/litellm/pull/17979) + - Add OpenAI-compatible API with modify_params=True - [PR #17106](https://github.com/BerriAI/litellm/pull/17106) +- **[Vertex AI](../../docs/providers/vertex)** + - Add Gemini 3 Flash Preview support - [PR #18164](https://github.com/BerriAI/litellm/pull/18164) + - Add reasoning support for gemini-3-flash-preview - [PR #18175](https://github.com/BerriAI/litellm/pull/18175) + - Fix image edit credential source - [PR #18121](https://github.com/BerriAI/litellm/pull/18121) + - Pass credentials to PredictionServiceClient for custom endpoints - [PR #17757](https://github.com/BerriAI/litellm/pull/17757) + - Fix multimodal embeddings for text + base64 image combinations - [PR #18172](https://github.com/BerriAI/litellm/pull/18172) + - Add OCR support for DeepSeek model - [PR #17971](https://github.com/BerriAI/litellm/pull/17971) +- **[Azure AI](../../docs/providers/azure_ai)** + - Add Azure Cohere 4 reranking models - [PR #17961](https://github.com/BerriAI/litellm/pull/17961) + - Add Azure DeepSeek V3.2 versions - [PR #18019](https://github.com/BerriAI/litellm/pull/18019) + - Return AzureAnthropicConfig for Claude models in get_provider_chat_config - [PR #18086](https://github.com/BerriAI/litellm/pull/18086) +- **[Fireworks AI](../../docs/providers/fireworks_ai)** + - Add reasoning param support for Fireworks AI models - [PR #17967](https://github.com/BerriAI/litellm/pull/17967) +- **[Bedrock](../../docs/providers/bedrock)** + - Add Qwen 2 and Qwen 3 to get_bedrock_model_id - [PR #18100](https://github.com/BerriAI/litellm/pull/18100) + - Remove ttl field when routing to bedrock - [PR #18049](https://github.com/BerriAI/litellm/pull/18049) + - Add Bedrock Stability image edit models - [PR #18254](https://github.com/BerriAI/litellm/pull/18254) +- **[Perplexity](../../docs/providers/perplexity)** + - Use API-provided cost instead of manual calculation - [PR #17887](https://github.com/BerriAI/litellm/pull/17887) +- **[OpenAI](../../docs/providers/openai)** + - Add diarize model for audio transcription - [PR #18117](https://github.com/BerriAI/litellm/pull/18117) + - Add gpt-image-1.5-2025-12-16 in model cost map - [PR #18107](https://github.com/BerriAI/litellm/pull/18107) + - Fix cost calculation of gpt-image-1 model - [PR #17966](https://github.com/BerriAI/litellm/pull/17966) +- **[GitHub Copilot](../../docs/providers/github_copilot)** + - Add github_copilot model info - [PR #17858](https://github.com/BerriAI/litellm/pull/17858) +- **[Custom LLM](../../docs/providers/custom_llm_server)** + - Add image_edit and aimage_edit support - [PR #17999](https://github.com/BerriAI/litellm/pull/17999) + +### Bug Fixes + +- **[Gemini](../../docs/providers/gemini)** + - Fix pricing for Gemini 3 Flash on Vertex AI - [PR #18202](https://github.com/BerriAI/litellm/pull/18202) + - Add output_cost_per_image_token for gemini-2.5-flash-image models - [PR #18156](https://github.com/BerriAI/litellm/pull/18156) + - Fix properties should be non-empty for OBJECT type - [PR #18237](https://github.com/BerriAI/litellm/pull/18237) +- **[Qwen](../../docs/providers/fireworks_ai)** + - Add qwen3-embedding-8b input per token price - [PR #18018](https://github.com/BerriAI/litellm/pull/18018) +- **General** + - Fix image URL handling - [PR #18139](https://github.com/BerriAI/litellm/pull/18139) + - Support Signed URLs with Query Parameters in Image Processing - [PR #17976](https://github.com/BerriAI/litellm/pull/17976) + - Add none to encoding_format instead of omitting it - [PR #18042](https://github.com/BerriAI/litellm/pull/18042) + +--- + +## LLM API Endpoints + +#### Features + +- **[Responses API](../../docs/response_api)** + - Add provider specific tools support - [PR #17980](https://github.com/BerriAI/litellm/pull/17980) + - Add custom headers support - [PR #18036](https://github.com/BerriAI/litellm/pull/18036) + - Fix tool calls transformation in completion bridge - [PR #18226](https://github.com/BerriAI/litellm/pull/18226) + - Use list format with input_text for tool results - [PR #18257](https://github.com/BerriAI/litellm/pull/18257) + - Add cost tracking in background mode - [PR #18236](https://github.com/BerriAI/litellm/pull/18236) + - Fix Claude code responses API bridge errors - [PR #18194](https://github.com/BerriAI/litellm/pull/18194) +- **[Chat Completions API](../../docs/completion/input)** + - Add support for agent skills - [PR #18031](https://github.com/BerriAI/litellm/pull/18031) +- **[Skills API](../../docs/skills)** + - Unified Skills API works across Anthropic, Vertex, Azure, Bedrock - [PR #18232](https://github.com/BerriAI/litellm/pull/18232) +- **[Search API](../../docs/search/index)** + - Add new RAG Search API with rerankers - [PR #18217](https://github.com/BerriAI/litellm/pull/18217) +- **[Interactions API](../../docs/interactions)** + - Add Google Interactions API on SDK and AI Gateway - [PR #18079](https://github.com/BerriAI/litellm/pull/18079), [PR #18081](https://github.com/BerriAI/litellm/pull/18081) +- **[Image Edit API](../../docs/image_edits)** + - Add drop_params support and fix Vertex AI config - [PR #18077](https://github.com/BerriAI/litellm/pull/18077) +- **General** + - Skip adding beta headers for Vertex AI as it is not supported - [PR #18037](https://github.com/BerriAI/litellm/pull/18037) + - Fix managed files endpoint - [PR #18046](https://github.com/BerriAI/litellm/pull/18046) + - Allow base_model for non-Azure providers in proxy - [PR #18038](https://github.com/BerriAI/litellm/pull/18038) + +#### Bugs + +- **General** + - Fix basemodel import in guardrail translation - [PR #17977](https://github.com/BerriAI/litellm/pull/17977) + - Fix No module named 'fastapi' error - [PR #18239](https://github.com/BerriAI/litellm/pull/18239) + +--- + +## Management Endpoints / UI + +#### Features + +- **Virtual Keys** + - Add master key rotation for credentials table - [PR #17952](https://github.com/BerriAI/litellm/pull/17952) + - Fix tag management to preserve encrypted fields in litellm_params - [PR #17484](https://github.com/BerriAI/litellm/pull/17484) + - Fix key delete and regenerate permissions - [PR #18214](https://github.com/BerriAI/litellm/pull/18214) +- **Models + Endpoints** + - Add Models Conditional Rendering in UI - [PR #18071](https://github.com/BerriAI/litellm/pull/18071) + - Add Health Check Model for Wildcard Model in UI - [PR #18269](https://github.com/BerriAI/litellm/pull/18269) + - Auto Resolve Vector Store Embedding Model Config - [PR #18167](https://github.com/BerriAI/litellm/pull/18167) +- **Vector Stores** + - Add Milvus Vector Store UI support - [PR #18030](https://github.com/BerriAI/litellm/pull/18030) + - Persist Vector Store Settings in Team Update - [PR #18274](https://github.com/BerriAI/litellm/pull/18274) +- **Logs & Spend** + - Add LiteLLM Overhead to Logs - [PR #18033](https://github.com/BerriAI/litellm/pull/18033) + - Show LiteLLM Overhead in Logs UI - [PR #18034](https://github.com/BerriAI/litellm/pull/18034) + - Resolve Team ID to Team Alias in Usage Page - [PR #18275](https://github.com/BerriAI/litellm/pull/18275) + - Fix Usage Page Top Key View Button Visibility - [PR #18203](https://github.com/BerriAI/litellm/pull/18203) +- **SSO & Health** + - Add SSO Readiness Health Check - [PR #18078](https://github.com/BerriAI/litellm/pull/18078) + - Fix /health/test_connection to resolve env variables like /chat/completions - [PR #17752](https://github.com/BerriAI/litellm/pull/17752) +- **CloudZero** + - Add CloudZero Cost Tracking UI - [PR #18163](https://github.com/BerriAI/litellm/pull/18163) + - Add Delete CloudZero Settings Route and UI - [PR #18168](https://github.com/BerriAI/litellm/pull/18168), [PR #18170](https://github.com/BerriAI/litellm/pull/18170) +- **General** + - Update UI path handling for non-root Docker - [PR #17989](https://github.com/BerriAI/litellm/pull/17989) + +#### Bugs + +- **UI Fixes** + - Fix Login Page Failed To Parse JSON Error - [PR #18159](https://github.com/BerriAI/litellm/pull/18159) + - Fix new user route user_id collision handling - [PR #17559](https://github.com/BerriAI/litellm/pull/17559) + - Fix Callback Environment Variables Casing - [PR #17912](https://github.com/BerriAI/litellm/pull/17912) + +--- + +## AI Integrations + +### Logging + +- **[Azure Sentinel](../../docs/observability/azure_sentinel)** + - Add new Azure Sentinel Logger integration - [PR #18146](https://github.com/BerriAI/litellm/pull/18146) +- **[Prometheus](../../docs/proxy/logging#prometheus)** + - Add extraction of top level metadata for custom labels - [PR #18087](https://github.com/BerriAI/litellm/pull/18087) +- **[Langfuse](../../docs/proxy/logging#langfuse)** + - Fix not working log_failure_event - [PR #18234](https://github.com/BerriAI/litellm/pull/18234) +- **[Arize Phoenix](../../docs/observability/phoenix_integration)** + - Fix nested spans - [PR #18102](https://github.com/BerriAI/litellm/pull/18102) +- **General** + - Change extra_headers to additional_headers - [PR #17950](https://github.com/BerriAI/litellm/pull/17950) + +### Guardrails + +- **[LiteLLM Content Filter](../../docs/proxy/guardrails/litellm_content_filter)** + - Add built-in guardrails for harmful content, bias, etc. - [PR #18029](https://github.com/BerriAI/litellm/pull/18029) + - Add support for running content filters on images - [PR #18044](https://github.com/BerriAI/litellm/pull/18044) + - Add support for Brazil PII field - [PR #18076](https://github.com/BerriAI/litellm/pull/18076) + - Add configurable guardrail options for content filtering - [PR #18007](https://github.com/BerriAI/litellm/pull/18007) +- **[Guardrails API](../../docs/adding_provider/generic_guardrail_api)** + - Support LLM tool call response checks on `/chat/completions`, `/v1/responses`, `/v1/messages` - [PR #17619](https://github.com/BerriAI/litellm/pull/17619) + - Add guardrails load balancing - [PR #18181](https://github.com/BerriAI/litellm/pull/18181) + - Fix guardrails for passthrough endpoint - [PR #18109](https://github.com/BerriAI/litellm/pull/18109) + - Add headers to metadata for guardrails on pass-through endpoints - [PR #17992](https://github.com/BerriAI/litellm/pull/17992) + - Various fixes for guardrail on OpenRouter models - [PR #18085](https://github.com/BerriAI/litellm/pull/18085) +- **[Lakera](../../docs/proxy/guardrails/lakera_ai)** + - Add monitor mode for Lakera - [PR #18084](https://github.com/BerriAI/litellm/pull/18084) +- **[Pillar Security](../../docs/proxy/guardrails/pillar_security)** + - Add masking support and MCP call support - [PR #17959](https://github.com/BerriAI/litellm/pull/17959) +- **[Bedrock Guardrails](../../docs/proxy/guardrails/bedrock)** + - Add support for Bedrock image guardrails - [PR #18115](https://github.com/BerriAI/litellm/pull/18115) + - Guardrails block action takes precedence over masking - [PR #17968](https://github.com/BerriAI/litellm/pull/17968) + +### Secret Managers + +- **[HashiCorp Vault](../../docs/secret_managers/hashicorp_vault)** + - Add documentation for configurable Vault mount - [PR #18082](https://github.com/BerriAI/litellm/pull/18082) + - Add per-team Vault configuration - [PR #18150](https://github.com/BerriAI/litellm/pull/18150) +- **UI** + - Add secret manager settings controls to team management UI - [PR #18149](https://github.com/BerriAI/litellm/pull/18149) + +--- + +## Spend Tracking, Budgets and Rate Limiting + +- **Email Budget Alerts** - Send email notifications when budgets are reached - [PR #17995](https://github.com/BerriAI/litellm/pull/17995) + +--- + +## MCP Gateway + +- **Auth Header Propagation** - Add MCP auth header propagation - [PR #17963](https://github.com/BerriAI/litellm/pull/17963) +- **Fix deepcopy error** - Fix MCP tool call deepcopy error when processing requests - [PR #18010](https://github.com/BerriAI/litellm/pull/18010) +- **Fix list tool** - Fix MCP list_tools not working without database connection - [PR #18161](https://github.com/BerriAI/litellm/pull/18161) + +--- + +## Agent Gateway (A2A) + +- **New Provider: Agent Gateway** - Add pydantic ai agents support - [PR #18013](https://github.com/BerriAI/litellm/pull/18013) +- **VertexAI Agent Engine** - Add Vertex AI Agent Engine provider - [PR #18014](https://github.com/BerriAI/litellm/pull/18014) +- **Fix model extraction** - Fix get_model_from_request() to extract model ID from Vertex AI passthrough URLs - [PR #18097](https://github.com/BerriAI/litellm/pull/18097) + +--- + +## Performance / Loadbalancing / Reliability improvements + +- **Lazy Imports** - Use per-attribute lazy imports and extract shared constants - [PR #17994](https://github.com/BerriAI/litellm/pull/17994) +- **Lazy Load HTTP Handlers** - Lazy load http handlers - [PR #17997](https://github.com/BerriAI/litellm/pull/17997) +- **Lazy Load Caches** - Lazy load caches - [PR #18001](https://github.com/BerriAI/litellm/pull/18001) +- **Lazy Load Types** - Lazy load bedrock types, .types.utils, GuardrailItem - [PR #18053](https://github.com/BerriAI/litellm/pull/18053), [PR #18054](https://github.com/BerriAI/litellm/pull/18054), [PR #18072](https://github.com/BerriAI/litellm/pull/18072) +- **Lazy Load Configs** - Lazy load 41 configuration classes - [PR #18267](https://github.com/BerriAI/litellm/pull/18267) +- **Lazy Load Client Decorators** - Lazy load heavy client decorator imports - [PR #18064](https://github.com/BerriAI/litellm/pull/18064) +- **Prisma Build Time** - Download Prisma binaries at build time instead of runtime for security restricted environments - [PR #17695](https://github.com/BerriAI/litellm/pull/17695) +- **Docker Alpine** - Add libsndfile to Alpine image for ARM64 audio processing - [PR #18092](https://github.com/BerriAI/litellm/pull/18092) +- **Security** - Prevent LiteLLM API key leakage on /health endpoint failures - [PR #18133](https://github.com/BerriAI/litellm/pull/18133) + +--- + +## Documentation Updates + +- **SAP Docs** - Update SAP documentation - [PR #17974](https://github.com/BerriAI/litellm/pull/17974) +- **Pydantic AI Agents** - Add docs on using pydantic ai agents with LiteLLM A2A gateway - [PR #18026](https://github.com/BerriAI/litellm/pull/18026) +- **Vertex AI Agent Engine** - Add Vertex AI Agent Engine documentation - [PR #18027](https://github.com/BerriAI/litellm/pull/18027) +- **Router Order** - Add router order parameter documentation - [PR #18045](https://github.com/BerriAI/litellm/pull/18045) +- **Secret Manager Settings** - Improve secret manager settings documentation - [PR #18235](https://github.com/BerriAI/litellm/pull/18235) +- **Gemini 3 Flash** - Add version requirement in Gemini 3 Flash blog - [PR #18227](https://github.com/BerriAI/litellm/pull/18227) +- **README** - Expand Responses API section and update endpoints - [PR #17354](https://github.com/BerriAI/litellm/pull/17354) +- **Amazon Nova** - Add Amazon Nova to sidebar and supported models - [PR #18220](https://github.com/BerriAI/litellm/pull/18220) +- **Benchmarks** - Add infrastructure recommendations to benchmarks documentation - [PR #18264](https://github.com/BerriAI/litellm/pull/18264) +- **Broken Links** - Fix broken link corrections - [PR #18104](https://github.com/BerriAI/litellm/pull/18104) +- **README Fixes** - Various README improvements - [PR #18206](https://github.com/BerriAI/litellm/pull/18206) + +--- + +## Infrastructure / CI/CD + +- **PR Templates** - Add LiteLLM team PR template and CI/CD rules - [PR #17983](https://github.com/BerriAI/litellm/pull/17983), [PR #17985](https://github.com/BerriAI/litellm/pull/17985) +- **Issue Labeling** - Improve issue labeling with component dropdown and more provider keywords - [PR #17957](https://github.com/BerriAI/litellm/pull/17957) +- **PR Template Cleanup** - Remove redundant fields from PR template - [PR #17956](https://github.com/BerriAI/litellm/pull/17956) +- **Dependencies** - Bump altcha-lib from 1.3.0 to 1.4.1 - [PR #18017](https://github.com/BerriAI/litellm/pull/18017) + +--- + +## New Contributors + +* @dongbin-lunark made their first contribution in [PR #17757](https://github.com/BerriAI/litellm/pull/17757) +* @qdrddr made their first contribution in [PR #18004](https://github.com/BerriAI/litellm/pull/18004) +* @donicrosby made their first contribution in [PR #17962](https://github.com/BerriAI/litellm/pull/17962) +* @NicolaivdSmagt made their first contribution in [PR #17992](https://github.com/BerriAI/litellm/pull/17992) +* @Reapor-Yurnero made their first contribution in [PR #18085](https://github.com/BerriAI/litellm/pull/18085) +* @jk-f5 made their first contribution in [PR #18086](https://github.com/BerriAI/litellm/pull/18086) +* @castrapel made their first contribution in [PR #18077](https://github.com/BerriAI/litellm/pull/18077) +* @dtikhonov made their first contribution in [PR #17484](https://github.com/BerriAI/litellm/pull/17484) +* @opleonnn made their first contribution in [PR #18175](https://github.com/BerriAI/litellm/pull/18175) +* @eurogig made their first contribution in [PR #18084](https://github.com/BerriAI/litellm/pull/18084) + +--- + +## Full Changelog + +**[View complete changelog on GitHub](https://github.com/BerriAI/litellm/compare/v1.80.10-nightly...v1.80.11)** + diff --git a/docs/my-website/sidebars.js b/docs/my-website/sidebars.js index b4bf1293f9..b6b8fe1223 100644 --- a/docs/my-website/sidebars.js +++ b/docs/my-website/sidebars.js @@ -289,7 +289,7 @@ const sidebars = { label: "All Endpoints (Swagger)", href: "https://litellm-api.up.railway.app/", }, - "proxy/enterprise", + "proxy/enterprise", { type: "category", label: "Authentication", @@ -470,10 +470,10 @@ const sidebars = { "proxy/managed_finetuning", ] }, - "generateContent", - "apply_guardrail", - "bedrock_invoke", - "interactions", + "generateContent", + "apply_guardrail", + "bedrock_invoke", + "interactions", { type: "category", label: "/images", @@ -664,6 +664,7 @@ const sidebars = { "providers/bedrock_agents", "providers/bedrock_writer", "providers/bedrock_batches", + "providers/aws_polly", "providers/bedrock_vector_store", ] }, @@ -783,6 +784,7 @@ const sidebars = { ] }, "providers/xai", + "providers/xiaomi_mimo", "providers/xinference", "providers/zai", ], diff --git a/litellm-proxy-extras/litellm_proxy_extras/migrations/20251220144550_schema_update/migration.sql b/litellm-proxy-extras/litellm_proxy_extras/migrations/20251220144550_schema_update/migration.sql new file mode 100644 index 0000000000..b40defec30 --- /dev/null +++ b/litellm-proxy-extras/litellm_proxy_extras/migrations/20251220144550_schema_update/migration.sql @@ -0,0 +1,20 @@ +-- CreateTable +CREATE TABLE "LiteLLM_SkillsTable" ( + "skill_id" TEXT NOT NULL, + "display_title" TEXT, + "description" TEXT, + "instructions" TEXT, + "source" TEXT NOT NULL DEFAULT 'custom', + "latest_version" TEXT, + "file_content" BYTEA, + "file_name" TEXT, + "file_type" TEXT, + "metadata" JSONB DEFAULT '{}', + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "created_by" TEXT, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_by" TEXT, + + CONSTRAINT "LiteLLM_SkillsTable_pkey" PRIMARY KEY ("skill_id") +); + diff --git a/litellm-proxy-extras/pyproject.toml b/litellm-proxy-extras/pyproject.toml index 674e112890..7c11a04fca 100644 --- a/litellm-proxy-extras/pyproject.toml +++ b/litellm-proxy-extras/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm-proxy-extras" -version = "0.4.14" +version = "0.4.16" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." authors = ["BerriAI"] readme = "README.md" @@ -22,7 +22,7 @@ requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.commitizen] -version = "0.4.14" +version = "0.4.16" version_files = [ "pyproject.toml:version", "../requirements.txt:litellm-proxy-extras==", diff --git a/litellm/__init__.py b/litellm/__init__.py index 87b1dec2cd..b20b3c5f8e 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -1516,7 +1516,6 @@ if TYPE_CHECKING: from .llms.voyage.rerank.transformation import VoyageRerankConfig as VoyageRerankConfig from .llms.clarifai.chat.transformation import ClarifaiConfig as ClarifaiConfig from .llms.ai21.chat.transformation import AI21ChatConfig as AI21ChatConfig - from .llms.ai21.chat.transformation import AI21Config as AI21Config from litellm.caching.llm_caching_handler import LLMClientCache from litellm.types.llms.bedrock import COHERE_EMBEDDING_INPUT_TYPES from litellm.types.utils import ( @@ -1570,9 +1569,7 @@ if TYPE_CHECKING: module_level_aclient: AsyncHTTPHandler module_level_client: HTTPHandler - # LLM config classes - lazy loaded only - AmazonConverseConfig: Type[Any] - OpenAILikeChatConfig: Type[Any] + # Note: AmazonConverseConfig and OpenAILikeChatConfig are imported above in TYPE_CHECKING block def __getattr__(name: str) -> Any: diff --git a/litellm/_lazy_imports.py b/litellm/_lazy_imports.py index b25e683064..6f96f9f8ff 100644 --- a/litellm/_lazy_imports.py +++ b/litellm/_lazy_imports.py @@ -1,5 +1,6 @@ -from typing import Any, Optional, cast import sys +from typing import Any, Optional, cast + def _get_litellm_globals() -> dict: """Helper to get the globals dictionary of the litellm module.""" @@ -262,7 +263,9 @@ def _lazy_import_utils(name: str) -> Any: # noqa: PLR0915 return _supports_response_schema if name == "supports_parallel_function_calling": - from .utils import supports_parallel_function_calling as _supports_parallel_function_calling + from .utils import ( + supports_parallel_function_calling as _supports_parallel_function_calling, + ) _globals["supports_parallel_function_calling"] = _supports_parallel_function_calling return _supports_parallel_function_calling @@ -428,7 +431,9 @@ def _lazy_import_cost_calculator(name: str) -> Any: return _cost_per_token if name == "response_cost_calculator": - from .cost_calculator import response_cost_calculator as _response_cost_calculator + from .cost_calculator import ( + response_cost_calculator as _response_cost_calculator, + ) _globals["response_cost_calculator"] = _response_cost_calculator return _response_cost_calculator @@ -500,9 +505,7 @@ def _lazy_import_types_utils(name: str) -> Any: return _CredentialItem if name == "PriorityReservationDict": - from .types.utils import ( - PriorityReservationDict as _PriorityReservationDict, - ) + from .types.utils import PriorityReservationDict as _PriorityReservationDict _globals["PriorityReservationDict"] = _PriorityReservationDict return _PriorityReservationDict @@ -522,9 +525,7 @@ def _lazy_import_types_utils(name: str) -> Any: return _SearchProviders if name == "GenericStreamingChunk": - from .types.utils import ( - GenericStreamingChunk as _GenericStreamingChunk, - ) + from .types.utils import GenericStreamingChunk as _GenericStreamingChunk _globals["GenericStreamingChunk"] = _GenericStreamingChunk return _GenericStreamingChunk @@ -568,13 +569,17 @@ def _lazy_import_llm_client_cache(name: str) -> Any: _globals = _get_litellm_globals() if name == "LLMClientCache": - from litellm.caching.llm_caching_handler import LLMClientCache as _LLMClientCache + from litellm.caching.llm_caching_handler import ( + LLMClientCache as _LLMClientCache, + ) _globals["LLMClientCache"] = _LLMClientCache return _LLMClientCache if name == "in_memory_llm_clients_cache": - from litellm.caching.llm_caching_handler import LLMClientCache as _LLMClientCache + from litellm.caching.llm_caching_handler import ( + LLMClientCache as _LLMClientCache, + ) instance = _LLMClientCache() # Only populate the requested singleton name to keep lazy-import @@ -594,7 +599,9 @@ def _lazy_import_litellm_logging(name: str) -> Any: return _Logging if name == "modify_integration": - from litellm.litellm_core_utils.litellm_logging import modify_integration as _modify_integration + from litellm.litellm_core_utils.litellm_logging import ( + modify_integration as _modify_integration, + ) _globals["modify_integration"] = _modify_integration return _modify_integration @@ -669,9 +676,7 @@ def _lazy_import_types(name: str) -> Any: _globals = _get_litellm_globals() if name == "GuardrailItem": - from litellm.types.guardrails import ( - GuardrailItem as _GuardrailItem, - ) + from litellm.types.guardrails import GuardrailItem as _GuardrailItem _globals["GuardrailItem"] = _GuardrailItem return _GuardrailItem @@ -679,7 +684,7 @@ def _lazy_import_types(name: str) -> Any: raise AttributeError(f"Types lazy import: unknown attribute {name!r}") -def _lazy_import_llm_configs(name: str) -> Any: +def _lazy_import_llm_configs(name: str) -> Any: # noqa: PLR0915 """Lazy import for LLM config classes.""" _globals = _get_litellm_globals() @@ -724,9 +729,7 @@ def _lazy_import_llm_configs(name: str) -> Any: return _AzureAnthropicConfig if name == "BytezChatConfig": - from .llms.bytez.chat.transformation import ( - BytezChatConfig as _BytezChatConfig, - ) + from .llms.bytez.chat.transformation import BytezChatConfig as _BytezChatConfig _globals["BytezChatConfig"] = _BytezChatConfig return _BytezChatConfig @@ -780,9 +783,7 @@ def _lazy_import_llm_configs(name: str) -> Any: return _OobaboogaConfig if name == "MaritalkConfig": - from .llms.maritalk import ( - MaritalkConfig as _MaritalkConfig, - ) + from .llms.maritalk import MaritalkConfig as _MaritalkConfig _globals["MaritalkConfig"] = _MaritalkConfig return _MaritalkConfig @@ -820,17 +821,13 @@ def _lazy_import_llm_configs(name: str) -> Any: return _AnthropicTextConfig if name == "GroqSTTConfig": - from .llms.groq.stt.transformation import ( - GroqSTTConfig as _GroqSTTConfig, - ) + from .llms.groq.stt.transformation import GroqSTTConfig as _GroqSTTConfig _globals["GroqSTTConfig"] = _GroqSTTConfig return _GroqSTTConfig if name == "TritonConfig": - from .llms.triton.completion.transformation import ( - TritonConfig as _TritonConfig, - ) + from .llms.triton.completion.transformation import TritonConfig as _TritonConfig _globals["TritonConfig"] = _TritonConfig return _TritonConfig @@ -1004,9 +1001,7 @@ def _lazy_import_llm_configs(name: str) -> Any: return _VoyageRerankConfig if name == "ClarifaiConfig": - from .llms.clarifai.chat.transformation import ( - ClarifaiConfig as _ClarifaiConfig, - ) + from .llms.clarifai.chat.transformation import ClarifaiConfig as _ClarifaiConfig _globals["ClarifaiConfig"] = _ClarifaiConfig return _ClarifaiConfig diff --git a/litellm/completion_extras/litellm_responses_transformation/transformation.py b/litellm/completion_extras/litellm_responses_transformation/transformation.py index 6f9aa192f9..55a8e665bb 100644 --- a/litellm/completion_extras/litellm_responses_transformation/transformation.py +++ b/litellm/completion_extras/litellm_responses_transformation/transformation.py @@ -167,28 +167,27 @@ class LiteLLMResponsesTransformationHandler(CompletionTransformationBridge): ) elif role == "tool": # Convert tool message to function call output format - # The Responses API expects 'output' to be a string, not a list + # The Responses API expects 'output' to be a list with input_text/input_image types + # Using list format for consistency across text and multimodal content + tool_output: List[Dict[str, Any]] if content is None: - output_str = "" + tool_output = [] elif isinstance(content, str): - output_str = content + # Convert string to list with input_text + tool_output = [{"type": "input_text", "text": content}] elif isinstance(content, list): - # If content is a list, extract text parts and join them - text_parts = [] - for item in content: - if isinstance(item, str): - text_parts.append(item) - elif isinstance(item, dict) and item.get("type") == "text": - text_parts.append(item.get("text", "")) - output_str = " ".join(text_parts) if text_parts else str(content) + # Transform list content to Responses API format + tool_output = self._convert_content_to_responses_format( + content, "user" # Use "user" role to get input_* types + ) else: - # Fallback: convert unexpected types to string - output_str = str(content) + # Fallback: convert unexpected types to input_text + tool_output = [{"type": "input_text", "text": str(content)}] input_items.append( { "type": "function_call_output", "call_id": tool_call_id, - "output": output_str, + "output": tool_output, } ) elif role == "assistant" and tool_calls and isinstance(tool_calls, list): diff --git a/litellm/integrations/custom_logger.py b/litellm/integrations/custom_logger.py index 6771999cd3..4c4e6fa634 100644 --- a/litellm/integrations/custom_logger.py +++ b/litellm/integrations/custom_logger.py @@ -32,6 +32,8 @@ from litellm.types.utils import ( ) if TYPE_CHECKING: + from fastapi import HTTPException + from litellm.caching.caching import DualCache from opentelemetry.trace import Span as _Span @@ -348,7 +350,20 @@ class CustomLogger: # https://docs.litellm.ai/docs/observability/custom_callbac original_exception: Exception, user_api_key_dict: UserAPIKeyAuth, traceback_str: Optional[str] = None, - ): + ) -> Optional["HTTPException"]: + """ + Called after an LLM API call fails. Can return or raise HTTPException to transform error responses. + + Args: + - request_data: dict - The request data. + - original_exception: Exception - The original exception that occurred. + - user_api_key_dict: UserAPIKeyAuth - The user API key dictionary. + - traceback_str: Optional[str] - The traceback string. + + Returns: + - Optional[HTTPException]: Return an HTTPException to transform the error response sent to the client. + Return None to use the original exception. + """ pass async def async_post_call_success_hook( diff --git a/litellm/integrations/datadog/datadog.py b/litellm/integrations/datadog/datadog.py index 21e1d56222..503e8d8c87 100644 --- a/litellm/integrations/datadog/datadog.py +++ b/litellm/integrations/datadog/datadog.py @@ -27,6 +27,13 @@ import litellm from litellm._logging import verbose_logger from litellm._uuid import uuid from litellm.integrations.custom_batch_logger import CustomBatchLogger +from litellm.integrations.datadog.datadog_handler import ( + get_datadog_hostname, + get_datadog_service, + get_datadog_source, + get_datadog_tags, +) +from litellm.litellm_core_utils.dd_tracing import tracer from litellm.llms.custom_httpx.http_handler import ( _get_httpx_client, get_async_httpx_client, @@ -67,23 +74,23 @@ class DataDogLogger( Optional environment variables (DataDog Agent): `LITELLM_DD_AGENT_HOST` - hostname or IP of DataDog agent, example = `"localhost"` `LITELLM_DD_AGENT_PORT` - port of DataDog agent (default: 10518 for logs) - + Note: We use LITELLM_DD_AGENT_HOST instead of DD_AGENT_HOST to avoid conflicts with ddtrace which automatically sets DD_AGENT_HOST for APM tracing. """ try: verbose_logger.debug("Datadog: in init datadog logger") - + ######################################################### # Handle datadog_params set as litellm.datadog_params ######################################################### dict_datadog_params = self._get_datadog_params() kwargs.update(dict_datadog_params) - + self.async_client = get_async_httpx_client( llm_provider=httpxSpecialProvider.LoggingCallback ) - + # Configure DataDog endpoint (Agent or Direct API) # Use LITELLM_DD_AGENT_HOST to avoid conflicts with ddtrace's DD_AGENT_HOST dd_agent_host = os.getenv("LITELLM_DD_AGENT_HOST") @@ -91,7 +98,7 @@ class DataDogLogger( self._configure_dd_agent(dd_agent_host=dd_agent_host) else: self._configure_dd_direct_api() - + # Optional override for testing self._apply_dd_base_url_override() self.sync_client = _get_httpx_client() @@ -118,17 +125,21 @@ class DataDogLogger( dict_datadog_params = litellm.datadog_params.model_dump() elif isinstance(litellm.datadog_params, Dict): # only allow params that are of DatadogInitParams - dict_datadog_params = DatadogInitParams(**litellm.datadog_params).model_dump() + dict_datadog_params = DatadogInitParams( + **litellm.datadog_params + ).model_dump() return dict_datadog_params def _configure_dd_agent(self, dd_agent_host: str) -> None: """ Configure DataDog Agent for log forwarding - + Args: dd_agent_host: Hostname or IP of DataDog agent """ - dd_agent_port = os.getenv("LITELLM_DD_AGENT_PORT", "10518") # default port for logs + dd_agent_port = os.getenv( + "LITELLM_DD_AGENT_PORT", "10518" + ) # default port for logs self.intake_url = f"http://{dd_agent_host}:{dd_agent_port}/api/v2/logs" self.DD_API_KEY = os.getenv("DD_API_KEY") # Optional when using agent verbose_logger.debug(f"Datadog: Using DD Agent at {self.intake_url}") @@ -136,7 +147,7 @@ class DataDogLogger( def _configure_dd_direct_api(self) -> None: """ Configure direct DataDog API connection - + Raises: Exception: If required environment variables are not set """ @@ -144,11 +155,9 @@ class DataDogLogger( raise Exception("DD_API_KEY is not set, set 'DD_API_KEY=<>") if os.getenv("DD_SITE", None) is None: raise Exception("DD_SITE is not set in .env, set 'DD_SITE=<>") - + self.DD_API_KEY = os.getenv("DD_API_KEY") - self.intake_url = ( - f"https://http-intake.logs.{os.getenv('DD_SITE')}/api/v2/logs" - ) + self.intake_url = f"https://http-intake.logs.{os.getenv('DD_SITE')}/api/v2/logs" def _apply_dd_base_url_override(self) -> None: """ @@ -270,7 +279,7 @@ class DataDogLogger( # Add API key if available (required for direct API, optional for agent) if self.DD_API_KEY: headers["DD-API-KEY"] = self.DD_API_KEY - + response = self.sync_client.post( url=self.intake_url, json=dd_payload, # type: ignore @@ -318,18 +327,18 @@ class DataDogLogger( status: DataDogStatus, ) -> DatadogPayload: from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + json_payload = safe_dumps(standard_logging_object) verbose_logger.debug("Datadog: Logger - Logging payload = %s", json_payload) dd_payload = DatadogPayload( - ddsource=self._get_datadog_source(), - ddtags=self._get_datadog_tags( - standard_logging_object=standard_logging_object - ), - hostname=self._get_datadog_hostname(), + ddsource=get_datadog_source(), + ddtags=get_datadog_tags(standard_logging_object=standard_logging_object), + hostname=get_datadog_hostname(), message=json_payload, - service=self._get_datadog_service(), + service=get_datadog_service(), status=status, ) + self._add_trace_context_to_payload(dd_payload=dd_payload) return dd_payload def create_datadog_logging_payload( @@ -384,18 +393,19 @@ class DataDogLogger( import gzip from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + compressed_data = gzip.compress(safe_dumps(data).encode("utf-8")) - + # Build headers headers = { "Content-Encoding": "gzip", "Content-Type": "application/json", } - + # Add API key if available (required for direct API, optional for agent) if self.DD_API_KEY: headers["DD-API-KEY"] = self.DD_API_KEY - + response = await self.async_client.post( url=self.intake_url, data=compressed_data, # type: ignore @@ -421,13 +431,14 @@ class DataDogLogger( _payload_dict = payload.model_dump() _payload_dict.update(event_metadata or {}) from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + _dd_message_str = safe_dumps(_payload_dict) _dd_payload = DatadogPayload( - ddsource=self._get_datadog_source(), - ddtags=self._get_datadog_tags(), - hostname=self._get_datadog_hostname(), + ddsource=get_datadog_source(), + ddtags=get_datadog_tags(), + hostname=get_datadog_hostname(), message=_dd_message_str, - service=self._get_datadog_service(), + service=get_datadog_service(), status=DataDogStatus.WARN, ) @@ -462,13 +473,14 @@ class DataDogLogger( _payload_dict.update(event_metadata or {}) from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + _dd_message_str = safe_dumps(_payload_dict) _dd_payload = DatadogPayload( - ddsource=self._get_datadog_source(), - ddtags=self._get_datadog_tags(), - hostname=self._get_datadog_hostname(), + ddsource=get_datadog_source(), + ddtags=get_datadog_tags(), + hostname=get_datadog_hostname(), message=_dd_message_str, - service=self._get_datadog_service(), + service=get_datadog_service(), status=DataDogStatus.INFO, ) @@ -530,7 +542,6 @@ class DataDogLogger( else: clean_metadata[key] = value - # Build the initial payload payload = { "id": id, @@ -550,68 +561,70 @@ class DataDogLogger( } from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + json_payload = safe_dumps(payload) verbose_logger.debug("Datadog: Logger - Logging payload = %s", json_payload) dd_payload = DatadogPayload( - ddsource=self._get_datadog_source(), - ddtags=self._get_datadog_tags(), - hostname=self._get_datadog_hostname(), + ddsource=get_datadog_source(), + ddtags=get_datadog_tags(), + hostname=get_datadog_hostname(), message=json_payload, - service=self._get_datadog_service(), + service=get_datadog_service(), status=DataDogStatus.INFO, ) return dd_payload - @staticmethod - def _get_datadog_tags( - standard_logging_object: Optional[StandardLoggingPayload] = None, - ) -> str: - """ - Get the datadog tags for the request + def _add_trace_context_to_payload( + self, + dd_payload: DatadogPayload, + ) -> None: + """Attach Datadog APM trace context if one is active.""" - DD tags need to be as follows: - - tags: ["user_handle:dog@gmail.com", "app_version:1.0.0"] - """ - base_tags = { - "env": os.getenv("DD_ENV", "unknown"), - "service": os.getenv("DD_SERVICE", "litellm"), - "version": os.getenv("DD_VERSION", "unknown"), - "HOSTNAME": DataDogLogger._get_datadog_hostname(), - "POD_NAME": os.getenv("POD_NAME", "unknown"), - } + try: + trace_context = self._get_active_trace_context() + if trace_context is None: + return - tags = [f"{k}:{v}" for k, v in base_tags.items()] - - if standard_logging_object: - _request_tags: List[str] = ( - standard_logging_object.get("request_tags", []) or [] + dd_payload["dd.trace_id"] = trace_context["trace_id"] + span_id = trace_context.get("span_id") + if span_id is not None: + dd_payload["dd.span_id"] = span_id + except Exception: + verbose_logger.exception( + "Datadog: Failed to attach trace context to payload" ) - request_tags = [f"request_tag:{tag}" for tag in _request_tags] - tags.extend(request_tags) - return ",".join(tags) + def _get_active_trace_context(self) -> Optional[Dict[str, str]]: + try: + current_span = None + current_span_fn = getattr(tracer, "current_span", None) + if callable(current_span_fn): + current_span = current_span_fn() - @staticmethod - def _get_datadog_source(): - return os.getenv("DD_SOURCE", "litellm") + if current_span is None: + current_root_span_fn = getattr(tracer, "current_root_span", None) + if callable(current_root_span_fn): + current_span = current_root_span_fn() - @staticmethod - def _get_datadog_service(): - return os.getenv("DD_SERVICE", "litellm-server") + if current_span is None: + return None - @staticmethod - def _get_datadog_hostname(): - return os.getenv("HOSTNAME", "") + trace_id = getattr(current_span, "trace_id", None) + if trace_id is None: + return None - @staticmethod - def _get_datadog_env(): - return os.getenv("DD_ENV", "unknown") - - @staticmethod - def _get_datadog_pod_name(): - return os.getenv("POD_NAME", "unknown") + span_id = getattr(current_span, "span_id", None) + trace_context: Dict[str, str] = {"trace_id": str(trace_id)} + if span_id is not None: + trace_context["span_id"] = str(span_id) + return trace_context + except Exception: + verbose_logger.exception( + "Datadog: Failed to retrieve active trace context from tracer" + ) + return None async def async_health_check(self) -> IntegrationHealthCheckStatus: """ @@ -651,4 +664,4 @@ class DataDogLogger( start_time_utc: Optional[datetimeObj], end_time_utc: Optional[datetimeObj], ) -> Optional[dict]: - pass \ No newline at end of file + pass diff --git a/litellm/integrations/datadog/datadog_handler.py b/litellm/integrations/datadog/datadog_handler.py new file mode 100644 index 0000000000..26fab77759 --- /dev/null +++ b/litellm/integrations/datadog/datadog_handler.py @@ -0,0 +1,50 @@ +"""Shared helpers for Datadog integrations.""" + +from __future__ import annotations + +import os +from typing import List, Optional + +from litellm.types.utils import StandardLoggingPayload + + +def get_datadog_source() -> str: + return os.getenv("DD_SOURCE", "litellm") + + +def get_datadog_service() -> str: + return os.getenv("DD_SERVICE", "litellm-server") + + +def get_datadog_hostname() -> str: + return os.getenv("HOSTNAME", "") + + +def get_datadog_env() -> str: + return os.getenv("DD_ENV", "unknown") + + +def get_datadog_pod_name() -> str: + return os.getenv("POD_NAME", "unknown") + + +def get_datadog_tags( + standard_logging_object: Optional[StandardLoggingPayload] = None, +) -> str: + """Build Datadog tags string used by multiple integrations.""" + + base_tags = { + "env": get_datadog_env(), + "service": get_datadog_service(), + "version": os.getenv("DD_VERSION", "unknown"), + "HOSTNAME": get_datadog_hostname(), + "POD_NAME": get_datadog_pod_name(), + } + + tags: List[str] = [f"{k}:{v}" for k, v in base_tags.items()] + + if standard_logging_object: + request_tags = standard_logging_object.get("request_tags", []) or [] + tags.extend(f"request_tag:{tag}" for tag in request_tags) + + return ",".join(tags) diff --git a/litellm/integrations/datadog/datadog_llm_obs.py b/litellm/integrations/datadog/datadog_llm_obs.py index b44762d0af..65ed8a795c 100644 --- a/litellm/integrations/datadog/datadog_llm_obs.py +++ b/litellm/integrations/datadog/datadog_llm_obs.py @@ -18,7 +18,10 @@ import httpx import litellm from litellm._logging import verbose_logger from litellm.integrations.custom_batch_logger import CustomBatchLogger -from litellm.integrations.datadog.datadog import DataDogLogger +from litellm.integrations.datadog.datadog_handler import ( + get_datadog_service, + get_datadog_tags, +) from litellm.litellm_core_utils.dd_tracing import tracer from litellm.litellm_core_utils.prompt_templates.common_utils import ( handle_any_messages_to_chat_completion_str_messages_conversion, @@ -36,7 +39,7 @@ from litellm.types.utils import ( ) -class DataDogLLMObsLogger(DataDogLogger, CustomBatchLogger): +class DataDogLLMObsLogger(CustomBatchLogger): def __init__(self, **kwargs): try: verbose_logger.debug("DataDogLLMObs: Initializing logger") @@ -142,8 +145,8 @@ class DataDogLLMObsLogger(DataDogLogger, CustomBatchLogger): "data": DDIntakePayload( type="span", attributes=DDSpanAttributes( - ml_app=self._get_datadog_service(), - tags=[self._get_datadog_tags()], + ml_app=get_datadog_service(), + tags=[get_datadog_tags()], spans=self.log_queue, ), ), @@ -243,9 +246,7 @@ class DataDogLLMObsLogger(DataDogLogger, CustomBatchLogger): duration=int((end_time - start_time).total_seconds() * 1e9), metrics=metrics, status="error" if error_info else "ok", - tags=[ - self._get_datadog_tags(standard_logging_object=standard_logging_payload) - ], + tags=[get_datadog_tags(standard_logging_object=standard_logging_payload)], ) apm_trace_id = self._get_apm_trace_id() diff --git a/litellm/litellm_core_utils/get_llm_provider_logic.py b/litellm/litellm_core_utils/get_llm_provider_logic.py index 36508e021e..a23fce891b 100644 --- a/litellm/litellm_core_utils/get_llm_provider_logic.py +++ b/litellm/litellm_core_utils/get_llm_provider_logic.py @@ -5,6 +5,7 @@ import httpx import litellm from litellm.constants import REPLICATE_MODEL_NAME_WITH_ID_LENGTH from litellm.secret_managers.main import get_secret, get_secret_str +from litellm.llms.openai_like.json_loader import JSONProviderRegistry from ..types.router import LiteLLM_Params @@ -155,6 +156,17 @@ def get_llm_provider( # noqa: PLR0915 if api_key and api_key.startswith("os.environ/"): dynamic_api_key = get_secret_str(api_key) + + # Check JSON-configured providers FIRST (before enum-based provider_list) + provider_prefix = model.split("/", 1)[0] + if len(model.split("/")) > 1 and JSONProviderRegistry.exists(provider_prefix): + return _get_openai_compatible_provider_info( + model=model, + api_base=api_base, + api_key=api_key, + dynamic_api_key=dynamic_api_key, + ) + # check if llm provider part of model name if ( diff --git a/litellm/llms/anthropic/chat/handler.py b/litellm/llms/anthropic/chat/handler.py index 53563ef9b4..26e6016095 100644 --- a/litellm/llms/anthropic/chat/handler.py +++ b/litellm/llms/anthropic/chat/handler.py @@ -692,15 +692,15 @@ class ModelResponseIterator: text = content_block_start["content_block"]["text"] elif content_block_start["content_block"]["type"] == "tool_use" or content_block_start["content_block"]["type"] == "server_tool_use": self.tool_index += 1 - # Some server_tool_use blocks (e.g. web_search) may omit `input` at start; - # default to {} to avoid KeyError and let deltas populate arguments. - tool_input = content_block_start["content_block"].get("input", {}) + # Use empty string for arguments in content_block_start - actual arguments + # come in subsequent content_block_delta chunks and get accumulated. + # Using str(input) here would prepend '{}' causing invalid JSON accumulation. tool_use = ChatCompletionToolCallChunk( id=content_block_start["content_block"]["id"], type="function", function=ChatCompletionToolCallFunctionChunk( name=content_block_start["content_block"]["name"], - arguments=str(tool_input), + arguments="", ), index=self.tool_index, ) diff --git a/litellm/llms/aws_polly/__init__.py b/litellm/llms/aws_polly/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/litellm/llms/aws_polly/text_to_speech/__init__.py b/litellm/llms/aws_polly/text_to_speech/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/litellm/llms/aws_polly/text_to_speech/transformation.py b/litellm/llms/aws_polly/text_to_speech/transformation.py new file mode 100644 index 0000000000..dc6c40000f --- /dev/null +++ b/litellm/llms/aws_polly/text_to_speech/transformation.py @@ -0,0 +1,391 @@ +""" +AWS Polly Text-to-Speech transformation + +Maps OpenAI TTS spec to AWS Polly SynthesizeSpeech API +Reference: https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html +""" + +import json +from typing import TYPE_CHECKING, Any, Coroutine, Dict, Optional, Tuple, Union + +import httpx + +from litellm.llms.base_llm.text_to_speech.transformation import ( + BaseTextToSpeechConfig, + TextToSpeechRequestData, +) +from litellm.llms.bedrock.base_aws_llm import BaseAWSLLM + +if TYPE_CHECKING: + from litellm.litellm_core_utils.litellm_logging import Logging as LiteLLMLoggingObj + from litellm.types.llms.openai import HttpxBinaryResponseContent +else: + LiteLLMLoggingObj = Any + HttpxBinaryResponseContent = Any + + +class AWSPollyTextToSpeechConfig(BaseTextToSpeechConfig, BaseAWSLLM): + """ + Configuration for AWS Polly Text-to-Speech + + Reference: https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html + """ + + def __init__(self): + BaseTextToSpeechConfig.__init__(self) + BaseAWSLLM.__init__(self) + + # Default settings + DEFAULT_VOICE = "Joanna" + DEFAULT_ENGINE = "neural" + DEFAULT_OUTPUT_FORMAT = "mp3" + DEFAULT_REGION = "us-east-1" + + # Voice name mappings from OpenAI voices to Polly voices + VOICE_MAPPINGS = { + "alloy": "Joanna", # US English female + "echo": "Matthew", # US English male + "fable": "Amy", # British English female + "onyx": "Brian", # British English male + "nova": "Ivy", # US English female (child) + "shimmer": "Kendra", # US English female + } + + # Response format mappings from OpenAI to Polly + FORMAT_MAPPINGS = { + "mp3": "mp3", + "opus": "ogg_vorbis", + "aac": "mp3", # Polly doesn't support AAC, use MP3 + "flac": "mp3", # Polly doesn't support FLAC, use MP3 + "wav": "pcm", + "pcm": "pcm", + } + + # Valid Polly engines + VALID_ENGINES = {"standard", "neural", "long-form", "generative"} + + def dispatch_text_to_speech( + self, + model: str, + input: str, + voice: Optional[Union[str, Dict]], + optional_params: Dict, + litellm_params_dict: Dict, + logging_obj: "LiteLLMLoggingObj", + timeout: Union[float, httpx.Timeout], + extra_headers: Optional[Dict[str, Any]], + base_llm_http_handler: Any, + aspeech: bool, + api_base: Optional[str], + api_key: Optional[str], + **kwargs: Any, + ) -> Union[ + "HttpxBinaryResponseContent", + Coroutine[Any, Any, "HttpxBinaryResponseContent"], + ]: + """ + Dispatch method to handle AWS Polly TTS requests + + This method encapsulates AWS-specific credential resolution and parameter handling + + Args: + base_llm_http_handler: The BaseLLMHTTPHandler instance from main.py + """ + # Get AWS region from kwargs or environment + aws_region_name = kwargs.get("aws_region_name") or self._get_aws_region_name_for_polly( + optional_params=optional_params + ) + + # Convert voice to string if it's a dict + voice_str: Optional[str] = None + if isinstance(voice, str): + voice_str = voice + elif isinstance(voice, dict): + voice_str = voice.get("name") if voice else None + + # Update litellm_params with resolved values + # Note: AWS credentials (aws_access_key_id, aws_secret_access_key, etc.) + # are already in litellm_params_dict via get_litellm_params() in main.py + litellm_params_dict["aws_region_name"] = aws_region_name + litellm_params_dict["api_base"] = api_base + litellm_params_dict["api_key"] = api_key + + # Call the text_to_speech_handler + response = base_llm_http_handler.text_to_speech_handler( + model=model, + input=input, + voice=voice_str, + text_to_speech_provider_config=self, + text_to_speech_optional_params=optional_params, + custom_llm_provider="aws_polly", + litellm_params=litellm_params_dict, + logging_obj=logging_obj, + timeout=timeout, + extra_headers=extra_headers, + client=None, + _is_async=aspeech, + ) + + return response + + def _get_aws_region_name_for_polly(self, optional_params: Dict) -> str: + """Get AWS region name for Polly API calls.""" + aws_region_name = optional_params.get("aws_region_name") + if aws_region_name is None: + aws_region_name = self.get_aws_region_name_for_non_llm_api_calls() + return aws_region_name + + def get_supported_openai_params(self, model: str) -> list: + """ + AWS Polly TTS supports these OpenAI parameters + """ + return ["voice", "response_format", "speed"] + + def map_openai_params( + self, + model: str, + optional_params: Dict, + voice: Optional[Union[str, Dict]] = None, + drop_params: bool = False, + kwargs: Dict = {}, + ) -> Tuple[Optional[str], Dict]: + """ + Map OpenAI parameters to AWS Polly parameters + """ + mapped_params = {} + + # Map voice - support both native Polly voices and OpenAI voice mappings + mapped_voice: Optional[str] = None + if isinstance(voice, str): + if voice in self.VOICE_MAPPINGS: + # OpenAI voice -> Polly voice + mapped_voice = self.VOICE_MAPPINGS[voice] + else: + # Assume it's already a Polly voice name + mapped_voice = voice + + # Map response format + if "response_format" in optional_params: + format_name = optional_params["response_format"] + if format_name in self.FORMAT_MAPPINGS: + mapped_params["output_format"] = self.FORMAT_MAPPINGS[format_name] + else: + mapped_params["output_format"] = format_name + else: + mapped_params["output_format"] = self.DEFAULT_OUTPUT_FORMAT + + # Extract engine from model name (e.g., "aws_polly/neural" -> "neural") + engine = self._extract_engine_from_model(model) + mapped_params["engine"] = engine + + # Pass through Polly-specific parameters (use AWS API casing) + if "language_code" in kwargs: + mapped_params["LanguageCode"] = kwargs["language_code"] + if "lexicon_names" in kwargs: + mapped_params["LexiconNames"] = kwargs["lexicon_names"] + if "sample_rate" in kwargs: + mapped_params["SampleRate"] = kwargs["sample_rate"] + + return mapped_voice, mapped_params + + def _extract_engine_from_model(self, model: str) -> str: + """ + Extract engine from model name. + + Examples: + - aws_polly/neural -> neural + - aws_polly/standard -> standard + - aws_polly/long-form -> long-form + - aws_polly -> neural (default) + """ + if "/" in model: + parts = model.split("/") + if len(parts) >= 2: + engine = parts[1].lower() + if engine in self.VALID_ENGINES: + return engine + return self.DEFAULT_ENGINE + + def validate_environment( + self, + headers: dict, + model: str, + api_key: Optional[str] = None, + api_base: Optional[str] = None, + ) -> dict: + """ + Validate AWS environment and set up headers. + AWS SigV4 signing will be done in transform_text_to_speech_request. + """ + validated_headers = headers.copy() + validated_headers["Content-Type"] = "application/json" + return validated_headers + + def get_complete_url( + self, + model: str, + api_base: Optional[str], + litellm_params: dict, + ) -> str: + """ + Get the complete URL for AWS Polly SynthesizeSpeech request + + Polly endpoint format: + https://polly.{region}.amazonaws.com/v1/speech + """ + if api_base is not None: + return api_base.rstrip("/") + "/v1/speech" + + aws_region_name = litellm_params.get("aws_region_name", self.DEFAULT_REGION) + return f"https://polly.{aws_region_name}.amazonaws.com/v1/speech" + + def is_ssml_input(self, input: str) -> bool: + """ + Returns True if input is SSML, False otherwise. + + Based on AWS Polly SSML requirements - must contain tag. + """ + return "" in input or " Tuple[Dict[str, str], str]: + """ + Sign the AWS Polly request using SigV4. + + Returns: + Tuple of (signed_headers, json_body_string) + """ + try: + from botocore.auth import SigV4Auth + from botocore.awsrequest import AWSRequest + except ImportError: + raise ImportError("Missing boto3 to call AWS Polly. Run 'pip install boto3'.") + + # Get AWS region + aws_region_name = litellm_params.get("aws_region_name", self.DEFAULT_REGION) + + # Get AWS credentials + credentials = self.get_credentials( + aws_access_key_id=litellm_params.get("aws_access_key_id"), + aws_secret_access_key=litellm_params.get("aws_secret_access_key"), + aws_session_token=litellm_params.get("aws_session_token"), + aws_region_name=aws_region_name, + aws_session_name=litellm_params.get("aws_session_name"), + aws_profile_name=litellm_params.get("aws_profile_name"), + aws_role_name=litellm_params.get("aws_role_name"), + aws_web_identity_token=litellm_params.get("aws_web_identity_token"), + aws_sts_endpoint=litellm_params.get("aws_sts_endpoint"), + aws_external_id=litellm_params.get("aws_external_id"), + ) + + # Serialize request body to JSON + json_body = json.dumps(request_body) + + # Create headers for signing + headers = { + "Content-Type": "application/json", + } + + # Create AWS request for signing + aws_request = AWSRequest( + method="POST", + url=endpoint_url, + data=json_body, + headers=headers, + ) + + # Sign the request + SigV4Auth(credentials, "polly", aws_region_name).add_auth(aws_request) + + # Return signed headers and body + return dict(aws_request.headers), json_body + + def transform_text_to_speech_request( + self, + model: str, + input: str, + voice: Optional[str], + optional_params: Dict, + litellm_params: Dict, + headers: dict, + ) -> TextToSpeechRequestData: + """ + Transform OpenAI TTS request to AWS Polly SynthesizeSpeech format. + + Supports: + - Native Polly voices (Joanna, Matthew, etc.) + - OpenAI voice mapping (alloy, echo, etc.) + - SSML input (auto-detected via tag) + - Multiple engines (neural, standard, long-form, generative) + + Returns: + TextToSpeechRequestData: Contains signed request for Polly API + """ + # Get voice (already mapped in main.py, or use default) + polly_voice = voice or self.DEFAULT_VOICE + + # Get output format + output_format = optional_params.get("output_format", self.DEFAULT_OUTPUT_FORMAT) + + # Get engine + engine = optional_params.get("engine", self.DEFAULT_ENGINE) + + # Build request body + request_body: Dict[str, Any] = { + "Engine": engine, + "OutputFormat": output_format, + "Text": input, + "VoiceId": polly_voice, + } + + # Auto-detect SSML + if self.is_ssml_input(input): + request_body["TextType"] = "ssml" + else: + request_body["TextType"] = "text" + + # Add optional Polly parameters (already in AWS casing from map_openai_params) + for key in ["LanguageCode", "LexiconNames", "SampleRate"]: + if key in optional_params: + request_body[key] = optional_params[key] + + # Get endpoint URL + endpoint_url = self.get_complete_url( + model=model, + api_base=litellm_params.get("api_base"), + litellm_params=litellm_params, + ) + + # Sign the request with AWS SigV4 + signed_headers, json_body = self._sign_polly_request( + request_body=request_body, + endpoint_url=endpoint_url, + litellm_params=litellm_params, + ) + + # Return as ssml_body so the handler uses data= instead of json= + # This preserves the exact JSON string that was signed + return TextToSpeechRequestData( + ssml_body=json_body, + headers=signed_headers, + ) + + def transform_text_to_speech_response( + self, + model: str, + raw_response: httpx.Response, + logging_obj: "LiteLLMLoggingObj", + ) -> "HttpxBinaryResponseContent": + """ + Transform AWS Polly response to standard format. + + Polly returns the audio data directly in the response body. + """ + from litellm.types.llms.openai import HttpxBinaryResponseContent + + return HttpxBinaryResponseContent(raw_response) + diff --git a/litellm/llms/bedrock/embed/amazon_nova_transformation.py b/litellm/llms/bedrock/embed/amazon_nova_transformation.py index ada49d0ff2..3e5686c46f 100644 --- a/litellm/llms/bedrock/embed/amazon_nova_transformation.py +++ b/litellm/llms/bedrock/embed/amazon_nova_transformation.py @@ -46,6 +46,39 @@ class AmazonNovaEmbeddingConfig: elif k in self.get_supported_openai_params(): optional_params[k] = v return optional_params + + def _parse_data_url(self, data_url: str) -> tuple: + """ + Parse a data URL to extract the media type and base64 data. + + Args: + data_url: Data URL in format: data:image/jpeg;base64,/9j/4AAQ... + + Returns: + tuple: (media_type, base64_data) + media_type: e.g., "image/jpeg", "video/mp4", "audio/mpeg" + base64_data: The base64-encoded data without the prefix + """ + if not data_url.startswith("data:"): + raise ValueError(f"Invalid data URL format: {data_url[:50]}...") + + # Split by comma to separate metadata from data + # Format: data:image/jpeg;base64, + if "," not in data_url: + raise ValueError(f"Invalid data URL format (missing comma): {data_url[:50]}...") + + metadata, base64_data = data_url.split(",", 1) + + # Extract media type from metadata + # Remove 'data:' prefix and ';base64' suffix + metadata = metadata[5:] # Remove 'data:' + + if ";" in metadata: + media_type = metadata.split(";")[0] + else: + media_type = metadata + + return media_type, base64_data def _transform_request( self, @@ -99,15 +132,58 @@ class AmazonNovaEmbeddingConfig: if "embeddingDimension" not in embedding_params: embedding_params["embeddingDimension"] = 3072 - # For text input, add basic text structure if user hasn't provided text/image/video/audio + # For text/media input, add basic structure if user hasn't provided text/image/video/audio if "text" not in embedding_params and "image" not in embedding_params and "video" not in embedding_params and "audio" not in embedding_params: - # Default to text if no modality specified - if input.startswith("s3://"): + # Check if input is a data URL (e.g., data:image/jpeg;base64,...) + if input.startswith("data:"): + # Parse the data URL to extract media type and base64 data + media_type, base64_data = self._parse_data_url(input) + + if media_type.startswith("image/"): + # Extract image format from MIME type (e.g., image/jpeg -> jpeg) + image_format = media_type.split("/")[1].lower() + # Nova API expects specific formats + if image_format == "jpg": + image_format = "jpeg" + + embedding_params["image"] = { + "format": image_format, + "source": { + "bytes": base64_data + } + } + elif media_type.startswith("video/"): + # Handle video data URLs + video_format = media_type.split("/")[1].lower() + embedding_params["video"] = { + "format": video_format, + "source": { + "bytes": base64_data + } + } + elif media_type.startswith("audio/"): + # Handle audio data URLs + audio_format = media_type.split("/")[1].lower() + embedding_params["audio"] = { + "format": audio_format, + "source": { + "bytes": base64_data + } + } + else: + # Fallback to text for unknown types + embedding_params["text"] = { + "value": input, + "truncationMode": "END" + } + elif input.startswith("s3://"): + # S3 URL - default to text for now, user should specify modality embedding_params["text"] = { "source": {"s3Location": {"uri": input}}, "truncationMode": "END" # Required by Nova API } else: + # Plain text input embedding_params["text"] = { "value": input, "truncationMode": "END" # Required by Nova API diff --git a/litellm/llms/gemini/image_generation/transformation.py b/litellm/llms/gemini/image_generation/transformation.py index 2d8d82e6ad..63b835df9d 100644 --- a/litellm/llms/gemini/image_generation/transformation.py +++ b/litellm/llms/gemini/image_generation/transformation.py @@ -11,7 +11,12 @@ from litellm.types.llms.openai import ( AllMessageValues, OpenAIImageGenerationOptionalParams, ) -from litellm.types.utils import ImageObject, ImageResponse +from litellm.types.utils import ( + ImageObject, + ImageResponse, + ImageUsage, + ImageUsageInputTokensDetails, +) if TYPE_CHECKING: from litellm.litellm_core_utils.litellm_logging import Logging as _LiteLLMLoggingObj @@ -73,6 +78,33 @@ class GoogleImageGenConfig(BaseImageGenerationConfig): "896x1280": "3:4", } return aspect_ratio_map.get(size, "1:1") + + def _transform_image_usage(self, usage_metadata: dict) -> ImageUsage: + """ + Transform Gemini usageMetadata to ImageUsage format + """ + input_tokens_details = ImageUsageInputTokensDetails( + image_tokens=0, + text_tokens=0, + ) + + # Extract detailed token counts from promptTokensDetails + tokens_details = usage_metadata.get("promptTokensDetails", []) + for details in tokens_details: + if isinstance(details, dict): + modality = details.get("modality") + token_count = details.get("tokenCount", 0) + if modality == "TEXT": + input_tokens_details.text_tokens = token_count + elif modality == "IMAGE": + input_tokens_details.image_tokens = token_count + + return ImageUsage( + input_tokens=usage_metadata.get("promptTokenCount", 0), + input_tokens_details=input_tokens_details, + output_tokens=usage_metadata.get("candidatesTokenCount", 0), + total_tokens=usage_metadata.get("totalTokenCount", 0), + ) def get_complete_url( self, @@ -227,6 +259,10 @@ class GoogleImageGenConfig(BaseImageGenerationConfig): b64_json=inline_data["data"], url=None, )) + + # Extract usage metadata for Gemini models + if "usageMetadata" in response_data: + model_response.usage = self._transform_image_usage(response_data["usageMetadata"]) else: # Original Imagen format - predictions with generated images predictions = response_data.get("predictions", []) diff --git a/litellm/llms/openai/openai.py b/litellm/llms/openai/openai.py index e04def0d9c..4d62309747 100644 --- a/litellm/llms/openai/openai.py +++ b/litellm/llms/openai/openai.py @@ -555,9 +555,13 @@ class OpenAIChatCompletion(BaseLLM, BaseOpenAILLM): provider_config: Optional[BaseConfig] = None if custom_llm_provider is not None and model is not None: - provider_config = ProviderConfigManager.get_provider_chat_config( - model=model, provider=LlmProviders(custom_llm_provider) - ) + try: + provider_config = ProviderConfigManager.get_provider_chat_config( + model=model, provider=LlmProviders(custom_llm_provider) + ) + except ValueError: + # JSON-configured providers may not be in LlmProviders enum + provider_config = None if provider_config is None: provider_config = OpenAIConfig() diff --git a/litellm/llms/openai_like/providers.json b/litellm/llms/openai_like/providers.json index 2d801506d5..d9351c8b6b 100644 --- a/litellm/llms/openai_like/providers.json +++ b/litellm/llms/openai_like/providers.json @@ -18,5 +18,12 @@ "veniceai": { "base_url": "https://api.venice.ai/api/v1", "api_key_env": "VENICE_AI_API_KEY" + }, + "xiaomi_mimo": { + "base_url": "https://api.xiaomimimo.com/v1", + "api_key_env": "XIAOMI_MIMO_API_KEY", + "param_mappings": { + "max_completion_tokens": "max_tokens" + } } -} +} \ No newline at end of file diff --git a/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py b/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py index 84a5958ee5..b1810b40cf 100644 --- a/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py +++ b/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py @@ -1476,6 +1476,7 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig): cached_tokens: Optional[int] = None audio_tokens: Optional[int] = None text_tokens: Optional[int] = None + image_tokens: Optional[int] = None prompt_tokens_details: Optional[PromptTokensDetailsWrapper] = None reasoning_tokens: Optional[int] = None response_tokens: Optional[int] = None @@ -1526,6 +1527,8 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig): audio_tokens = detail.get("tokenCount", 0) elif detail["modality"] == "TEXT": text_tokens = detail.get("tokenCount", 0) + elif detail["modality"] == "IMAGE": + image_tokens = detail.get("tokenCount", 0) if "thoughtsTokenCount" in usage_metadata: reasoning_tokens = usage_metadata["thoughtsTokenCount"] # Also add reasoning tokens to response_tokens_details @@ -1546,6 +1549,7 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig): cached_tokens=cached_tokens, audio_tokens=audio_tokens, text_tokens=text_tokens, + image_tokens=image_tokens, ) completion_tokens = response_tokens or completion_response["usageMetadata"].get( diff --git a/litellm/main.py b/litellm/main.py index 0715dd8e61..60fe3eb2de 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -68,6 +68,7 @@ from litellm.constants import ( DEFAULT_MOCK_RESPONSE_PROMPT_TOKEN_COUNT, ) from litellm.exceptions import LiteLLMUnknownProvider +from litellm.llms.openai_like.json_loader import JSONProviderRegistry from litellm.integrations.custom_logger import CustomLogger from litellm.litellm_core_utils.asyncify import run_async_function from litellm.litellm_core_utils.audio_utils.utils import ( @@ -104,10 +105,22 @@ from litellm.llms.vertex_ai.common_utils import ( from litellm.realtime_api.main import _realtime_health_check from litellm.secret_managers.main import get_secret_bool, get_secret_str from litellm.types.router import GenericLiteLLMParams -from litellm.types.utils import RawRequestTypedDict, StreamingChoices +from litellm.types.utils import ( + ModelResponseStream, + RawRequestTypedDict, + StreamingChoices, +) from litellm.utils import ( + Choices, CustomStreamWrapper, + EmbeddingResponse, + Message, + ModelResponse, ProviderConfigManager, + TextChoices, + TextCompletionResponse, + TextCompletionStreamWrapper, + TranscriptionResponse, Usage, _get_model_info_helper, add_provider_specific_params_to_optional_params, @@ -165,8 +178,8 @@ from .llms.azure_ai.anthropic.handler import AzureAnthropicChatCompletion from .llms.azure_ai.embed import AzureAIEmbedding from .llms.bedrock.chat import BedrockConverseLLM, BedrockLLM from .llms.bedrock.embed.embedding import BedrockEmbedding -from .llms.bedrock.image_generation.image_handler import BedrockImageGeneration from .llms.bedrock.image_edit.handler import BedrockImageEdit +from .llms.bedrock.image_generation.image_handler import BedrockImageGeneration from .llms.bytez.chat.transformation import BytezChatConfig from .llms.clarifai.chat.transformation import ClarifaiConfig from .llms.codestral.completion.handler import CodestralTextCompletion @@ -239,18 +252,6 @@ from .types.utils import ( all_litellm_params, ) -from litellm.types.utils import ModelResponseStream -from litellm.utils import ( - Choices, - EmbeddingResponse, - Message, - ModelResponse, - TextChoices, - TextCompletionResponse, - TextCompletionStreamWrapper, - TranscriptionResponse, -) - ####### ENVIRONMENT VARIABLES ################### openai_chat_completions = OpenAIChatCompletion() openai_text_completions = OpenAITextCompletion() @@ -2263,6 +2264,7 @@ def completion( # type: ignore # noqa: PLR0915 or custom_llm_provider == "wandb" or custom_llm_provider == "clarifai" or custom_llm_provider in litellm.openai_compatible_providers + or JSONProviderRegistry.exists(custom_llm_provider) # JSON-configured providers or "ft:gpt-3.5-turbo" in model # finetune gpt-3.5-turbo ): # allow user to make an openai call with a custom base # note: if a user sets a custom base - we should ensure this works @@ -6469,6 +6471,35 @@ def speech( # noqa: PLR0915 api_key=api_key, **kwargs, ) + elif custom_llm_provider == "aws_polly": + from litellm.llms.aws_polly.text_to_speech.transformation import ( + AWSPollyTextToSpeechConfig, + ) + + # AWS Polly Text-to-Speech + if text_to_speech_provider_config is None: + text_to_speech_provider_config = AWSPollyTextToSpeechConfig() + + # Cast to specific AWS Polly config type to access dispatch method + aws_polly_config = cast( + AWSPollyTextToSpeechConfig, text_to_speech_provider_config + ) + + response = aws_polly_config.dispatch_text_to_speech( + model=model, + input=input, + voice=voice, + optional_params=optional_params, + litellm_params_dict=litellm_params_dict, + logging_obj=logging_obj, + timeout=timeout, + extra_headers=extra_headers, + base_llm_http_handler=base_llm_http_handler, + aspeech=aspeech or False, + api_base=api_base, + api_key=api_key, + **kwargs, + ) if response is None: raise Exception( @@ -6903,6 +6934,7 @@ def _get_encoding(): global _encoding_cache if _encoding_cache is None: import sys + # Access via module to trigger __getattr__ if not cached _encoding_cache = sys.modules[__name__].encoding return _encoding_cache diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index d0bbbe6d5d..f4b42d1fd6 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -15364,6 +15364,34 @@ "video" ] }, + "gemini/veo-3.1-fast-generate-001": { + "litellm_provider": "gemini", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.15, + "source": "https://ai.google.dev/gemini-api/docs/video", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "gemini/veo-3.1-generate-001": { + "litellm_provider": "gemini", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.40, + "source": "https://ai.google.dev/gemini-api/docs/video", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, "github_copilot/claude-haiku-4.5": { "litellm_provider": "github_copilot", "max_input_tokens": 128000, @@ -24594,27 +24622,6 @@ "mode": "image_generation", "output_cost_per_image": 0.04 }, - "stability.stable-image-core-v1:1": { - "litellm_provider": "bedrock", - "max_input_tokens": 77, - "max_tokens": 77, - "mode": "image_generation", - "output_cost_per_image": 0.04 - }, - "stability.stable-image-ultra-v1:0": { - "litellm_provider": "bedrock", - "max_input_tokens": 77, - "max_tokens": 77, - "mode": "image_generation", - "output_cost_per_image": 0.14 - }, - "stability.stable-image-ultra-v1:1": { - "litellm_provider": "bedrock", - "max_input_tokens": 77, - "max_tokens": 77, - "mode": "image_generation", - "output_cost_per_image": 0.14 - }, "stability.stable-conservative-upscale-v1:0": { "litellm_provider": "bedrock", "max_input_tokens": 77, @@ -24693,6 +24700,27 @@ "mode": "image_edit", "output_cost_per_image": 0.08 }, + "stability.stable-image-core-v1:1": { + "litellm_provider": "bedrock", + "max_input_tokens": 77, + "max_tokens": 77, + "mode": "image_generation", + "output_cost_per_image": 0.04 + }, + "stability.stable-image-ultra-v1:0": { + "litellm_provider": "bedrock", + "max_input_tokens": 77, + "max_tokens": 77, + "mode": "image_generation", + "output_cost_per_image": 0.14 + }, + "stability.stable-image-ultra-v1:1": { + "litellm_provider": "bedrock", + "max_input_tokens": 77, + "max_tokens": 77, + "mode": "image_generation", + "output_cost_per_image": 0.14 + }, "standard/1024-x-1024/dall-e-3": { "input_cost_per_pixel": 3.81469e-08, "litellm_provider": "openai", @@ -25395,6 +25423,42 @@ "/v1/audio/speech" ] }, + "aws_polly/standard": { + "input_cost_per_character": 4e-06, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, + "aws_polly/neural": { + "input_cost_per_character": 1.6e-05, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, + "aws_polly/long-form": { + "input_cost_per_character": 1e-04, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, + "aws_polly/generative": { + "input_cost_per_character": 3e-05, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, "us.amazon.nova-lite-v1:0": { "input_cost_per_token": 6e-08, "litellm_provider": "bedrock_converse", @@ -28115,6 +28179,34 @@ "video" ] }, + "vertex_ai/veo-3.1-generate-001": { + "litellm_provider": "vertex_ai-video-models", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.4, + "source": "https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "vertex_ai/veo-3.1-fast-generate-001": { + "litellm_provider": "vertex_ai-video-models", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.15, + "source": "https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, "voyage/rerank-2": { "input_cost_per_token": 5e-08, "litellm_provider": "voyage", diff --git a/litellm/proxy/_experimental/out/_next/static/qCeWtTTvIQuU871jPeeNA/_buildManifest.js b/litellm/proxy/_experimental/out/_next/static/BMqdCjUaq8FHE7G2pguZS/_buildManifest.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/qCeWtTTvIQuU871jPeeNA/_buildManifest.js rename to litellm/proxy/_experimental/out/_next/static/BMqdCjUaq8FHE7G2pguZS/_buildManifest.js diff --git a/litellm/proxy/_experimental/out/_next/static/qCeWtTTvIQuU871jPeeNA/_ssgManifest.js b/litellm/proxy/_experimental/out/_next/static/BMqdCjUaq8FHE7G2pguZS/_ssgManifest.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/qCeWtTTvIQuU871jPeeNA/_ssgManifest.js rename to litellm/proxy/_experimental/out/_next/static/BMqdCjUaq8FHE7G2pguZS/_ssgManifest.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1130-8e58d6f70a0ae076.js b/litellm/proxy/_experimental/out/_next/static/chunks/1130-8e58d6f70a0ae076.js new file mode 100644 index 0000000000..93885d7005 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/1130-8e58d6f70a0ae076.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1130],{34310:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z"}}]},name:"file-exclamation",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},38434:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},69993:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},32489:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},15452:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,o={},s=0,a={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=y(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new d(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview,i)r.postMessage({results:o,workerId:a.WORKER_ID,finished:n});else if(k(this._config.chunk)&&!t){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=o=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!n||!k(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(e){k(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function c(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),u.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function h(e){u.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=w(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=w(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=w(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=w(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function d(e){var t,r,n,i,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,s=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,c=0,l=0,f=!1,h=!1,d=[],g={data:[],errors:[],meta:{}};function v(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function _(){if(g&&n&&(b("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(g.data=g.data.filter(function(e){return!v(e)})),w()){if(g){if(Array.isArray(g.data[0])){for(var t,r=0;w()&&r=d.length?"__parsed_extra":d[i]:a,c=u=e.transform?e.transform(u,a):u,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===c||"TRUE"===c||"false"!==c&&"FALSE"!==c&&((e=>{if(o.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(c)?parseFloat(c):s.test(c)?new Date(c):""===c?null:c):c);"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(u)):n[a]=u}return e.header&&(i>d.length?b("FieldMismatch","TooManyFields","Too many fields: expected "+d.length+" fields but parsed "+i,l+r):ie.preview?r.abort():(g.data=g.data[0],i(g,u))))}),this.parse=function(i,o,s){var u=e.quoteChar||'"',u=(e.newline||(e.newline=this.guessLineEndings(i,u)),n=!1,e.delimiter?k(e.delimiter)&&(e.delimiter=e.delimiter(i),g.meta.delimiter=e.delimiter):((u=((t,r,n,i,o)=>{var s,u,c,l;o=o||[","," ","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var f=0;f=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function m(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,o=e.preview,s=e.fastMode,u=null,c=!1,l=null==e.quoteChar?'"':e.quoteChar,f=l;if(void 0!==e.escapeChar&&(f=e.escapeChar),("string"!=typeof t||-1=o)return Z(!0);break}O.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:E.length,index:h}),z++}}else if(n&&0===C.length&&a.substring(h,h+w)===n){if(-1===S)return Z();h=S+y,S=a.indexOf(r,h),L=a.indexOf(t,h)}else if(-1!==L&&(L=o)return Z(!0)}return D();function I(e){E.push(e),x=h}function A(e){return -1!==e&&(e=a.substring(z+1,e))&&""===e.trim()?e.length:0}function D(e){return g||(void 0===e&&(e=a.substring(h)),C.push(e),h=v,I(C),b&&F()),Z()}function P(e){h=e,I(C),C=[],S=a.indexOf(r,h)}function Z(n){if(e.header&&!m&&E.length&&!c){var i=E[0],o=Object.create(null),s=new Set(i);let t=!1;for(let r=0;r{if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(c=t.skipEmptyLines),"string"==typeof t.newline&&(o=t.newline),"string"==typeof t.quoteChar&&(s=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");l=t.columns}void 0!==t.escapeChar&&(u=t.escapeChar+s),t.escapeFormulae instanceof RegExp?f=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(f=/^[=+\-@\t\r].*$/)}})(),RegExp(p(s),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return d(null,e,c);if("object"==typeof e[0])return d(l||Object.keys(e[0]),e,c)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||l),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),d(e.fields||[],e.data||[],c);throw Error("Unable to serialize unrecognized input");function d(e,t,r){var s="",a=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,s),n=i.default.Children.only(t);return i.default.cloneElement(n,c(c({},r),{},{onClick:this.onClick}))}}],function(e,t){for(var r=0;r[...l,"list"],list:e=>[...l,"list",{params:e}],details:()=>[...l,"detail"],detail:e=>[...l,"detail",e]}}},55584:function(e,l,t){t.d(l,{L:function(){return i}});var s=t(19250),a=t(11713);let r=(0,t(90246).n)("uiSettings"),i=e=>(0,a.a)({queryKey:r.list({}),queryFn:async()=>await (0,s.getUiSettings)(e),enabled:!!e,staleTime:36e5,gcTime:36e5})},31200:function(e,l,t){t.d(l,{Z:function(){return lJ}});var s=t(57437),a=t(29827),r=t(49804),i=t(67101),n=t(84264),o=t(2265),d=t(9114),c=t(19250),m=t(42673);let u=async(e,l,t)=>{try{var s,a;console.log("handling submit for formValues:",e);let l=e.model_mappings||[];if("model_mappings"in e&&delete e.model_mappings,e.model&&e.model.includes("all-wildcard")){let t=e.custom_llm_provider,a=(null!==(s=m.fK[t])&&void 0!==s?s:t.toLowerCase())+"/*";e.model_name=a,l.push({public_name:a,litellm_model:a}),e.model=a}let t=[];for(let s of l){let l={},r={},i=s.public_name;for(let[t,i]of(l.model=s.litellm_model,e.input_cost_per_token&&(e.input_cost_per_token=Number(e.input_cost_per_token)/1e6),e.output_cost_per_token&&(e.output_cost_per_token=Number(e.output_cost_per_token)/1e6),l.model=s.litellm_model,console.log("formValues add deployment:",e),Object.entries(e)))if(""!==i&&"custom_pricing"!==t&&"pricing_model"!==t&&"cache_control"!==t){if("model_name"==t)l.model=i;else if("custom_llm_provider"==t){console.log("custom_llm_provider:",i);let e=null!==(a=m.fK[i])&&void 0!==a?a:i.toLowerCase();l.custom_llm_provider=e,console.log("custom_llm_provider mappingResult:",e)}else if("model"==t)continue;else if("base_model"===t)r[t]=i;else if("team_id"===t)r.team_id=i;else if("model_access_group"===t)r.access_groups=i;else if("mode"==t)console.log("placing mode in modelInfo"),r.mode=i,delete l.mode;else if("custom_model_name"===t)l.model=i;else if("litellm_extra_params"==t){console.log("litellm_extra_params:",i);let e={};if(i&&void 0!=i){try{e=JSON.parse(i)}catch(e){throw d.Z.fromBackend("Failed to parse LiteLLM Extra Params: "+e),Error("Failed to parse litellm_extra_params: "+e)}for(let[t,s]of Object.entries(e))l[t]=s}}else if("model_info_params"==t){console.log("model_info_params:",i);let e={};if(i&&void 0!=i){try{e=JSON.parse(i)}catch(e){throw d.Z.fromBackend("Failed to parse LiteLLM Extra Params: "+e),Error("Failed to parse litellm_extra_params: "+e)}for(let[l,t]of Object.entries(e))r[l]=t}}else if("input_cost_per_token"===t||"output_cost_per_token"===t||"input_cost_per_second"===t){i&&(l[t]=Number(i));continue}else l[t]=i}t.push({litellmParamsObj:l,modelInfoObj:r,modelName:i})}return t}catch(e){d.Z.fromBackend("Failed to create model: "+e)}},h=async(e,l,t,s)=>{try{let a=await u(e,l,t);if(!a||0===a.length)return;for(let e of a){let{litellmParamsObj:t,modelInfoObj:s,modelName:a}=e,r={model_name:a,litellm_params:t,model_info:s},i=await (0,c.modelCreateCall)(l,r);console.log("response for model create call: ".concat(i.data))}s&&s(),t.resetFields()}catch(e){d.Z.fromBackend("Failed to add model: "+e)}};var x=t(11713),p=t(90246);let g=(0,p.n)("credentials"),f=e=>(0,x.a)({queryKey:g.list({}),queryFn:async()=>await (0,c.credentialListCall)(e),enabled:!!e}),j=(0,p.n)("models");(0,p.n)("modelHub");let v=(e,l,t)=>(0,x.a)({queryKey:j.list({filters:{...l&&{userID:l},...t&&{userRole:t}}}),queryFn:async()=>await (0,c.modelInfoCall)(e,l,t),enabled:!!(e&&l&&t)});var _=t(53410),y=t(74998),b=t(62490),N=t(10032),Z=t(21609),w=t(31283),C=t(57840),S=t(22116),k=t(37592),A=t(99981),E=t(5545);let M=(0,p.n)("providerFields"),I=()=>(0,x.a)({queryKey:M.list({}),queryFn:async()=>await (0,c.getProviderCreateMetadata)(),staleTime:864e5,gcTime:864e5});var F=t(3632),P=t(56522),L=t(47451),T=t(69410),R=t(65319),O=t(4260);let{Link:V}=C.default,D=e=>{var l,t,s,a,r;let i="password"===e.field_type?"password":"select"===e.field_type?"select":"upload"===e.field_type?"upload":"textarea"===e.field_type?"textarea":"text";return{key:e.key,label:e.label,placeholder:null!==(l=e.placeholder)&&void 0!==l?l:void 0,tooltip:null!==(t=e.tooltip)&&void 0!==t?t:void 0,required:null!==(s=e.required)&&void 0!==s&&s,type:i,options:null!==(a=e.options)&&void 0!==a?a:void 0,defaultValue:null!==(r=e.default_value)&&void 0!==r?r:void 0}},z={};var q=e=>{let{selectedProvider:l,uploadProps:t}=e,a=m.Cl[l],r=N.Z.useFormInstance(),{data:i,isLoading:n,error:d}=I(),c=o.useMemo(()=>{if(!i)return null;let e={};return i.forEach(l=>{let t=l.provider_display_name,s=l.credential_fields.map(D);e[t]=s,l.provider&&(e[l.provider]=s),l.litellm_provider&&(e[l.litellm_provider]=s)}),e},[i]);o.useEffect(()=>{c&&Object.assign(z,c)},[c]);let u=o.useMemo(()=>{var e;let t=null!==(e=z[a])&&void 0!==e?e:z[l];if(t)return t;if(!i)return[];let s=i.find(e=>e.provider_display_name===a||e.provider===l||e.litellm_provider===l);if(!s)return[];let r=s.credential_fields.map(D);return z[s.provider_display_name]=r,s.provider&&(z[s.provider]=r),s.litellm_provider&&(z[s.litellm_provider]=r),r},[a,l,i]),h={name:"file",accept:".json",beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;console.log("Setting field value from JSON, length: ".concat(l.length)),r.setFieldsValue({vertex_credentials:l}),console.log("Form values after setting:",r.getFieldsValue())}},l.readAsText(e)}return!1},onChange(e){console.log("Upload onChange triggered in ProviderSpecificFields"),console.log("Current form values:",r.getFieldsValue()),"uploading"!==e.file.status&&console.log(e.file,e.fileList)}};return(0,s.jsxs)(s.Fragment,{children:[n&&0===u.length&&(0,s.jsx)(L.Z,{children:(0,s.jsx)(T.Z,{span:24,children:(0,s.jsx)(P.x,{className:"mb-2",children:"Loading provider fields..."})})}),d&&0===u.length&&(0,s.jsx)(L.Z,{children:(0,s.jsx)(T.Z,{span:24,children:(0,s.jsx)(P.x,{className:"mb-2 text-red-500",children:d instanceof Error?d.message:"Failed to load provider credential fields"})})}),u.map(e=>{var l;return(0,s.jsxs)(o.Fragment,{children:[(0,s.jsx)(N.Z.Item,{label:e.label,name:e.key,rules:e.required?[{required:!0,message:"Required"}]:void 0,tooltip:e.tooltip,className:"vertex_credentials"===e.key?"mb-0":void 0,children:"select"===e.type?(0,s.jsx)(k.default,{placeholder:e.placeholder,defaultValue:e.defaultValue,children:null===(l=e.options)||void 0===l?void 0:l.map(e=>(0,s.jsx)(k.default.Option,{value:e,children:e},e))}):"upload"===e.type?(0,s.jsx)(R.default,{...h,onChange:l=>{(null==t?void 0:t.onChange)&&t.onChange(l),setTimeout(()=>{let l=r.getFieldValue(e.key);console.log("".concat(e.key," value after upload:"),JSON.stringify(l))},500)},children:(0,s.jsx)(E.ZP,{icon:(0,s.jsx)(F.Z,{}),children:"Click to Upload"})}):"textarea"===e.type?(0,s.jsx)(O.default.TextArea,{placeholder:e.placeholder,defaultValue:e.defaultValue,rows:6,style:{fontFamily:"monospace",fontSize:"12px"}}):(0,s.jsx)(P.o,{placeholder:e.placeholder,type:"password"===e.type?"password":"text",defaultValue:e.defaultValue})}),"vertex_credentials"===e.key&&(0,s.jsx)(L.Z,{children:(0,s.jsx)(T.Z,{children:(0,s.jsx)(P.x,{className:"mb-3 mt-1",children:"Give a gcp service account(.json file)"})})}),"base_model"===e.key&&(0,s.jsxs)(L.Z,{children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:10,children:(0,s.jsxs)(P.x,{className:"mb-2",children:["The actual model your azure deployment uses. Used for accurate cost tracking. Select name from"," ",(0,s.jsx)(V,{href:"https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json",target:"_blank",children:"here"})]})})]})]},e.key)})]})};let{Link:B}=C.default;var U=e=>{let{open:l,onCancel:t,onAddCredential:a,uploadProps:r}=e,[i]=N.Z.useForm(),[n,d]=(0,o.useState)(m.Cl.OpenAI);return(0,s.jsx)(S.Z,{title:"Add New Credential",open:l,onCancel:()=>{t(),i.resetFields()},footer:null,width:600,children:(0,s.jsxs)(N.Z,{form:i,onFinish:e=>{a(Object.entries(e).reduce((e,l)=>{let[t,s]=l;return""!==s&&null!=s&&(e[t]=s),e},{})),i.resetFields()},layout:"vertical",children:[(0,s.jsx)(N.Z.Item,{label:"Credential Name:",name:"credential_name",rules:[{required:!0,message:"Credential name is required"}],children:(0,s.jsx)(w.o,{placeholder:"Enter a friendly name for these credentials"})}),(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"Helper to auto-populate provider specific fields",children:(0,s.jsx)(k.default,{showSearch:!0,onChange:e=>{d(e),i.setFieldValue("custom_llm_provider",e)},children:Object.entries(m.Cl).map(e=>{let[l,t]=e;return(0,s.jsx)(k.default.Option,{value:l,children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("img",{src:m.cd[t],alt:"".concat(l," logo"),className:"w-5 h-5",onError:e=>{let l=e.target,s=l.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,l)}}}),(0,s.jsx)("span",{children:t})]})},l)})})}),(0,s.jsx)(q,{selectedProvider:n,uploadProps:r}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(B,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)(E.ZP,{onClick:()=>{t(),i.resetFields()},style:{marginRight:10},children:"Cancel"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Add Credential"})]})]})]})})};let{Link:G}=C.default;function H(e){let{open:l,onCancel:t,onUpdateCredential:a,uploadProps:r,existingCredential:i}=e,[n]=N.Z.useForm(),[d,c]=(0,o.useState)(m.Cl.Anthropic);return(0,o.useEffect)(()=>{if(i){let e=Object.entries(i.credential_values||{}).reduce((e,l)=>{let[t,s]=l;return e[t]=null!=s?s:null,e},{});n.setFieldsValue({credential_name:i.credential_name,custom_llm_provider:i.credential_info.custom_llm_provider,...e}),c(i.credential_info.custom_llm_provider)}},[i]),(0,s.jsx)(S.Z,{title:"Edit Credential",open:l,onCancel:()=>{t(),n.resetFields()},footer:null,width:600,destroyOnHidden:!0,children:(0,s.jsxs)(N.Z,{form:n,onFinish:e=>{a(Object.entries(e).reduce((e,l)=>{let[t,s]=l;return""!==s&&null!=s&&(e[t]=s),e},{})),n.resetFields()},layout:"vertical",children:[(0,s.jsx)(N.Z.Item,{label:"Credential Name:",name:"credential_name",rules:[{required:!0,message:"Credential name is required"}],initialValue:null==i?void 0:i.credential_name,children:(0,s.jsx)(w.o,{placeholder:"Enter a friendly name for these credentials",disabled:null!=i&&!!i.credential_name})}),(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"Helper to auto-populate provider specific fields",children:(0,s.jsx)(k.default,{showSearch:!0,onChange:e=>{c(e),n.setFieldValue("custom_llm_provider",e)},children:Object.entries(m.Cl).map(e=>{let[l,t]=e;return(0,s.jsx)(k.default.Option,{value:l,children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("img",{src:m.cd[t],alt:"".concat(l," logo"),className:"w-5 h-5",onError:e=>{let l=e.target,s=l.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,l)}}}),(0,s.jsx)("span",{children:t})]})},l)})})}),(0,s.jsx)(q,{selectedProvider:d,uploadProps:r}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(G,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)(E.ZP,{onClick:()=>{t(),n.resetFields()},style:{marginRight:10},children:"Cancel"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Update Credential"})]})]})]})})}var K=t(39760),J=e=>{var l;let{uploadProps:t}=e,{accessToken:a}=(0,K.Z)(),{data:r,refetch:i}=f(a),n=(null==r?void 0:r.credentials)||[],[m,u]=(0,o.useState)(!1),[h,x]=(0,o.useState)(!1),[p,g]=(0,o.useState)(null),[j,v]=(0,o.useState)(null),[w,C]=(0,o.useState)(!1),[S,k]=(0,o.useState)(!1),[A]=N.Z.useForm(),E=["credential_name","custom_llm_provider"],M=async e=>{if(!a)return;let l=Object.entries(e).filter(e=>{let[l]=e;return!E.includes(l)}).reduce((e,l)=>{let[t,s]=l;return{...e,[t]:s}},{}),t={credential_name:e.credential_name,credential_values:l,credential_info:{custom_llm_provider:e.custom_llm_provider}};await (0,c.credentialUpdateCall)(a,e.credential_name,t),d.Z.success("Credential updated successfully"),x(!1),await i()},I=async e=>{if(!a)return;let l=Object.entries(e).filter(e=>{let[l]=e;return!E.includes(l)}).reduce((e,l)=>{let[t,s]=l;return{...e,[t]:s}},{}),t={credential_name:e.credential_name,credential_values:l,credential_info:{custom_llm_provider:e.custom_llm_provider}};await (0,c.credentialCreateCall)(a,t),d.Z.success("Credential added successfully"),u(!1),await i()},F=e=>{let l={openai:"blue",azure:"indigo",anthropic:"purple",default:"gray"},t=l[e.toLowerCase()]||l.default;return(0,s.jsx)(b.Ct,{color:t,size:"xs",children:e})},P=async()=>{if(a&&j){k(!0);try{await (0,c.credentialDeleteCall)(a,j.credential_name),d.Z.success("Credential deleted successfully"),await i()}catch(e){d.Z.error("Failed to delete credential")}finally{v(null),C(!1),k(!1)}}},L=e=>{v(e),C(!0)};return(0,s.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto p-2",children:[(0,s.jsx)(b.zx,{onClick:()=>u(!0),children:"Add Credential"}),(0,s.jsx)("div",{className:"flex justify-between items-center mt-4 mb-4",children:(0,s.jsx)(b.xv,{children:"Configured credentials for different AI providers. Add and manage your API credentials."})}),(0,s.jsx)(b.Zb,{children:(0,s.jsxs)(b.iA,{children:[(0,s.jsx)(b.ss,{children:(0,s.jsxs)(b.SC,{children:[(0,s.jsx)(b.xs,{children:"Credential Name"}),(0,s.jsx)(b.xs,{children:"Provider"}),(0,s.jsx)(b.xs,{children:"Actions"})]})}),(0,s.jsx)(b.RM,{children:n&&0!==n.length?n.map((e,l)=>{var t;return(0,s.jsxs)(b.SC,{children:[(0,s.jsx)(b.pj,{children:e.credential_name}),(0,s.jsx)(b.pj,{children:F((null===(t=e.credential_info)||void 0===t?void 0:t.custom_llm_provider)||"-")}),(0,s.jsxs)(b.pj,{children:[(0,s.jsx)(b.zx,{icon:_.Z,variant:"light",size:"sm",onClick:()=>{g(e),x(!0)}}),(0,s.jsx)(b.zx,{icon:y.Z,variant:"light",size:"sm",onClick:()=>L(e),className:"ml-2"})]})]},l)}):(0,s.jsx)(b.SC,{children:(0,s.jsx)(b.pj,{colSpan:4,className:"text-center py-4 text-gray-500",children:"No credentials configured"})})})]})}),m&&(0,s.jsx)(U,{onAddCredential:I,open:m,onCancel:()=>u(!1),uploadProps:t}),h&&(0,s.jsx)(H,{open:h,existingCredential:p,onUpdateCredential:M,uploadProps:t,onCancel:()=>x(!1)}),(0,s.jsx)(Z.Z,{isOpen:w,onCancel:()=>{v(null),C(!1)},onOk:P,title:"Delete Credential?",message:"Are you sure you want to delete this credential? This action cannot be undone and may break existing integrations.",resourceInformationTitle:"Credential Information",resourceInformation:[{label:"Credential Name",value:null==j?void 0:j.credential_name},{label:"Provider",value:(null==j?void 0:null===(l=j.credential_info)||void 0===l?void 0:l.custom_llm_provider)||"-"}],confirmLoading:S,requiredConfirmation:null==j?void 0:j.credential_name})]})};let W=e=>{var l;return(null==e?void 0:null===(l=e.model_info)||void 0===l?void 0:l.team_public_model_name)?e.model_info.team_public_model_name:(null==e?void 0:e.model_name)||"-"};var Y=t(23628),$=t(47323),Q=t(12485),X=t(18135),ee=t(35242),el=t(29706),et=t(77991),es=t(20347),ea=t(59341),er=t(5945),ei=t(84376),en=t(29),eo=t.n(en),ed=t(23496),ec=t(35291),em=t(23639),eu=t(15424);let{Text:eh}=C.default;var ex=e=>{let{formValues:l,accessToken:t,testMode:a,modelName:r="this model",onClose:i,onTestComplete:n}=e,[m,h]=o.useState(null),[x,p]=o.useState(null),[g,f]=o.useState(null),[j,v]=o.useState(!0),[_,y]=o.useState(!1),[b,N]=o.useState(!1),Z=async()=>{v(!0),N(!1),h(null),p(null),f(null),y(!1),await new Promise(e=>setTimeout(e,100));try{console.log("Testing connection with form values:",l);let a=await u(l,t,null);if(!a){console.log("No result from prepareModelAddRequest"),h("Failed to prepare model data. Please check your form inputs."),y(!1),v(!1);return}console.log("Result from prepareModelAddRequest:",a);let{litellmParamsObj:r,modelInfoObj:i,modelName:n}=a[0],o=await (0,c.testConnectionRequest)(t,r,i,null==i?void 0:i.mode);if("success"===o.status)d.Z.success("Connection test successful!"),h(null),y(!0);else{var e,s;let l=(null===(e=o.result)||void 0===e?void 0:e.error)||o.message||"Unknown error";h(l),p(r),f(null===(s=o.result)||void 0===s?void 0:s.raw_request_typed_dict),y(!1)}}catch(e){console.error("Test connection error:",e),h(e instanceof Error?e.message:String(e)),y(!1)}finally{v(!1),n&&n()}};o.useEffect(()=>{let e=setTimeout(()=>{Z()},200);return()=>clearTimeout(e)},[]);let w=e=>e?e.split("stack trace:")[0].trim().replace(/^litellm\.(.*?)Error: /,""):"Unknown error",C="string"==typeof m?w(m):(null==m?void 0:m.message)?w(m.message):"Unknown error",S=g?((e,l,t)=>{let s=JSON.stringify(l,null,2).split("\n").map(e=>" ".concat(e)).join("\n"),a=Object.entries(t).map(e=>{let[l,t]=e;return"-H '".concat(l,": ").concat(t,"'")}).join(" \\\n ");return"curl -X POST \\\n ".concat(e," \\\n ").concat(a?"".concat(a," \\\n "):"","-H 'Content-Type: application/json' \\\n -d '{\n").concat(s,"\n }'")})(g.raw_request_api_base,g.raw_request_body,g.raw_request_headers||{}):"";return(0,s.jsxs)("div",{style:{padding:"24px",borderRadius:"8px",backgroundColor:"#fff"},children:[j?(0,s.jsxs)("div",{style:{textAlign:"center",padding:"32px 20px"},className:"jsx-dc9a0e2d897fe63b",children:[(0,s.jsx)("div",{style:{marginBottom:"16px"},className:"jsx-dc9a0e2d897fe63b loading-spinner",children:(0,s.jsx)("div",{style:{border:"3px solid #f3f3f3",borderTop:"3px solid #1890ff",borderRadius:"50%",width:"30px",height:"30px",animation:"spin 1s linear infinite",margin:"0 auto"},className:"jsx-dc9a0e2d897fe63b"})}),(0,s.jsxs)(eh,{style:{fontSize:"16px"},children:["Testing connection to ",r,"..."]}),(0,s.jsx)(eo(),{id:"dc9a0e2d897fe63b",children:"@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}"})]}):_?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"32px 20px"},children:[(0,s.jsx)("div",{style:{color:"#52c41a",fontSize:"24px",display:"flex",alignItems:"center"},children:(0,s.jsx)("svg",{viewBox:"64 64 896 896",focusable:"false","data-icon":"check-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",children:(0,s.jsx)("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"})})}),(0,s.jsxs)(eh,{type:"success",style:{fontSize:"18px",fontWeight:500,marginLeft:"10px"},children:["Connection to ",r," successful!"]})]}):(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:"20px"},children:[(0,s.jsx)(ec.Z,{style:{color:"#ff4d4f",fontSize:"24px",marginRight:"12px"}}),(0,s.jsxs)(eh,{type:"danger",style:{fontSize:"18px",fontWeight:500},children:["Connection to ",r," failed"]})]}),(0,s.jsxs)("div",{style:{backgroundColor:"#fff2f0",border:"1px solid #ffccc7",borderRadius:"8px",padding:"16px",marginBottom:"20px",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.03)"},children:[(0,s.jsxs)(eh,{strong:!0,style:{display:"block",marginBottom:"8px"},children:["Error:"," "]}),(0,s.jsx)(eh,{type:"danger",style:{fontSize:"14px",lineHeight:"1.5"},children:C}),m&&(0,s.jsx)("div",{style:{marginTop:"12px"},children:(0,s.jsx)(E.ZP,{type:"link",onClick:()=>N(!b),style:{paddingLeft:0,height:"auto"},children:b?"Hide Details":"Show Details"})})]}),b&&(0,s.jsxs)("div",{style:{marginBottom:"20px"},children:[(0,s.jsx)(eh,{strong:!0,style:{display:"block",marginBottom:"8px",fontSize:"15px"},children:"Troubleshooting Details"}),(0,s.jsx)("pre",{style:{backgroundColor:"#f5f5f5",padding:"16px",borderRadius:"8px",fontSize:"13px",maxHeight:"200px",overflow:"auto",border:"1px solid #e8e8e8",lineHeight:"1.5"},children:"string"==typeof m?m:JSON.stringify(m,null,2)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(eh,{strong:!0,style:{display:"block",marginBottom:"8px",fontSize:"15px"},children:"API Request"}),(0,s.jsx)("pre",{style:{backgroundColor:"#f5f5f5",padding:"16px",borderRadius:"8px",fontSize:"13px",maxHeight:"250px",overflow:"auto",border:"1px solid #e8e8e8",lineHeight:"1.5"},children:S||"No request data available"}),(0,s.jsx)(E.ZP,{style:{marginTop:"8px"},icon:(0,s.jsx)(em.Z,{}),onClick:()=>{navigator.clipboard.writeText(S||""),d.Z.success("Copied to clipboard")},children:"Copy to Clipboard"})]})]})}),(0,s.jsx)(ed.Z,{style:{margin:"24px 0 16px"}}),(0,s.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,s.jsx)(E.ZP,{type:"link",href:"https://docs.litellm.ai/docs/providers",target:"_blank",icon:(0,s.jsx)(eu.Z,{}),children:"View Documentation"})})]})};let ep=async(e,l,t,s)=>{try{console.log("=== AUTO ROUTER SUBMIT HANDLER CALLED ==="),console.log("handling auto router submit for formValues:",e),console.log("Access token:",l?"Present":"Missing"),console.log("Form:",t?"Present":"Missing"),console.log("Callback:",s?"Present":"Missing");let a={model_name:e.auto_router_name,litellm_params:{model:"auto_router/".concat(e.auto_router_name),auto_router_config:JSON.stringify(e.auto_router_config),auto_router_default_model:e.auto_router_default_model},model_info:{}};e.auto_router_embedding_model&&"custom"!==e.auto_router_embedding_model?a.litellm_params.auto_router_embedding_model=e.auto_router_embedding_model:e.custom_embedding_model&&(a.litellm_params.auto_router_embedding_model=e.custom_embedding_model),e.team_id&&(a.model_info.team_id=e.team_id),e.model_access_group&&e.model_access_group.length>0&&(a.model_info.access_groups=e.model_access_group),console.log("Auto router configuration to be created:",a),console.log("Auto router config (stringified):",a.litellm_params.auto_router_config),console.log("Calling modelCreateCall with:",{accessToken:l?"Present":"Missing",config:a});let r=await (0,c.modelCreateCall)(l,a);console.log("response for auto router create call:",r),t.resetFields()}catch(e){console.error("Failed to add auto router:",e),d.Z.fromBackend("Failed to add auto router: "+e)}};var eg=t(10703),ef=t(44851),ej=t(19015),ev=t(96473),e_=t(70464),ey=t(26349),eb=t(92280);let{TextArea:eN}=O.default,{Panel:eZ}=ef.default;var ew=e=>{let{modelInfo:l,value:t,onChange:a}=e,[r,i]=(0,o.useState)([]),[n,d]=(0,o.useState)(!1),[c,m]=(0,o.useState)([]);(0,o.useEffect)(()=>{if(null==t?void 0:t.routes){let e=t.routes.map((e,l)=>({id:e.id||"route-".concat(l,"-").concat(Date.now()),model:e.name||e.model||"",utterances:e.utterances||[],description:e.description||"",score_threshold:e.score_threshold||.5}));i(e),m(e.map(e=>e.id))}else i([]),m([])},[t]);let u=e=>{let l=r.filter(l=>l.id!==e);i(l),x(l),m(l=>l.filter(l=>l!==e))},h=(e,l,t)=>{let s=r.map(s=>s.id===e?{...s,[l]:t}:s);i(s),x(s)},x=e=>{let l={routes:e.map(e=>({name:e.model,utterances:e.utterances,description:e.description,score_threshold:e.score_threshold}))};null==a||a(l)},p=l.map(e=>({value:e.model_group,label:e.model_group}));return(0,s.jsxs)("div",{className:"w-full max-w-none",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6 w-full",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(eb.x,{className:"text-lg font-semibold",children:"Routes Configuration"}),(0,s.jsx)(A.Z,{title:"Configure routing logic to automatically select the best model based on user input patterns",children:(0,s.jsx)(eu.Z,{className:"text-gray-400"})})]}),(0,s.jsx)(E.ZP,{type:"primary",icon:(0,s.jsx)(ev.Z,{}),onClick:()=>{let e="route-".concat(Date.now()),l=[...r,{id:e,model:"",utterances:[],description:"",score_threshold:.5}];i(l),x(l),m(l=>[...l,e])},className:"bg-blue-600 hover:bg-blue-700",children:"Add Route"})]}),0===r.length?(0,s.jsx)("div",{className:"text-center py-12 text-gray-500 bg-gray-50 rounded-lg border-2 border-dashed border-gray-200 mb-6",children:(0,s.jsx)(eb.x,{children:"No routes configured. Click “Add Route” to get started."})}):(0,s.jsx)("div",{className:"space-y-3 mb-6 w-full",children:r.map((e,l)=>(0,s.jsx)(er.Z,{className:"border border-gray-200 shadow-sm w-full",bodyStyle:{padding:0},children:(0,s.jsx)(ef.default,{ghost:!0,expandIcon:e=>{let{isActive:l}=e;return(0,s.jsx)(e_.Z,{rotate:l?180:0})},activeKey:c,onChange:e=>m(Array.isArray(e)?e:[e].filter(Boolean)),items:[{key:e.id,label:(0,s.jsxs)("div",{className:"flex justify-between items-center py-2",children:[(0,s.jsxs)(eb.x,{className:"font-medium text-base",children:["Route ",l+1,": ",e.model||"Unnamed"]}),(0,s.jsx)(E.ZP,{type:"text",danger:!0,icon:(0,s.jsx)(ey.Z,{}),onClick:l=>{l.stopPropagation(),u(e.id)},className:"mr-2"})]}),children:(0,s.jsxs)("div",{className:"px-6 pb-6 w-full",children:[(0,s.jsxs)("div",{className:"mb-4 w-full",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium mb-2 block",children:"Model"}),(0,s.jsx)(k.default,{value:e.model,onChange:l=>h(e.id,"model",l),placeholder:"Select model",showSearch:!0,style:{width:"100%"},options:p})]}),(0,s.jsxs)("div",{className:"mb-4 w-full",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium mb-2 block",children:"Description"}),(0,s.jsx)(eN,{value:e.description,onChange:l=>h(e.id,"description",l.target.value),placeholder:"Describe when this route should be used...",rows:2,style:{width:"100%"}})]}),(0,s.jsxs)("div",{className:"mb-4 w-full",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium",children:"Score Threshold"}),(0,s.jsx)(A.Z,{title:"Minimum similarity score to route to this model (0-1)",children:(0,s.jsx)(eu.Z,{className:"text-gray-400"})})]}),(0,s.jsx)(ej.Z,{value:e.score_threshold,onChange:l=>h(e.id,"score_threshold",l||0),min:0,max:1,step:.1,style:{width:"100%"},placeholder:"0.5"})]}),(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium",children:"Example Utterances"}),(0,s.jsx)(A.Z,{title:"Training examples for this route. Type an utterance and press Enter to add it.",children:(0,s.jsx)(eu.Z,{className:"text-gray-400"})})]}),(0,s.jsx)(eb.x,{className:"text-xs text-gray-500 mb-2",children:"Type an utterance and press Enter to add it. You can also paste multiple lines."}),(0,s.jsx)(k.default,{mode:"tags",value:e.utterances,onChange:l=>h(e.id,"utterances",l),placeholder:"Type an utterance and press Enter...",style:{width:"100%"},tokenSeparators:["\n"],maxTagCount:"responsive",allowClear:!0})]})]})}]})},e.id))}),(0,s.jsxs)("div",{className:"border-t pt-6 w-full",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4 w-full",children:[(0,s.jsx)(eb.x,{className:"text-lg font-semibold",children:"JSON Preview"}),(0,s.jsx)(E.ZP,{type:"link",onClick:()=>d(!n),className:"text-blue-600 p-0",children:n?"Hide":"Show"})]}),n&&(0,s.jsx)(er.Z,{className:"bg-gray-50 w-full",children:(0,s.jsx)("pre",{className:"text-sm overflow-auto max-h-64 w-full",children:JSON.stringify({routes:r.map(e=>({name:e.model,utterances:e.utterances,description:e.description,score_threshold:e.score_threshold}))},null,2)})})]})]})};let{Title:eC,Link:eS}=C.default;var ek=e=>{let{form:l,handleOk:t,accessToken:a,userRole:r}=e,[i,n]=(0,o.useState)(!1),[m,u]=(0,o.useState)(!1),[h,x]=(0,o.useState)(""),[p,g]=(0,o.useState)([]),[f,j]=(0,o.useState)([]),[v,_]=(0,o.useState)(!1),[y,b]=(0,o.useState)(!1),[Z,w]=(0,o.useState)(null);(0,o.useEffect)(()=>{(async()=>{g((await (0,c.modelAvailableCall)(a,"","",!1,null,!0,!0)).data.map(e=>e.id))})()},[a]),(0,o.useEffect)(()=>{(async()=>{try{let e=await (0,eg.p)(a);console.log("Fetched models for auto router:",e),j(e)}catch(e){console.error("Error fetching model info for auto router:",e)}})()},[a]);let M=es.ZL.includes(r),I=async()=>{u(!0),x("test-".concat(Date.now())),n(!0)},F=()=>{console.log("Auto router submit triggered!"),console.log("Router config:",Z);let e=l.getFieldsValue();if(console.log("Form values:",e),!e.auto_router_name){d.Z.fromBackend("Please enter an Auto Router Name");return}if(!e.auto_router_default_model){d.Z.fromBackend("Please select a Default Model");return}if(l.setFieldsValue({custom_llm_provider:"auto_router",model:e.auto_router_name,api_key:"not_required_for_auto_router"}),!Z||!Z.routes||0===Z.routes.length){d.Z.fromBackend("Please configure at least one route for the auto router");return}if(Z.routes.filter(e=>!e.name||!e.description||0===e.utterances.length).length>0){d.Z.fromBackend("Please ensure all routes have a target model, description, and at least one utterance");return}l.validateFields().then(e=>{console.log("Form validation passed, submitting with values:",e);let s={...e,auto_router_config:Z};console.log("Final submit values:",s),ep(s,a,l,t)}).catch(e=>{console.error("Validation failed:",e);let l=e.errorFields||[];if(l.length>0){let e=l.map(e=>{let l=e.name[0];return({auto_router_name:"Auto Router Name",auto_router_default_model:"Default Model",auto_router_embedding_model:"Embedding Model"})[l]||l});d.Z.fromBackend("Please fill in the following required fields: ".concat(e.join(", ")))}else d.Z.fromBackend("Please fill in all required fields")})};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eC,{level:2,children:"Add Auto Router"}),(0,s.jsx)(P.x,{className:"text-gray-600 mb-6",children:"Create an auto router with intelligent routing logic that automatically selects the best model based on user input patterns and semantic matching."}),(0,s.jsx)(er.Z,{children:(0,s.jsxs)(N.Z,{form:l,onFinish:F,labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:[(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Auto router name is required"}],label:"Auto Router Name",name:"auto_router_name",tooltip:"Unique name for this auto router configuration",labelCol:{span:10},labelAlign:"left",children:(0,s.jsx)(P.o,{placeholder:"e.g., auto_router_1, smart_routing"})}),(0,s.jsx)("div",{className:"w-full mb-4",children:(0,s.jsx)(ew,{modelInfo:f,value:Z,onChange:e=>{w(e),l.setFieldValue("auto_router_config",e)}})}),(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Default model is required"}],label:"Default Model",name:"auto_router_default_model",tooltip:"Fallback model to use when auto routing logic cannot determine the best model",labelCol:{span:10},labelAlign:"left",children:(0,s.jsx)(k.default,{placeholder:"Select a default model",onChange:e=>{_("custom"===e)},options:[...Array.from(new Set(f.map(e=>e.model_group))).map(e=>({value:e,label:e})),{value:"custom",label:"Enter custom model name"}],style:{width:"100%"},showSearch:!0})}),(0,s.jsx)(N.Z.Item,{label:"Embedding Model",name:"auto_router_embedding_model",tooltip:"Optional: Embedding model to use for semantic routing decisions",labelCol:{span:10},labelAlign:"left",children:(0,s.jsx)(k.default,{value:l.getFieldValue("auto_router_embedding_model"),placeholder:"Select an embedding model (optional)",onChange:e=>{b("custom"===e),l.setFieldValue("auto_router_embedding_model",e)},options:[...Array.from(new Set(f.map(e=>e.model_group))).map(e=>({value:e,label:e})),{value:"custom",label:"Enter custom model name"}],style:{width:"100%"},showSearch:!0,allowClear:!0})}),(0,s.jsxs)("div",{className:"flex items-center my-4",children:[(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,s.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"Additional Settings"}),(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),M&&(0,s.jsx)(N.Z.Item,{label:"Model Access Group",name:"model_access_group",className:"mb-4",tooltip:"Use model access groups to control who can access this auto router",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],options:p.map(e=>({value:e,label:e})),maxTagCount:"responsive",allowClear:!0})}),(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(C.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{className:"space-x-2",children:[(0,s.jsx)(E.ZP,{onClick:I,loading:m,children:"Test Connect"}),(0,s.jsx)(E.ZP,{onClick:()=>{console.log("Add Auto Router button clicked!"),console.log("Current router config:",Z),console.log("Current form values:",l.getFieldsValue()),F()},children:"Add Auto Router"})]})]})]})}),(0,s.jsx)(S.Z,{title:"Connection Test Results",open:i,onCancel:()=>{n(!1),u(!1)},footer:[(0,s.jsx)(E.ZP,{onClick:()=>{n(!1),u(!1)},children:"Close"},"close")],width:700,children:i&&(0,s.jsx)(ex,{formValues:l.getFieldsValue(),accessToken:a,testMode:"chat",modelName:l.getFieldValue("auto_router_name"),onClose:()=>{n(!1),u(!1)},onTestComplete:()=>u(!1)},h)})]})};let eA=[{value:"chat",label:"Chat - /chat/completions"},{value:"completion",label:"Completion - /completions"},{value:"embedding",label:"Embedding - /embeddings"},{value:"audio_speech",label:"Audio Speech - /audio/speech"},{value:"audio_transcription",label:"Audio Transcription - /audio/transcriptions"},{value:"image_generation",label:"Image Generation - /images/generations"},{value:"video_generation",label:"Video Generation - /videos"},{value:"rerank",label:"Rerank - /rerank"},{value:"realtime",label:"Realtime - /realtime"},{value:"batch",label:"Batch - /batch"},{value:"ocr",label:"OCR - /ocr"}];var eE=t(63709),eM=t(26210),eI=t(34766),eF=t(45246),eP=t(24199);let{Text:eL}=C.default;var eT=e=>{let{form:l,showCacheControl:t,onCacheControlChange:a}=e,r=e=>{let t=l.getFieldValue("litellm_extra_params");try{let s=t?JSON.parse(t):{};e.length>0?s.cache_control_injection_points=e:delete s.cache_control_injection_points,Object.keys(s).length>0?l.setFieldValue("litellm_extra_params",JSON.stringify(s,null,2)):l.setFieldValue("litellm_extra_params","")}catch(e){console.error("Error updating cache control points:",e)}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z.Item,{label:"Cache Control Injection Points",name:"cache_control",valuePropName:"checked",className:"mb-4",tooltip:"Tell litellm where to inject cache control checkpoints. You can specify either by role (to apply to all messages of that role) or by specific message index.",children:(0,s.jsx)(eE.Z,{onChange:a,className:"bg-gray-600"})}),t&&(0,s.jsxs)("div",{className:"ml-6 pl-4 border-l-2 border-gray-200",children:[(0,s.jsx)(eL,{className:"text-sm text-gray-500 block mb-4",children:"Providers like Anthropic, Bedrock API require users to specify where to inject cache control checkpoints, litellm can automatically add them for you as a cost saving feature."}),(0,s.jsx)(N.Z.List,{name:"cache_control_injection_points",initialValue:[{location:"message"}],children:(e,t)=>{let{add:a,remove:i}=t;return(0,s.jsxs)(s.Fragment,{children:[e.map((t,a)=>(0,s.jsxs)("div",{className:"flex items-center mb-4 gap-4",children:[(0,s.jsx)(N.Z.Item,{...t,label:"Type",name:[t.name,"location"],initialValue:"message",className:"mb-0",style:{width:"180px"},children:(0,s.jsx)(k.default,{disabled:!0,options:[{value:"message",label:"Message"}]})}),(0,s.jsx)(N.Z.Item,{...t,label:"Role",name:[t.name,"role"],className:"mb-0",style:{width:"180px"},tooltip:"LiteLLM will mark all messages of this role as cacheable",children:(0,s.jsx)(k.default,{placeholder:"Select a role",allowClear:!0,options:[{value:"user",label:"User"},{value:"system",label:"System"},{value:"assistant",label:"Assistant"}],onChange:()=>{r(l.getFieldValue("cache_control_points"))}})}),(0,s.jsx)(N.Z.Item,{...t,label:"Index",name:[t.name,"index"],className:"mb-0",style:{width:"180px"},tooltip:"(Optional) If set litellm will mark the message at this index as cacheable",children:(0,s.jsx)(eP.Z,{type:"number",placeholder:"Optional",step:1,onChange:()=>{r(l.getFieldValue("cache_control_points"))}})}),e.length>1&&(0,s.jsx)(eF.Z,{className:"text-red-500 cursor-pointer text-lg ml-12",onClick:()=>{i(t.name),setTimeout(()=>{r(l.getFieldValue("cache_control_points"))},0)}})]},t.key)),(0,s.jsx)(N.Z.Item,{children:(0,s.jsxs)("button",{type:"button",className:"flex items-center justify-center w-full border border-dashed border-gray-300 py-2 px-4 text-gray-600 hover:text-blue-600 hover:border-blue-300 transition-all rounded",onClick:()=>a(),children:[(0,s.jsx)(ev.Z,{className:"mr-2"}),"Add Injection Point"]})})]})}})]})]})},eR=t(9309);let{Link:eO}=C.default;var eV=e=>{let{showAdvancedSettings:l,setShowAdvancedSettings:t,teams:a,guardrailsList:r,tagsList:i}=e,[n]=N.Z.useForm(),[d,c]=o.useState(!1),[m,u]=o.useState("per_token"),[h,x]=o.useState(!1),p=(e,l)=>l&&(isNaN(Number(l))||0>Number(l))?Promise.reject("Please enter a valid positive number"):Promise.resolve();return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(eM.UQ,{className:"mt-2 mb-4",children:[(0,s.jsx)(eM._m,{children:(0,s.jsx)("b",{children:"Advanced Settings"})}),(0,s.jsx)(eM.X1,{children:(0,s.jsxs)("div",{className:"bg-white rounded-lg",children:[(0,s.jsx)(N.Z.Item,{label:"Custom Pricing",name:"custom_pricing",valuePropName:"checked",className:"mb-4",children:(0,s.jsx)(eE.Z,{onChange:e=>{c(e),e||n.setFieldsValue({input_cost_per_token:void 0,output_cost_per_token:void 0,input_cost_per_second:void 0})},className:"bg-gray-600"})}),(0,s.jsx)(N.Z.Item,{label:(0,s.jsxs)("span",{children:["Guardrails"," ",(0,s.jsx)(A.Z,{title:"Apply safety guardrails to this key to filter content or enforce policies",children:(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(eu.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",className:"mt-4",help:"Select existing guardrails. Go to 'Guardrails' tab to create new guardrails.",children:(0,s.jsx)(k.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter guardrails",options:r.map(e=>({value:e,label:e}))})}),(0,s.jsx)(N.Z.Item,{label:"Tags",name:"tags",className:"mb-4",children:(0,s.jsx)(k.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter tags",options:Object.values(i).map(e=>({value:e.name,label:e.name,title:e.description||e.name}))})}),d&&(0,s.jsxs)("div",{className:"ml-6 pl-4 border-l-2 border-gray-200",children:[(0,s.jsx)(N.Z.Item,{label:"Pricing Model",name:"pricing_model",className:"mb-4",children:(0,s.jsx)(k.default,{defaultValue:"per_token",onChange:e=>u(e),options:[{value:"per_token",label:"Per Million Tokens"},{value:"per_second",label:"Per Second"}]})}),"per_token"===m?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z.Item,{label:"Input Cost (per 1M tokens)",name:"input_cost_per_token",rules:[{validator:p}],className:"mb-4",children:(0,s.jsx)(eM.oi,{})}),(0,s.jsx)(N.Z.Item,{label:"Output Cost (per 1M tokens)",name:"output_cost_per_token",rules:[{validator:p}],className:"mb-4",children:(0,s.jsx)(eM.oi,{})})]}):(0,s.jsx)(N.Z.Item,{label:"Cost Per Second",name:"input_cost_per_second",rules:[{validator:p}],className:"mb-4",children:(0,s.jsx)(eM.oi,{})})]}),(0,s.jsx)(N.Z.Item,{label:"Use in pass through routes",name:"use_in_pass_through",valuePropName:"checked",className:"mb-4 mt-4",tooltip:(0,s.jsxs)("span",{children:["Allow using these credentials in pass through routes."," ",(0,s.jsx)(eO,{href:"https://docs.litellm.ai/docs/pass_through/vertex_ai",target:"_blank",children:"Learn more"})]}),children:(0,s.jsx)(eE.Z,{onChange:e=>{let l=n.getFieldValue("litellm_extra_params");try{let t=l?JSON.parse(l):{};e?t.use_in_pass_through=!0:delete t.use_in_pass_through,Object.keys(t).length>0?n.setFieldValue("litellm_extra_params",JSON.stringify(t,null,2)):n.setFieldValue("litellm_extra_params","")}catch(l){e?n.setFieldValue("litellm_extra_params",JSON.stringify({use_in_pass_through:!0},null,2)):n.setFieldValue("litellm_extra_params","")}},className:"bg-gray-600"})}),(0,s.jsx)(eT,{form:n,showCacheControl:h,onCacheControlChange:e=>{if(x(e),!e){let e=n.getFieldValue("litellm_extra_params");try{let l=e?JSON.parse(e):{};delete l.cache_control_injection_points,Object.keys(l).length>0?n.setFieldValue("litellm_extra_params",JSON.stringify(l,null,2)):n.setFieldValue("litellm_extra_params","")}catch(e){n.setFieldValue("litellm_extra_params","")}}}}),(0,s.jsx)(N.Z.Item,{label:"LiteLLM Params",name:"litellm_extra_params",tooltip:"Optional litellm params used for making a litellm.completion() call.",className:"mb-4 mt-4",rules:[{validator:eR.Ac}],children:(0,s.jsx)(eI.Z,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}),(0,s.jsxs)(L.Z,{className:"mb-4",children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:10,children:(0,s.jsxs)(eM.xv,{className:"text-gray-600 text-sm",children:["Pass JSON of litellm supported params"," ",(0,s.jsx)(eO,{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",children:"litellm.completion() call"})]})})]}),(0,s.jsx)(N.Z.Item,{label:"Model Info",name:"model_info_params",tooltip:"Optional model info params. Returned when calling `/model/info` endpoint.",className:"mb-0",rules:[{validator:eR.Ac}],children:(0,s.jsx)(eI.Z,{rows:4,placeholder:'{ "mode": "chat" }'})})]})})]})})},eD=t(56609),ez=t(67187);let eq=e=>{let{content:l,children:t,width:a="auto",className:r=""}=e,[i,n]=(0,o.useState)(!1),[d,c]=(0,o.useState)("top"),m=(0,o.useRef)(null),u=()=>{if(m.current){let e=m.current.getBoundingClientRect(),l=e.top,t=window.innerHeight-e.bottom;l<300&&t>300?c("bottom"):c("top")}};return(0,s.jsxs)("div",{className:"relative inline-block",ref:m,children:[t||(0,s.jsx)(ez.Z,{className:"ml-1 text-gray-500 cursor-help",onMouseEnter:()=>{u(),n(!0)},onMouseLeave:()=>n(!1)}),i&&(0,s.jsxs)("div",{className:"absolute left-1/2 -translate-x-1/2 z-50 bg-black/90 text-white p-2 rounded-md text-sm font-normal shadow-lg ".concat(r),style:{["top"===d?"bottom":"top"]:"100%",width:a,marginBottom:"top"===d?"8px":"0",marginTop:"bottom"===d?"8px":"0"},children:[l,(0,s.jsx)("div",{className:"absolute left-1/2 -translate-x-1/2 w-0 h-0",style:{top:"top"===d?"100%":"auto",bottom:"bottom"===d?"100%":"auto",borderTop:"top"===d?"6px solid rgba(0, 0, 0, 0.9)":"6px solid transparent",borderBottom:"bottom"===d?"6px solid rgba(0, 0, 0, 0.9)":"6px solid transparent",borderLeft:"6px solid transparent",borderRight:"6px solid transparent"}})]})]})};var eB=()=>{let e=N.Z.useFormInstance(),[l,t]=(0,o.useState)(0),a=N.Z.useWatch("model",e)||[],r=Array.isArray(a)?a:[a],i=N.Z.useWatch("custom_model_name",e),n=!r.includes("all-wildcard"),d=N.Z.useWatch("custom_llm_provider",e);if((0,o.useEffect)(()=>{if(i&&r.includes("custom")){let l=(e.getFieldValue("model_mappings")||[]).map(e=>"custom"===e.public_name||"custom"===e.litellm_model?d===m.Cl.Azure?{public_name:i,litellm_model:"azure/".concat(i)}:{public_name:i,litellm_model:i}:e);e.setFieldValue("model_mappings",l),t(e=>e+1)}},[i,r,d,e]),(0,o.useEffect)(()=>{if(r.length>0&&!r.includes("all-wildcard")){let l=e.getFieldValue("model_mappings")||[];if(l.length!==r.length||!r.every(e=>l.some(l=>"custom"===e?"custom"===l.litellm_model||l.litellm_model===i:d===m.Cl.Azure?l.litellm_model==="azure/".concat(e):l.litellm_model===e))){let l=r.map(e=>"custom"===e&&i?d===m.Cl.Azure?{public_name:i,litellm_model:"azure/".concat(i)}:{public_name:i,litellm_model:i}:d===m.Cl.Azure?{public_name:e,litellm_model:"azure/".concat(e)}:{public_name:e,litellm_model:e});e.setFieldValue("model_mappings",l),t(e=>e+1)}}},[r,i,d,e]),!n)return null;let c=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"mb-2 font-normal",children:"The name you specify in your API calls to LiteLLM Proxy"}),(0,s.jsxs)("div",{className:"mb-2 font-normal",children:[(0,s.jsx)("strong",{children:"Example:"})," If you name your public model"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:"example-name"}),", and choose"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:"openai/qwen-plus-latest"})," as the LiteLLM model"]}),(0,s.jsxs)("div",{className:"mb-2 font-normal",children:[(0,s.jsx)("strong",{children:"Usage:"})," You make an API call to the LiteLLM proxy with"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:'model = "example-name"'})]}),(0,s.jsxs)("div",{className:"font-normal",children:[(0,s.jsx)("strong",{children:"Result:"})," LiteLLM sends"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:"qwen-plus-latest"})," to the provider"]})]}),u=(0,s.jsx)("div",{children:"The model name LiteLLM will send to the LLM API"}),h=[{title:(0,s.jsxs)("span",{className:"flex items-center",children:["Public Model Name",(0,s.jsx)(eq,{content:c,width:"500px"})]}),dataIndex:"public_name",key:"public_name",render:(l,t,a)=>(0,s.jsx)(w.o,{value:l,onChange:l=>{let t=[...e.getFieldValue("model_mappings")];t[a].public_name=l.target.value,e.setFieldValue("model_mappings",t)}})},{title:(0,s.jsxs)("span",{className:"flex items-center",children:["LiteLLM Model Name",(0,s.jsx)(eq,{content:u,width:"360px"})]}),dataIndex:"litellm_model",key:"litellm_model"}];return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(N.Z.Item,{label:"Model Mappings",name:"model_mappings",tooltip:"Map public model names to LiteLLM model names for load balancing",labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",rules:[{required:!0,validator:async(e,l)=>{if(!l||0===l.length)throw Error("At least one model mapping is required");if(l.filter(e=>!e.public_name||""===e.public_name.trim()).length>0)throw Error("All model mappings must have valid public names")}}],children:(0,s.jsx)(eD.Z,{dataSource:e.getFieldValue("model_mappings"),columns:h,pagination:!1,size:"small"},l)})})},eU=e=>{let{selectedProvider:l,providerModels:t,getPlaceholder:a}=e,r=N.Z.useFormInstance(),i=e=>{let t=e.target.value,s=(r.getFieldValue("model_mappings")||[]).map(e=>"custom"===e.public_name||"custom"===e.litellm_model?l===m.Cl.Azure?{public_name:t,litellm_model:"azure/".concat(t)}:{public_name:t,litellm_model:t}:e);r.setFieldsValue({model_mappings:s})};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(N.Z.Item,{label:"LiteLLM Model Name(s)",tooltip:"The model name LiteLLM will send to the LLM API",className:"mb-0",children:[(0,s.jsx)(N.Z.Item,{name:"model",rules:[{required:!0,message:"Please enter ".concat(l===m.Cl.Azure?"a deployment name":"at least one model",".")}],noStyle:!0,children:l===m.Cl.Azure||l===m.Cl.OpenAI_Compatible||l===m.Cl.Ollama?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(P.o,{placeholder:a(l),onChange:l===m.Cl.Azure?e=>{let l=e.target.value,t=l?[{public_name:l,litellm_model:"azure/".concat(l)}]:[];r.setFieldsValue({model:l,model_mappings:t})}:void 0})}):t.length>0?(0,s.jsx)(k.default,{mode:"multiple",allowClear:!0,showSearch:!0,placeholder:"Select models",onChange:e=>{let t=Array.isArray(e)?e:[e];if(t.includes("all-wildcard"))r.setFieldsValue({model_name:void 0,model_mappings:[]});else if(JSON.stringify(r.getFieldValue("model"))!==JSON.stringify(t)){let e=t.map(e=>l===m.Cl.Azure?{public_name:e,litellm_model:"azure/".concat(e)}:{public_name:e,litellm_model:e});r.setFieldsValue({model:t,model_mappings:e})}},optionFilterProp:"children",filterOption:(e,l)=>{var t;return(null!==(t=null==l?void 0:l.label)&&void 0!==t?t:"").toLowerCase().includes(e.toLowerCase())},options:[{label:"Custom Model Name (Enter below)",value:"custom"},{label:"All ".concat(l," Models (Wildcard)"),value:"all-wildcard"},...t.map(e=>({label:e,value:e}))],style:{width:"100%"}}):(0,s.jsx)(P.o,{placeholder:a(l)})}),(0,s.jsx)(N.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.model!==l.model,children:e=>{let{getFieldValue:t}=e,a=t("model")||[];return(Array.isArray(a)?a:[a]).includes("custom")&&(0,s.jsx)(N.Z.Item,{name:"custom_model_name",rules:[{required:!0,message:"Please enter a custom model name."}],className:"mt-2",children:(0,s.jsx)(P.o,{placeholder:l===m.Cl.Azure?"Enter Azure deployment name":"Enter custom model name",onChange:i})})}})]}),(0,s.jsxs)(L.Z,{children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:14,children:(0,s.jsx)(P.x,{className:"mb-3 mt-1",children:l===m.Cl.Azure?"Your deployment name will be saved as the public model name, and LiteLLM will use 'azure/deployment-name' internally":"The model name LiteLLM will send to the LLM API"})})]})]})};let{Title:eG,Link:eH}=C.default;var eK=e=>{let{form:l,handleOk:t,selectedProvider:a,setSelectedProvider:r,providerModels:i,setProviderModelsFn:d,getPlaceholder:u,uploadProps:h,showAdvancedSettings:x,setShowAdvancedSettings:p,teams:g,credentials:f,accessToken:j,userRole:v,premiumUser:_}=e,[y]=N.Z.useForm(),[b,Z]=(0,o.useState)("chat"),[w,M]=(0,o.useState)(!1),[F,P]=(0,o.useState)(!1),[R,O]=(0,o.useState)([]),[V,D]=(0,o.useState)({}),[z,B]=(0,o.useState)(""),{data:U,isLoading:G,error:H}=I();(0,o.useEffect)(()=>{(async()=>{try{let e=(await (0,c.getGuardrailsList)(j)).guardrails.map(e=>e.guardrail_name);O(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[j]),(0,o.useEffect)(()=>{(async()=>{try{let e=await (0,c.tagListCall)(j);D(e)}catch(e){console.error("Failed to fetch tags:",e)}})()},[j]);let K=async()=>{P(!0),B("test-".concat(Date.now())),M(!0)},[J,W]=(0,o.useState)(!1),[Y,$]=(0,o.useState)([]);(0,o.useEffect)(()=>{(async()=>{$((await (0,c.modelAvailableCall)(j,"","",!1,null,!0,!0)).data.map(e=>e.id))})()},[j]);let en=(0,o.useMemo)(()=>U?[...U].sort((e,l)=>e.provider_display_name.localeCompare(l.provider_display_name)):[],[U]),eo=H?H instanceof Error?H.message:"Failed to load providers":null,ed=es.ZL.includes(v);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(X.Z,{className:"w-full",children:[(0,s.jsxs)(ee.Z,{className:"mb-4",children:[(0,s.jsx)(Q.Z,{children:"Add Model"}),(0,s.jsx)(Q.Z,{children:"Add Auto Router"})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsxs)(el.Z,{children:[(0,s.jsx)(eG,{level:2,children:"Add Model"}),(0,s.jsx)(er.Z,{children:(0,s.jsx)(N.Z,{form:l,onFinish:e=>{console.log("\uD83D\uDD25 Form onFinish triggered with values:",e),t()},onFinishFailed:e=>{console.log("\uD83D\uDCA5 Form onFinishFailed triggered:",e)},labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"E.g. OpenAI, Azure OpenAI, Anthropic, Bedrock, etc.",labelCol:{span:10},labelAlign:"left",children:(0,s.jsxs)(k.default,{showSearch:!0,loading:G,placeholder:G?"Loading providers...":"Select a provider",optionFilterProp:"data-label",onChange:e=>{r(e),d(e),l.setFieldsValue({custom_llm_provider:e}),l.setFieldsValue({model:[],model_name:void 0})},children:[eo&&0===en.length&&(0,s.jsx)(k.default.Option,{value:"",children:eo},"__error"),en.map(e=>{var l;let t=e.provider_display_name,a=e.provider,r=null!==(l=m.cd[t])&&void 0!==l?l:"";return(0,s.jsx)(k.default.Option,{value:a,"data-label":t,children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[r?(0,s.jsx)("img",{src:r,alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let l=e.currentTarget,s=l.parentElement;if(s&&s.contains(l))try{let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,l)}catch(e){console.error("Failed to replace provider logo fallback:",e)}}}):(0,s.jsx)("div",{className:"w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",children:t.charAt(0)}),(0,s.jsx)("span",{children:t})]})},a)})]})}),(0,s.jsx)(eU,{selectedProvider:a,providerModels:i,getPlaceholder:u}),(0,s.jsx)(eB,{}),(0,s.jsx)(N.Z.Item,{label:"Mode",name:"mode",className:"mb-1",children:(0,s.jsx)(k.default,{style:{width:"100%"},value:b,onChange:e=>Z(e),options:eA})}),(0,s.jsxs)(L.Z,{children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:10,children:(0,s.jsxs)(n.Z,{className:"mb-5 mt-1",children:[(0,s.jsx)("strong",{children:"Optional"})," - LiteLLM endpoint to use when health checking this model"," ",(0,s.jsx)(eH,{href:"https://docs.litellm.ai/docs/proxy/health#health",target:"_blank",children:"Learn more"})]})})]}),(0,s.jsx)("div",{className:"mb-4",children:(0,s.jsx)(C.default.Text,{className:"text-sm text-gray-500 mb-2",children:"Either select existing credentials OR enter new provider credentials below"})}),(0,s.jsx)(N.Z.Item,{label:"Existing Credentials",name:"litellm_credential_name",initialValue:null,children:(0,s.jsx)(k.default,{showSearch:!0,placeholder:"Select or search for existing credentials",optionFilterProp:"children",filterOption:(e,l)=>{var t;return(null!==(t=null==l?void 0:l.label)&&void 0!==t?t:"").toLowerCase().includes(e.toLowerCase())},options:[{value:null,label:"None"},...f.map(e=>({value:e.credential_name,label:e.credential_name}))],allowClear:!0})}),(0,s.jsx)(N.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.litellm_credential_name!==l.litellm_credential_name||e.provider!==l.provider,children:e=>{let{getFieldValue:l}=e,t=l("litellm_credential_name");return(console.log("\uD83D\uDD11 Credential Name Changed:",t),t)?null:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center my-4",children:[(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,s.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"OR"}),(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),(0,s.jsx)(q,{selectedProvider:a,uploadProps:h})]})}}),(0,s.jsxs)("div",{className:"flex items-center my-4",children:[(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,s.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"Additional Model Info Settings"}),(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),(0,s.jsx)(N.Z.Item,{label:"Team-BYOK Model",tooltip:"Only use this model + credential combination for this team. Useful when teams want to onboard their own OpenAI keys.",className:"mb-4",children:(0,s.jsx)(A.Z,{title:_?"":"This is an enterprise-only feature. Upgrade to premium to restrict model+credential combinations to a specific team.",placement:"top",children:(0,s.jsx)(ea.Z,{checked:J,onChange:e=>{W(e),e||l.setFieldValue("team_id",void 0)},disabled:!_})})}),J&&(0,s.jsx)(N.Z.Item,{label:"Select Team",name:"team_id",className:"mb-4",tooltip:"Only keys for this team will be able to call this model.",rules:[{required:J&&!ed,message:"Please select a team."}],children:(0,s.jsx)(ei.Z,{teams:g,disabled:!_})}),ed&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(N.Z.Item,{label:"Model Access Group",name:"model_access_group",className:"mb-4",tooltip:"Use model access groups to give users access to select models, and add new ones to the group over time.",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],options:Y.map(e=>({value:e,label:e})),maxTagCount:"responsive",allowClear:!0})})}),(0,s.jsx)(eV,{showAdvancedSettings:x,setShowAdvancedSettings:p,teams:g,guardrailsList:R,tagsList:V}),(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(C.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{className:"space-x-2",children:[(0,s.jsx)(E.ZP,{onClick:K,loading:F,children:"Test Connect"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Add Model"})]})]})]})})})]}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(ek,{form:y,handleOk:()=>{y.validateFields().then(e=>{ep(e,j,y,t)}).catch(e=>{console.error("Validation failed:",e)})},accessToken:j,userRole:v})})]})]}),(0,s.jsx)(S.Z,{title:"Connection Test Results",open:w,onCancel:()=>{M(!1),P(!1)},footer:[(0,s.jsx)(E.ZP,{onClick:()=>{M(!1),P(!1)},children:"Close"},"close")],width:700,children:w&&(0,s.jsx)(ex,{formValues:l.getFieldsValue(),accessToken:j,testMode:b,modelName:l.getFieldValue("model_name")||l.getFieldValue("model"),onClose:()=>{M(!1),P(!1)},onTestComplete:()=>P(!1)},z)})]})},eJ=t(10900),eW=t(45589),eY=t(78489),e$=t(12514),eQ=t(49566),eX=t(96761),e0=t(30401),e1=t(78867),e2=t(59872),e4=e=>{let{isVisible:l,onCancel:t,onSuccess:a,modelData:r,accessToken:i,userRole:n}=e,[m]=N.Z.useForm(),[u,h]=(0,o.useState)(!1),[x,p]=(0,o.useState)([]),[g,f]=(0,o.useState)([]),[j,v]=(0,o.useState)(!1),[_,y]=(0,o.useState)(!1),[b,Z]=(0,o.useState)(null);(0,o.useEffect)(()=>{l&&r&&w()},[l,r]),(0,o.useEffect)(()=>{let e=async()=>{if(i)try{let e=await (0,c.modelAvailableCall)(i,"","",!1,null,!0,!0);p(e.data.map(e=>e.id))}catch(e){console.error("Error fetching model access groups:",e)}},t=async()=>{if(i)try{let e=await (0,eg.p)(i);f(e)}catch(e){console.error("Error fetching model info:",e)}};l&&(e(),t())},[l,i]);let w=()=>{try{var e,l,t,s,a,i;let n=null;(null===(e=r.litellm_params)||void 0===e?void 0:e.auto_router_config)&&(n="string"==typeof r.litellm_params.auto_router_config?JSON.parse(r.litellm_params.auto_router_config):r.litellm_params.auto_router_config),Z(n),m.setFieldsValue({auto_router_name:r.model_name,auto_router_default_model:(null===(l=r.litellm_params)||void 0===l?void 0:l.auto_router_default_model)||"",auto_router_embedding_model:(null===(t=r.litellm_params)||void 0===t?void 0:t.auto_router_embedding_model)||"",model_access_group:(null===(s=r.model_info)||void 0===s?void 0:s.access_groups)||[]});let o=new Set(g.map(e=>e.model_group));v(!o.has(null===(a=r.litellm_params)||void 0===a?void 0:a.auto_router_default_model)),y(!o.has(null===(i=r.litellm_params)||void 0===i?void 0:i.auto_router_embedding_model))}catch(e){console.error("Error parsing auto router config:",e),d.Z.fromBackend("Error loading auto router configuration")}},C=async()=>{try{h(!0);let e=await m.validateFields(),l={...r.litellm_params,auto_router_config:JSON.stringify(b),auto_router_default_model:e.auto_router_default_model,auto_router_embedding_model:e.auto_router_embedding_model||void 0},s={...r.model_info,access_groups:e.model_access_group||[]},n={model_name:e.auto_router_name,litellm_params:l,model_info:s};await (0,c.modelPatchUpdateCall)(i,n,r.model_info.id);let o={...r,model_name:e.auto_router_name,litellm_params:l,model_info:s};d.Z.success("Auto router configuration updated successfully"),a(o),t()}catch(e){console.error("Error updating auto router:",e),d.Z.fromBackend("Failed to update auto router configuration")}finally{h(!1)}},A=g.map(e=>({value:e.model_group,label:e.model_group}));return(0,s.jsx)(S.Z,{title:"Edit Auto Router Configuration",open:l,onCancel:t,footer:[(0,s.jsx)(E.ZP,{onClick:t,children:"Cancel"},"cancel"),(0,s.jsx)(E.ZP,{loading:u,onClick:C,children:"Save Changes"},"submit")],width:1e3,destroyOnClose:!0,children:(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(P.x,{className:"text-gray-600",children:"Edit the auto router configuration including routing logic, default models, and access settings."}),(0,s.jsxs)(N.Z,{form:m,layout:"vertical",className:"space-y-4",children:[(0,s.jsx)(N.Z.Item,{label:"Auto Router Name",name:"auto_router_name",rules:[{required:!0,message:"Auto router name is required"}],children:(0,s.jsx)(P.o,{placeholder:"e.g., auto_router_1, smart_routing"})}),(0,s.jsx)("div",{className:"w-full",children:(0,s.jsx)(ew,{modelInfo:g,value:b,onChange:e=>{Z(e)}})}),(0,s.jsx)(N.Z.Item,{label:"Default Model",name:"auto_router_default_model",rules:[{required:!0,message:"Default model is required"}],children:(0,s.jsx)(k.default,{placeholder:"Select a default model",onChange:e=>{v("custom"===e)},options:[...A,{value:"custom",label:"Enter custom model name"}],showSearch:!0})}),(0,s.jsx)(N.Z.Item,{label:"Embedding Model",name:"auto_router_embedding_model",children:(0,s.jsx)(k.default,{placeholder:"Select an embedding model (optional)",onChange:e=>{y("custom"===e)},options:[...A,{value:"custom",label:"Enter custom model name"}],showSearch:!0,allowClear:!0})}),"Admin"===n&&(0,s.jsx)(N.Z.Item,{label:"Model Access Groups",name:"model_access_group",tooltip:"Control who can access this auto router",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],options:x.map(e=>({value:e,label:e})),maxTagCount:"responsive",allowClear:!0})})]})]})})};let{Title:e5,Link:e6}=C.default;var e3=e=>{let{isVisible:l,onCancel:t,onAddCredential:a,existingCredential:r,setIsCredentialModalOpen:i}=e,[n]=N.Z.useForm();return console.log("existingCredential in add credentials tab: ".concat(JSON.stringify(r))),(0,s.jsx)(S.Z,{title:"Reuse Credentials",visible:l,onCancel:()=>{t(),n.resetFields()},footer:null,width:600,children:(0,s.jsxs)(N.Z,{form:n,onFinish:e=>{a(e),n.resetFields(),i(!1)},layout:"vertical",children:[(0,s.jsx)(N.Z.Item,{label:"Credential Name:",name:"credential_name",rules:[{required:!0,message:"Credential name is required"}],initialValue:null==r?void 0:r.credential_name,children:(0,s.jsx)(w.o,{placeholder:"Enter a friendly name for these credentials"})}),Object.entries((null==r?void 0:r.credential_values)||{}).map(e=>{let[l,t]=e;return(0,s.jsx)(N.Z.Item,{label:l,name:l,initialValue:t,children:(0,s.jsx)(w.o,{placeholder:"Enter ".concat(l),disabled:!0})},l)}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(e6,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)(E.ZP,{onClick:()=>{t(),n.resetFields()},style:{marginRight:10},children:"Cancel"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Reuse Credentials"})]})]})]})})};function e8(e){var l,t,a,r,u,h,x,p,g,f,j,v,_,b,Z,w,C,M,I,F,P,L,T,R,V,D,z,q,B,U,G,H;let{modelId:K,onClose:J,modelData:$,accessToken:es,userID:ea,userRole:er,editModel:ei,setEditModalVisible:en,setSelectedModel:eo,onModelUpdate:ed,modelAccessGroups:ec}=e,[em]=N.Z.useForm(),[eh,ex]=(0,o.useState)(null),[ep,eg]=(0,o.useState)(!1),[ef,ej]=(0,o.useState)(!1),[ev,e_]=(0,o.useState)(!1),[ey,eb]=(0,o.useState)(!1),[eN,eZ]=(0,o.useState)(!1),[ew,eC]=(0,o.useState)(null),[eS,ek]=(0,o.useState)(!1),[eA,eE]=(0,o.useState)({}),[eM,eI]=(0,o.useState)(!1),[eF,eL]=(0,o.useState)([]),[eO,eV]=(0,o.useState)({}),eD=("Admin"===er||(null==$?void 0:null===(l=$.model_info)||void 0===l?void 0:l.created_by)===ea)&&(null==$?void 0:null===(t=$.model_info)||void 0===t?void 0:t.db_model),ez="Admin"===er,eq=(null==$?void 0:null===(a=$.litellm_params)||void 0===a?void 0:a.auto_router_config)!=null,eB=(null==$?void 0:null===(r=$.litellm_params)||void 0===r?void 0:r.litellm_credential_name)!=null&&(null==$?void 0:null===(u=$.litellm_params)||void 0===u?void 0:u.litellm_credential_name)!=void 0;console.log("usingExistingCredential, ",eB),console.log("modelData.litellm_params.litellm_credential_name, ",null==$?void 0:null===(h=$.litellm_params)||void 0===h?void 0:h.litellm_credential_name),console.log("tagsList, ",null===(x=$.litellm_params)||void 0===x?void 0:x.tags),(0,o.useEffect)(()=>{let e=async()=>{var e,l,t,s,a,r,i;if(!es)return;let n=await (0,c.modelInfoV1Call)(es,K);console.log("modelInfoResponse, ",n);let o=n.data[0];o&&!o.litellm_model_name&&(o={...o,litellm_model_name:null!==(i=null!==(r=null!==(a=null==o?void 0:null===(l=o.litellm_params)||void 0===l?void 0:l.litellm_model_name)&&void 0!==a?a:null==o?void 0:null===(t=o.litellm_params)||void 0===t?void 0:t.model)&&void 0!==r?r:null==o?void 0:null===(s=o.model_info)||void 0===s?void 0:s.key)&&void 0!==i?i:null}),ex(o),(null==o?void 0:null===(e=o.litellm_params)||void 0===e?void 0:e.cache_control_injection_points)&&ek(!0)},l=async()=>{if(es)try{let e=(await (0,c.getGuardrailsList)(es)).guardrails.map(e=>e.guardrail_name);eL(e)}catch(e){console.error("Failed to fetch guardrails:",e)}},t=async()=>{if(es)try{let e=await (0,c.tagListCall)(es);eV(e)}catch(e){console.error("Failed to fetch tags:",e)}};(async()=>{if(console.log("accessToken, ",es),!es||eB)return;let e=await (0,c.credentialGetCall)(es,null,K);console.log("existingCredentialResponse, ",e),eC({credential_name:e.credential_name,credential_values:e.credential_values,credential_info:e.credential_info})})(),e(),l(),t()},[es,K]);let eU=async e=>{var l;if(console.log("values, ",e),!es)return;let t={credential_name:e.credential_name,model_id:K,credential_info:{custom_llm_provider:null===(l=eh.litellm_params)||void 0===l?void 0:l.custom_llm_provider}};d.Z.info("Storing credential.."),console.log("credentialResponse, ",await (0,c.credentialCreateCall)(es,t)),d.Z.success("Credential stored successfully")},eG=async e=>{try{var l;let t;if(!es)return;eb(!0),console.log("values.model_name, ",e.model_name);let s={};try{s=e.litellm_extra_params?JSON.parse(e.litellm_extra_params):{}}catch(e){d.Z.fromBackend("Invalid JSON in LiteLLM Params"),eb(!1);return}let a={...e.litellm_params,...s,model:e.litellm_model_name,api_base:e.api_base,custom_llm_provider:e.custom_llm_provider,organization:e.organization,tpm:e.tpm,rpm:e.rpm,max_retries:e.max_retries,timeout:e.timeout,stream_timeout:e.stream_timeout,input_cost_per_token:e.input_cost/1e6,output_cost_per_token:e.output_cost/1e6,tags:e.tags};e.guardrails&&(a.guardrails=e.guardrails),e.cache_control&&(null===(l=e.cache_control_injection_points)||void 0===l?void 0:l.length)>0?a.cache_control_injection_points=e.cache_control_injection_points:delete a.cache_control_injection_points;try{t=e.model_info?JSON.parse(e.model_info):$.model_info,e.model_access_group&&(t={...t,access_groups:e.model_access_group})}catch(e){d.Z.fromBackend("Invalid JSON in Model Info");return}let r={model_name:e.model_name,litellm_params:a,model_info:t};await (0,c.modelPatchUpdateCall)(es,r,K);let i={...eh,model_name:e.model_name,litellm_model_name:e.litellm_model_name,litellm_params:a,model_info:t};ex(i),ed&&ed(i),d.Z.success("Model settings updated successfully"),e_(!1),eZ(!1)}catch(e){console.error("Error updating model:",e),d.Z.fromBackend("Failed to update model settings")}finally{eb(!1)}};if(!$)return(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)(eY.Z,{icon:eJ.Z,variant:"light",onClick:J,className:"mb-4",children:"Back to Models"}),(0,s.jsx)(n.Z,{children:"Model not found"})]});let eH=async()=>{if(es)try{var e,l,t;d.Z.info("Testing connection...");let s=await (0,c.testConnectionRequest)(es,{custom_llm_provider:eh.litellm_params.custom_llm_provider,litellm_credential_name:eh.litellm_params.litellm_credential_name,model:eh.litellm_model_name},{mode:null===(e=eh.model_info)||void 0===e?void 0:e.mode},null===(l=eh.model_info)||void 0===l?void 0:l.mode);if("success"===s.status)d.Z.success("Connection test successful!");else throw Error((null==s?void 0:null===(t=s.result)||void 0===t?void 0:t.error)||(null==s?void 0:s.message)||"Unknown error")}catch(e){e instanceof Error?d.Z.error("Error testing connection: "+(0,eR.aS)(e.message,100)):d.Z.error("Error testing connection: "+String(e))}},eK=async()=>{try{if(!es)return;await (0,c.modelDeleteCall)(es,K),d.Z.success("Model deleted successfully"),ed&&ed({deleted:!0,model_info:{id:K}}),J()}catch(e){console.error("Error deleting the model:",e),d.Z.fromBackend("Failed to delete model")}},e5=async(e,l)=>{await (0,e2.vQ)(e)&&(eE(e=>({...e,[l]:!0})),setTimeout(()=>{eE(e=>({...e,[l]:!1}))},2e3))};return(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(eY.Z,{icon:eJ.Z,variant:"light",onClick:J,className:"mb-4",children:"Back to Models"}),(0,s.jsxs)(eX.Z,{children:["Public Model Name: ",W($)]}),(0,s.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,s.jsx)(n.Z,{className:"text-gray-500 font-mono",children:$.model_info.id}),(0,s.jsx)(E.ZP,{type:"text",size:"small",icon:eA["model-id"]?(0,s.jsx)(e0.Z,{size:12}):(0,s.jsx)(e1.Z,{size:12}),onClick:()=>e5($.model_info.id,"model-id"),className:"left-2 z-10 transition-all duration-200 ".concat(eA["model-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(eY.Z,{variant:"secondary",icon:Y.Z,onClick:eH,className:"flex items-center gap-2","data-testid":"test-connection-button",children:"Test Connection"}),(0,s.jsx)(eY.Z,{icon:eW.Z,variant:"secondary",onClick:()=>ej(!0),className:"flex items-center",disabled:!ez,"data-testid":"reuse-credentials-button",children:"Re-use Credentials"}),(0,s.jsx)(eY.Z,{icon:y.Z,variant:"secondary",onClick:()=>eg(!0),className:"flex items-center text-red-500 border-red-500 hover:text-red-700",disabled:!eD,"data-testid":"delete-model-button",children:"Delete Model"})]})]}),(0,s.jsxs)(X.Z,{children:[(0,s.jsxs)(ee.Z,{className:"mb-6",children:[(0,s.jsx)(Q.Z,{children:"Overview"}),(0,s.jsx)(Q.Z,{children:"Raw JSON"})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsxs)(el.Z,{children:[(0,s.jsxs)(i.Z,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6 mb-6",children:[(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(n.Z,{children:"Provider"}),(0,s.jsxs)("div",{className:"mt-2 flex items-center space-x-2",children:[$.provider&&(0,s.jsx)("img",{src:(0,m.dr)($.provider).logo,alt:"".concat($.provider," logo"),className:"w-4 h-4",onError:e=>{let l=e.currentTarget,t=l.parentElement;if(t&&t.contains(l))try{var s;let e=document.createElement("div");e.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=(null===(s=$.provider)||void 0===s?void 0:s.charAt(0))||"-",t.replaceChild(e,l)}catch(e){console.error("Failed to replace provider logo fallback:",e)}}}),(0,s.jsx)(eX.Z,{children:$.provider||"Not Set"})]})]}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(n.Z,{children:"LiteLLM Model"}),(0,s.jsx)("div",{className:"mt-2 overflow-hidden",children:(0,s.jsx)(A.Z,{title:$.litellm_model_name||"Not Set",children:(0,s.jsx)("div",{className:"break-all text-sm font-medium leading-relaxed cursor-pointer",children:$.litellm_model_name||"Not Set"})})})]}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(n.Z,{children:"Pricing"}),(0,s.jsxs)("div",{className:"mt-2",children:[(0,s.jsxs)(n.Z,{children:["Input: $",$.input_cost,"/1M tokens"]}),(0,s.jsxs)(n.Z,{children:["Output: $",$.output_cost,"/1M tokens"]})]})]})]}),(0,s.jsxs)("div",{className:"mb-6 text-sm text-gray-500 flex items-center gap-x-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-x-2",children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})}),"Created At"," ",$.model_info.created_at?new Date($.model_info.created_at).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):"Not Set"]}),(0,s.jsxs)("div",{className:"flex items-center gap-x-2",children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})}),"Created By ",$.model_info.created_by||"Not Set"]})]}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(eX.Z,{children:"Model Settings"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[eq&&eD&&!eN&&(0,s.jsx)(eY.Z,{onClick:()=>eI(!0),className:"flex items-center",children:"Edit Auto Router"}),eD?!eN&&(0,s.jsx)(eY.Z,{onClick:()=>eZ(!0),className:"flex items-center",children:"Edit Settings"}):(0,s.jsx)(A.Z,{title:"Only DB models can be edited. You must be an admin or the creator of the model to edit it.",children:(0,s.jsx)(eu.Z,{})})]})]}),eh?(0,s.jsx)(N.Z,{form:em,onFinish:eG,initialValues:{model_name:eh.model_name,litellm_model_name:eh.litellm_model_name,api_base:eh.litellm_params.api_base,custom_llm_provider:eh.litellm_params.custom_llm_provider,organization:eh.litellm_params.organization,tpm:eh.litellm_params.tpm,rpm:eh.litellm_params.rpm,max_retries:eh.litellm_params.max_retries,timeout:eh.litellm_params.timeout,stream_timeout:eh.litellm_params.stream_timeout,input_cost:eh.litellm_params.input_cost_per_token?1e6*eh.litellm_params.input_cost_per_token:(null===(p=eh.model_info)||void 0===p?void 0:p.input_cost_per_token)*1e6||null,output_cost:(null===(g=eh.litellm_params)||void 0===g?void 0:g.output_cost_per_token)?1e6*eh.litellm_params.output_cost_per_token:(null===(f=eh.model_info)||void 0===f?void 0:f.output_cost_per_token)*1e6||null,cache_control:null!==(j=eh.litellm_params)&&void 0!==j&&!!j.cache_control_injection_points,cache_control_injection_points:(null===(v=eh.litellm_params)||void 0===v?void 0:v.cache_control_injection_points)||[],model_access_group:Array.isArray(null===(_=eh.model_info)||void 0===_?void 0:_.access_groups)?eh.model_info.access_groups:[],guardrails:Array.isArray(null===(b=eh.litellm_params)||void 0===b?void 0:b.guardrails)?eh.litellm_params.guardrails:[],tags:Array.isArray(null===(Z=eh.litellm_params)||void 0===Z?void 0:Z.tags)?eh.litellm_params.tags:[],litellm_extra_params:JSON.stringify(eh.litellm_params||{},null,2)},layout:"vertical",onValuesChange:()=>e_(!0),children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Model Name"}),eN?(0,s.jsx)(N.Z.Item,{name:"model_name",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter model name"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:eh.model_name})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"LiteLLM Model Name"}),eN?(0,s.jsx)(N.Z.Item,{name:"litellm_model_name",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter LiteLLM model name"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:eh.litellm_model_name})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Input Cost (per 1M tokens)"}),eN?(0,s.jsx)(N.Z.Item,{name:"input_cost",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter input cost"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null==eh?void 0:null===(w=eh.litellm_params)||void 0===w?void 0:w.input_cost_per_token)?((null===(C=eh.litellm_params)||void 0===C?void 0:C.input_cost_per_token)*1e6).toFixed(4):(null==eh?void 0:null===(M=eh.model_info)||void 0===M?void 0:M.input_cost_per_token)?(1e6*eh.model_info.input_cost_per_token).toFixed(4):null})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Output Cost (per 1M tokens)"}),eN?(0,s.jsx)(N.Z.Item,{name:"output_cost",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter output cost"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null==eh?void 0:null===(I=eh.litellm_params)||void 0===I?void 0:I.output_cost_per_token)?(1e6*eh.litellm_params.output_cost_per_token).toFixed(4):(null==eh?void 0:null===(F=eh.model_info)||void 0===F?void 0:F.output_cost_per_token)?(1e6*eh.model_info.output_cost_per_token).toFixed(4):null})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"API Base"}),eN?(0,s.jsx)(N.Z.Item,{name:"api_base",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter API base"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(P=eh.litellm_params)||void 0===P?void 0:P.api_base)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Custom LLM Provider"}),eN?(0,s.jsx)(N.Z.Item,{name:"custom_llm_provider",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter custom LLM provider"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(L=eh.litellm_params)||void 0===L?void 0:L.custom_llm_provider)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Organization"}),eN?(0,s.jsx)(N.Z.Item,{name:"organization",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter organization"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(T=eh.litellm_params)||void 0===T?void 0:T.organization)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"TPM (Tokens per Minute)"}),eN?(0,s.jsx)(N.Z.Item,{name:"tpm",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter TPM"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(R=eh.litellm_params)||void 0===R?void 0:R.tpm)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"RPM (Requests per Minute)"}),eN?(0,s.jsx)(N.Z.Item,{name:"rpm",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter RPM"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(V=eh.litellm_params)||void 0===V?void 0:V.rpm)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Max Retries"}),eN?(0,s.jsx)(N.Z.Item,{name:"max_retries",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter max retries"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(D=eh.litellm_params)||void 0===D?void 0:D.max_retries)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Timeout (seconds)"}),eN?(0,s.jsx)(N.Z.Item,{name:"timeout",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter timeout"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(z=eh.litellm_params)||void 0===z?void 0:z.timeout)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Stream Timeout (seconds)"}),eN?(0,s.jsx)(N.Z.Item,{name:"stream_timeout",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter stream timeout"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(q=eh.litellm_params)||void 0===q?void 0:q.stream_timeout)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Model Access Groups"}),eN?(0,s.jsx)(N.Z.Item,{name:"model_access_group",className:"mb-0",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],maxTagCount:"responsive",allowClear:!0,style:{width:"100%"},options:null==ec?void 0:ec.map(e=>({value:e,label:e}))})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(B=eh.model_info)||void 0===B?void 0:B.access_groups)?Array.isArray(eh.model_info.access_groups)?eh.model_info.access_groups.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:eh.model_info.access_groups.map((e,l)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-800",children:e},l))}):"No groups assigned":eh.model_info.access_groups:"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(n.Z,{className:"font-medium",children:["Guardrails",(0,s.jsx)(A.Z,{title:"Apply safety guardrails to this model to filter content or enforce policies",children:(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(eu.Z,{style:{marginLeft:"4px"}})})})]}),eN?(0,s.jsx)(N.Z.Item,{name:"guardrails",className:"mb-0",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing guardrails or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],maxTagCount:"responsive",allowClear:!0,style:{width:"100%"},options:eF.map(e=>({value:e,label:e}))})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(U=eh.litellm_params)||void 0===U?void 0:U.guardrails)?Array.isArray(eh.litellm_params.guardrails)?eh.litellm_params.guardrails.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:eh.litellm_params.guardrails.map((e,l)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-green-100 text-green-800",children:e},l))}):"No guardrails assigned":eh.litellm_params.guardrails:"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Tags"}),eN?(0,s.jsx)(N.Z.Item,{name:"tags",className:"mb-0",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing tags or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],maxTagCount:"responsive",allowClear:!0,style:{width:"100%"},options:Object.values(eO).map(e=>({value:e.name,label:e.name,title:e.description||e.name}))})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(G=eh.litellm_params)||void 0===G?void 0:G.tags)?Array.isArray(eh.litellm_params.tags)?eh.litellm_params.tags.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:eh.litellm_params.tags.map((e,l)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-purple-100 text-purple-800",children:e},l))}):"No tags assigned":eh.litellm_params.tags:"Not Set"})]}),eN?(0,s.jsx)(eT,{form:em,showCacheControl:eS,onCacheControlChange:e=>ek(e)}):(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Cache Control"}),(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(H=eh.litellm_params)||void 0===H?void 0:H.cache_control_injection_points)?(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"Enabled"}),(0,s.jsx)("div",{className:"mt-2",children:eh.litellm_params.cache_control_injection_points.map((e,l)=>(0,s.jsxs)("div",{className:"text-sm text-gray-600 mb-1",children:["Location: ",e.location,",",e.role&&(0,s.jsxs)("span",{children:[" Role: ",e.role]}),void 0!==e.index&&(0,s.jsxs)("span",{children:[" Index: ",e.index]})]},l))})]}):"Disabled"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Model Info"}),eN?(0,s.jsx)(N.Z.Item,{name:"model_info",className:"mb-0",children:(0,s.jsx)(O.default.TextArea,{rows:4,placeholder:'{"gpt-4": 100, "claude-v1": 200}',defaultValue:JSON.stringify($.model_info,null,2)})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(0,s.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(eh.model_info,null,2)})})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(n.Z,{className:"font-medium",children:["LiteLLM Params",(0,s.jsx)(A.Z,{title:"Optional litellm params used for making a litellm.completion() call. Some params are automatically added by LiteLLM.",children:(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(eu.Z,{style:{marginLeft:"4px"}})})})]}),eN?(0,s.jsx)(N.Z.Item,{name:"litellm_extra_params",rules:[{validator:eR.Ac}],children:(0,s.jsx)(O.default.TextArea,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(0,s.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(eh.litellm_params,null,2)})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Team ID"}),(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:$.model_info.team_id||"Not Set"})]})]}),eN&&(0,s.jsxs)("div",{className:"mt-6 flex justify-end gap-2",children:[(0,s.jsx)(eY.Z,{variant:"secondary",onClick:()=>{em.resetFields(),e_(!1),eZ(!1)},disabled:ey,children:"Cancel"}),(0,s.jsx)(eY.Z,{variant:"primary",onClick:()=>em.submit(),loading:ey,children:"Save Changes"})]})]})}):(0,s.jsx)(n.Z,{children:"Loading..."})]})]}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(e$.Z,{children:(0,s.jsx)("pre",{className:"bg-gray-100 p-4 rounded text-xs overflow-auto",children:JSON.stringify($,null,2)})})})]})]}),ep&&(0,s.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,s.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,s.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,s.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,s.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,s.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,s.jsx)("div",{className:"sm:flex sm:items-start",children:(0,s.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,s.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Model"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this model?"})})]})})}),(0,s.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,s.jsx)(E.ZP,{onClick:eK,className:"ml-2",danger:!0,children:"Delete"}),(0,s.jsx)(E.ZP,{onClick:()=>eg(!1),children:"Cancel"})]})]})]})}),ef&&!eB?(0,s.jsx)(e3,{isVisible:ef,onCancel:()=>ej(!1),onAddCredential:eU,existingCredential:ew,setIsCredentialModalOpen:ej}):(0,s.jsx)(S.Z,{open:ef,onCancel:()=>ej(!1),title:"Using Existing Credential",children:(0,s.jsx)(n.Z,{children:$.litellm_params.litellm_credential_name})}),(0,s.jsx)(e4,{isVisible:eM,onCancel:()=>eI(!1),onSuccess:e=>{ex(e),ed&&ed(e)},modelData:eh||$,accessToken:es||"",userRole:er||""})]})}var e9=t(33293),e7=t(11318),le=t(8048),ll=t(41649);let lt=e=>{let{provider:l,className:t="w-4 h-4"}=e,[a,r]=(0,o.useState)(!1),{logo:i}=(0,m.dr)(l);return a||!i?(0,s.jsx)("div",{className:"".concat(t," rounded-full bg-gray-200 flex items-center justify-center text-xs"),children:(null==l?void 0:l.charAt(0))||"-"}):(0,s.jsx)("img",{src:i,alt:"".concat(l," logo"),className:t,onError:()=>r(!0)})},ls=(e,l,t,a,r,i,n,o,d,c,m)=>[{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Model ID"}),accessorKey:"model_info.id",cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)(A.Z,{title:t.model_info.id,children:(0,s.jsx)("div",{className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",onClick:()=>a(t.model_info.id),children:t.model_info.id})})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Model Information"}),accessorKey:"model_name",size:250,cell:e=>{let{row:l}=e,t=l.original,a=i(l.original)||"-",r=(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Provider:"})," ",t.provider||"-"]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Public Model Name:"})," ",a]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"LiteLLM Model Name:"})," ",t.litellm_model_name||"-"]})]});return(0,s.jsx)(A.Z,{title:r,children:(0,s.jsxs)("div",{className:"flex items-start space-x-2 min-w-0 w-full max-w-[250px]",children:[(0,s.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:t.provider?(0,s.jsx)(lt,{provider:t.provider}):(0,s.jsx)("div",{className:"w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",children:"-"})}),(0,s.jsxs)("div",{className:"flex flex-col min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"text-xs font-medium text-gray-900 truncate max-w-[210px]",children:a}),(0,s.jsx)("div",{className:"text-xs text-gray-500 truncate mt-0.5 max-w-[210px]",children:t.litellm_model_name||"-"})]})]})})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Credentials"}),accessorKey:"litellm_credential_name",size:180,cell:e=>{var l;let{row:t}=e,a=null===(l=t.original.litellm_params)||void 0===l?void 0:l.litellm_credential_name;return a?(0,s.jsx)(A.Z,{title:"Credential: ".concat(a),children:(0,s.jsxs)("div",{className:"flex items-center space-x-2 max-w-[180px]",children:[(0,s.jsx)(eW.Z,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),(0,s.jsx)("span",{className:"text-xs truncate",title:a,children:a})]})}):(0,s.jsxs)("div",{className:"flex items-center space-x-2 max-w-[180px]",children:[(0,s.jsx)(eW.Z,{className:"w-4 h-4 text-gray-300 flex-shrink-0"}),(0,s.jsx)("span",{className:"text-xs text-gray-400",children:"No credentials"})]})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Created By"}),accessorKey:"model_info.created_by",sortingFn:"datetime",size:160,cell:e=>{var l;let{row:t}=e,a=t.original,r=!(null===(l=a.model_info)||void 0===l?void 0:l.db_model),i=a.model_info.created_by,n=a.model_info.created_at?new Date(a.model_info.created_at).toLocaleDateString():null;return(0,s.jsxs)("div",{className:"flex flex-col min-w-0 max-w-[160px]",children:[(0,s.jsx)("div",{className:"text-xs font-medium text-gray-900 truncate",title:r?"Defined in config":i||"Unknown",children:r?"Defined in config":i||"Unknown"}),(0,s.jsx)("div",{className:"text-xs text-gray-500 truncate mt-0.5",title:r?"Config file":n||"Unknown date",children:r?"-":n||"Unknown date"})]})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Updated At"}),accessorKey:"model_info.updated_at",sortingFn:"datetime",cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)("span",{className:"text-xs",children:t.model_info.updated_at?new Date(t.model_info.updated_at).toLocaleDateString():"-"})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Costs"}),accessorKey:"input_cost",size:120,cell:e=>{let{row:l}=e,t=l.original,a=t.input_cost,r=t.output_cost;return a||r?(0,s.jsx)(A.Z,{title:"Cost per 1M tokens",children:(0,s.jsxs)("div",{className:"flex flex-col min-w-0 max-w-[120px]",children:[a&&(0,s.jsxs)("div",{className:"text-xs font-medium text-gray-900 truncate",children:["In: $",a]}),r&&(0,s.jsxs)("div",{className:"text-xs text-gray-500 truncate mt-0.5",children:["Out: $",r]})]})}):(0,s.jsx)("div",{className:"max-w-[120px]",children:(0,s.jsx)("span",{className:"text-xs text-gray-400",children:"-"})})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Team ID"}),accessorKey:"model_info.team_id",cell:e=>{let{row:l}=e,t=l.original;return t.model_info.team_id?(0,s.jsx)("div",{className:"overflow-hidden",children:(0,s.jsx)(A.Z,{title:t.model_info.team_id,children:(0,s.jsxs)(eY.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>r(t.model_info.team_id),children:[t.model_info.team_id.slice(0,7),"..."]})})}):"-"}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Model Access Group"}),accessorKey:"model_info.model_access_group",enableSorting:!1,cell:e=>{let{row:l}=e,t=l.original,a=t.model_info.access_groups;if(!a||0===a.length)return"-";let r=t.model_info.id,i=c.has(r),n=a.length>1,o=()=>{let e=new Set(c);i?e.delete(r):e.add(r),m(e)};return(0,s.jsxs)("div",{className:"flex items-center gap-1 overflow-hidden",children:[(0,s.jsx)(ll.Z,{size:"xs",color:"blue",className:"text-xs px-1.5 py-0.5 h-5 leading-tight flex-shrink-0",children:a[0]}),(i||!n&&2===a.length)&&a.slice(1).map((e,l)=>(0,s.jsx)(ll.Z,{size:"xs",color:"blue",className:"text-xs px-1.5 py-0.5 h-5 leading-tight flex-shrink-0",children:e},l+1)),n&&(0,s.jsx)("button",{onClick:e=>{e.stopPropagation(),o()},className:"text-xs text-blue-600 hover:text-blue-800 px-1 py-0.5 rounded hover:bg-blue-50 h-5 leading-tight flex-shrink-0 whitespace-nowrap",children:i?"−":"+".concat(a.length-1)})]})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Status"}),accessorKey:"model_info.db_model",cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)("div",{className:"\n inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium\n ".concat(t.model_info.db_model?"bg-blue-50 text-blue-600":"bg-gray-100 text-gray-600","\n "),children:t.model_info.db_model?"DB Model":"Config Model"})}},{id:"actions",header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Actions"}),cell:t=>{var r,i;let{row:n}=t,o=n.original,c="Admin"===e||(null===(r=o.model_info)||void 0===r?void 0:r.created_by)===l,m=!(null===(i=o.model_info)||void 0===i?void 0:i.db_model);return(0,s.jsx)("div",{className:"flex items-center justify-end gap-2 pr-4",children:m?(0,s.jsx)(A.Z,{title:"Config model cannot be deleted on the dashboard. Please delete it from the config file.",children:(0,s.jsx)($.Z,{icon:y.Z,size:"sm",className:"opacity-50 cursor-not-allowed"})}):(0,s.jsx)(A.Z,{title:"Delete model",children:(0,s.jsx)($.Z,{icon:y.Z,size:"sm",onClick:()=>{c&&(a(o.model_info.id),d(!1))},className:c?"cursor-pointer hover:text-red-600":"opacity-50 cursor-not-allowed"})})})}}];var la=t(27281),lr=t(57365),li=e=>{let{selectedModelGroup:l,setSelectedModelGroup:t,availableModelGroups:a,availableModelAccessGroups:r,setSelectedModelId:d,setSelectedTeamId:c,setEditModel:m,modelData:u}=e,{userId:h,userRole:x,premiumUser:p}=(0,K.Z)(),{teams:g}=(0,e7.Z)(),[f,j]=(0,o.useState)(""),[v,_]=(0,o.useState)("current_team"),[y,b]=(0,o.useState)("personal"),[N,Z]=(0,o.useState)(!1),[w,C]=(0,o.useState)(null),[S,k]=(0,o.useState)(new Set),[A,E]=(0,o.useState)({pageIndex:0,pageSize:50}),M=(0,o.useRef)(null),I=(0,o.useMemo)(()=>u&&u.data&&0!==u.data.length?u.data.filter(e=>{var t,s,a,r,i,n;let o=""===f||e.model_name.toLowerCase().includes(f.toLowerCase()),d="all"===l||e.model_name===l||!l||"wildcard"===l&&(null===(t=e.model_name)||void 0===t?void 0:t.includes("*")),c="all"===w||(null===(s=e.model_info.access_groups)||void 0===s?void 0:s.includes(w))||!w,m=!0;if("current_team"===v){if("personal"===y)m=(null===(a=e.model_info)||void 0===a?void 0:a.direct_access)===!0;else{let l=(null===(i=e.model_info)||void 0===i?void 0:null===(r=i.access_via_team_ids)||void 0===r?void 0:r.includes(y.team_id))===!0,t=(null===(n=y.models)||void 0===n?void 0:n.some(l=>{var t,s;return null===(s=e.model_info)||void 0===s?void 0:null===(t=s.access_groups)||void 0===t?void 0:t.includes(l)}))===!0;m=l||t}}return o&&d&&c&&m}):[],[u,f,l,w,y,v]),F=(0,o.useMemo)(()=>{let e=A.pageIndex*A.pageSize,l=e+A.pageSize;return I.slice(e,l)},[I,A.pageIndex,A.pageSize]);return(0,o.useEffect)(()=>{E(e=>({...e,pageIndex:0}))},[f,l,w,y,v]),(0,s.jsx)(el.Z,{children:(0,s.jsx)(i.Z,{children:(0,s.jsx)("div",{className:"flex flex-col space-y-4",children:(0,s.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,s.jsxs)("div",{className:"border-b px-6 py-4 bg-gray-50",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)(n.Z,{className:"text-lg font-semibold text-gray-900",children:"Current Team:"}),(0,s.jsxs)(la.Z,{className:"w-80",defaultValue:"personal",value:"personal"===y?"personal":y.team_id,onValueChange:e=>{if("personal"===e)b("personal");else{let l=null==g?void 0:g.find(l=>l.team_id===e);l&&b(l)}},children:[(0,s.jsx)(lr.Z,{value:"personal",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-blue-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:"Personal"})]})}),null==g?void 0:g.filter(e=>e.team_id).map(e=>(0,s.jsx)(lr.Z,{value:e.team_id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:e.team_alias?"".concat(e.team_alias.slice(0,30),"..."):"Team ".concat(e.team_id.slice(0,30),"...")})]})},e.team_id))]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)(n.Z,{className:"text-lg font-semibold text-gray-900",children:"View:"}),(0,s.jsxs)(la.Z,{className:"w-64",defaultValue:"current_team",value:v,onValueChange:e=>_(e),children:[(0,s.jsx)(lr.Z,{value:"current_team",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-purple-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:"Current Team Models"})]})}),(0,s.jsx)(lr.Z,{value:"all",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-gray-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:"All Available Models"})]})})]})]})]}),"current_team"===v&&(0,s.jsxs)("div",{className:"flex items-start gap-2 mt-3",children:[(0,s.jsx)(eu.Z,{className:"text-gray-400 mt-0.5 flex-shrink-0 text-xs"}),(0,s.jsx)("div",{className:"text-xs text-gray-500",children:"personal"===y?(0,s.jsxs)("span",{children:["To access these models: Create a Virtual Key without selecting a team on the"," ",(0,s.jsx)("a",{href:"/public?login=success&page=api-keys",className:"text-gray-600 hover:text-gray-800 underline",children:"Virtual Keys page"})]}):(0,s.jsxs)("span",{children:['To access these models: Create a Virtual Key and select Team as "',"string"!=typeof y?y.team_alias||y.team_id:"",'" on the'," ",(0,s.jsx)("a",{href:"/public?login=success&page=api-keys",className:"text-gray-600 hover:text-gray-800 underline",children:"Virtual Keys page"})]})})]})]}),(0,s.jsx)("div",{className:"border-b px-6 py-4",children:(0,s.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,s.jsxs)("div",{className:"relative w-64",children:[(0,s.jsx)("input",{type:"text",placeholder:"Search model names...",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:f,onChange:e=>j(e.target.value)}),(0,s.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,s.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 ".concat(N?"bg-gray-100":""),onClick:()=>Z(!N),children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"})}),"Filters"]}),(0,s.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",onClick:()=>{j(""),t("all"),C(null),b("personal"),_("current_team"),E({pageIndex:0,pageSize:50})},children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),"Reset Filters"]})]}),N&&(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-3",children:[(0,s.jsx)("div",{className:"w-64",children:(0,s.jsxs)(la.Z,{value:null!=l?l:"all",onValueChange:e=>t("all"===e?"all":e),placeholder:"Filter by Public Model Name",children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Models"}),(0,s.jsx)(lr.Z,{value:"wildcard",children:"Wildcard Models (*)"}),a.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,children:e},l))]})}),(0,s.jsx)("div",{className:"w-64",children:(0,s.jsxs)(la.Z,{value:null!=w?w:"all",onValueChange:e=>C("all"===e?null:e),placeholder:"Filter by Model Access Group",children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Model Access Groups"}),r.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,children:e},l))]})})]}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("span",{className:"text-sm text-gray-700",children:I.length>0?"Showing ".concat(A.pageIndex*A.pageSize+1," - ").concat(Math.min((A.pageIndex+1)*A.pageSize,I.length)," of ").concat(I.length," results"):"Showing 0 results"}),I.length>A.pageSize&&(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("button",{onClick:()=>E(e=>({...e,pageIndex:e.pageIndex-1})),disabled:0===A.pageIndex,className:"px-3 py-1 text-sm border rounded-md ".concat(0===A.pageIndex?"bg-gray-100 text-gray-400 cursor-not-allowed":"hover:bg-gray-50"),children:"Previous"}),(0,s.jsx)("button",{onClick:()=>E(e=>({...e,pageIndex:e.pageIndex+1})),disabled:A.pageIndex>=Math.ceil(I.length/A.pageSize)-1,className:"px-3 py-1 text-sm border rounded-md ".concat(A.pageIndex>=Math.ceil(I.length/A.pageSize)-1?"bg-gray-100 text-gray-400 cursor-not-allowed":"hover:bg-gray-50"),children:"Next"})]})]})]})}),(0,s.jsx)(le.C,{columns:ls(x,h,p,d,c,W,()=>{},()=>{},m,S,k),data:F,isLoading:!1,table:M})]})})})})},ln=t(75105),lo=t(40278),ld=t(97765),lc=t(21626),lm=t(97214),lu=t(28241),lh=t(58834),lx=t(69552),lp=t(71876),lg=t(39789),lf=t(79326),lj=t(2356),lv=t(59664),l_=e=>{let{modelMetrics:l,modelMetricsCategories:t,customTooltip:a,premiumUser:r}=e;return(0,s.jsx)(lv.Z,{title:"Time to First token (s)",className:"h-72",data:l,index:"date",showLegend:!1,categories:t,colors:["indigo","rose"],connectNulls:!0,customTooltip:a})},ly=e=>{let{setSelectedAPIKey:l,keys:t,teams:a,setSelectedCustomer:r,allEndUsers:i}=e,{premiumUser:d}=(0,K.Z)(),[c,m]=(0,o.useState)(null);return(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"mb-1",children:"Select API Key Name"}),d?(0,s.jsxs)("div",{children:[(0,s.jsxs)(la.Z,{defaultValue:"all-keys",children:[(0,s.jsx)(lr.Z,{value:"all-keys",onClick:()=>{l(null)},children:"All Keys"},"all-keys"),null==t?void 0:t.map((e,t)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,s.jsx)(lr.Z,{value:String(t),onClick:()=>{l(e)},children:e.key_alias},t):null)]}),(0,s.jsx)(n.Z,{className:"mt-1",children:"Select Customer Name"}),(0,s.jsxs)(la.Z,{defaultValue:"all-customers",children:[(0,s.jsx)(lr.Z,{value:"all-customers",onClick:()=>{r(null)},children:"All Customers"},"all-customers"),null==i?void 0:i.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,onClick:()=>{r(e)},children:e},l))]}),(0,s.jsx)(n.Z,{className:"mt-1",children:"Select Team"}),(0,s.jsxs)(la.Z,{className:"w-64 relative z-50",defaultValue:"all",value:null!=c?c:"all",onValueChange:e=>m("all"===e?null:e),children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Teams"}),null==a?void 0:a.filter(e=>e.team_id).map(e=>(0,s.jsx)(lr.Z,{value:e.team_id,children:e.team_alias?"".concat(e.team_alias," (").concat(e.team_id.slice(0,8),"...)"):"Team ".concat(e.team_id.slice(0,8),"...")},e.team_id))]})]}):(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"mt-1",children:"Select Team"}),(0,s.jsxs)(la.Z,{className:"w-64 relative z-50",defaultValue:"all",value:null!=c?c:"all",onValueChange:e=>m("all"===e?null:e),children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Teams"}),null==a?void 0:a.filter(e=>e.team_id).map(e=>(0,s.jsx)(lr.Z,{value:e.team_id,children:e.team_alias?"".concat(e.team_alias," (").concat(e.team_id.slice(0,8),"...)"):"Team ".concat(e.team_id.slice(0,8),"...")},e.team_id))]})]})]})},lb=e=>{let{dateValue:l,setDateValue:t,selectedModelGroup:a,availableModelGroups:d,setShowAdvancedFilters:m,modelMetrics:u,modelMetricsCategories:h,streamingModelMetrics:x,streamingModelMetricsCategories:p,customTooltip:g,slowResponsesData:f,modelExceptions:j,globalExceptionData:v,allExceptions:_,globalExceptionPerDeployment:y,setSelectedAPIKey:b,keys:N,setSelectedCustomer:Z,teams:w,allEndUsers:C,selectedAPIKey:S,selectedCustomer:k,selectedTeam:A,setSelectedModelGroup:E,setModelMetrics:M,setModelMetricsCategories:I,setStreamingModelMetrics:F,setStreamingModelMetricsCategories:P,setSlowResponsesData:L,setModelExceptions:T,setAllExceptions:R,setGlobalExceptionData:O,setGlobalExceptionPerDeployment:V}=e,{accessToken:D,userId:z,userRole:q,premiumUser:B}=(0,K.Z)();(0,o.useEffect)(()=>{U(a,l.from,l.to)},[S,k,A]);let U=async(e,l,t)=>{if(console.log("Updating model metrics for group:",e),!D||!z||!q||!l||!t)return;console.log("inside updateModelMetrics - startTime:",l,"endTime:",t),E(e);let s=null==S?void 0:S.token;void 0===s&&(s=null);let a=k;void 0===a&&(a=null);try{let r=await (0,c.modelMetricsCall)(D,z,q,e,l.toISOString(),t.toISOString(),s,a);console.log("Model metrics response:",r),M(r.data),I(r.all_api_bases);let i=await (0,c.streamingModelMetricsCall)(D,e,l.toISOString(),t.toISOString());F(i.data),P(i.all_api_bases);let n=await (0,c.modelExceptionsCall)(D,z,q,e,l.toISOString(),t.toISOString(),s,a);console.log("Model exceptions response:",n),T(n.data),R(n.exception_types);let o=await (0,c.modelMetricsSlowResponsesCall)(D,z,q,e,l.toISOString(),t.toISOString(),s,a);if(console.log("slowResponses:",o),L(o),e){let s=await (0,c.adminGlobalActivityExceptions)(D,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);O(s);let a=await (0,c.adminGlobalActivityExceptionsPerDeployment)(D,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);V(a)}}catch(e){console.error("Failed to fetch model metrics",e)}};return(0,s.jsxs)(el.Z,{children:[(0,s.jsx)("div",{className:"mb-4 rounded-md border border-red-500 bg-red-50 p-4",children:(0,s.jsx)(n.Z,{className:"font-semibold text-red-700",children:"This page is deprecated and will be removed in the future. Some functionality may not work as expected."})}),(0,s.jsxs)(i.Z,{numItems:4,className:"mt-2 mb-2",children:[(0,s.jsx)(r.Z,{children:(0,s.jsx)(lg.Z,{value:l,className:"mr-2",onValueChange:e=>{t(e),U(a,e.from,e.to)}})}),(0,s.jsxs)(r.Z,{className:"ml-2",children:[(0,s.jsx)(n.Z,{children:"Select Model Group"}),(0,s.jsx)(la.Z,{defaultValue:a||d[0],value:a||d[0],children:d.map((e,t)=>(0,s.jsx)(lr.Z,{value:e,onClick:()=>U(e,l.from,l.to),children:e},t))})]}),(0,s.jsx)(r.Z,{children:(0,s.jsx)(lf.Z,{trigger:"click",content:(0,s.jsx)(ly,{allEndUsers:C,keys:N,setSelectedAPIKey:b,setSelectedCustomer:Z,teams:w}),overlayStyle:{width:"20vw"},children:(0,s.jsx)(eY.Z,{icon:lj.Z,size:"md",variant:"secondary",className:"mt-4 ml-2",style:{border:"none"},onClick:()=>m(!0)})})})]}),(0,s.jsxs)(i.Z,{numItems:2,children:[(0,s.jsx)(r.Z,{children:(0,s.jsx)(e$.Z,{className:"mr-2 max-h-[400px] min-h-[400px]",children:(0,s.jsxs)(X.Z,{children:[(0,s.jsxs)(ee.Z,{variant:"line",defaultValue:"1",children:[(0,s.jsx)(Q.Z,{value:"1",children:"Avg. Latency per Token"}),(0,s.jsx)(Q.Z,{value:"2",children:"Time to first token"})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsxs)(el.Z,{children:[(0,s.jsx)("p",{className:"text-gray-500 italic",children:" (seconds/token)"}),(0,s.jsx)(n.Z,{className:"text-gray-500 italic mt-1 mb-1",children:"average Latency for successfull requests divided by the total tokens"}),u&&h&&(0,s.jsx)(ln.Z,{title:"Model Latency",className:"h-72",data:u,showLegend:!1,index:"date",categories:h,connectNulls:!0,customTooltip:g})]}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(l_,{modelMetrics:x,modelMetricsCategories:p,customTooltip:g,premiumUser:B})})]})]})})}),(0,s.jsx)(r.Z,{children:(0,s.jsx)(e$.Z,{className:"ml-2 max-h-[400px] min-h-[400px] overflow-y-auto",children:(0,s.jsxs)(lc.Z,{children:[(0,s.jsx)(lh.Z,{children:(0,s.jsxs)(lp.Z,{children:[(0,s.jsx)(lx.Z,{children:"Deployment"}),(0,s.jsx)(lx.Z,{children:"Success Responses"}),(0,s.jsxs)(lx.Z,{children:["Slow Responses ",(0,s.jsx)("p",{children:"Success Responses taking 600+s"})]})]})}),(0,s.jsx)(lm.Z,{children:f.map((e,l)=>(0,s.jsxs)(lp.Z,{children:[(0,s.jsx)(lu.Z,{children:e.api_base}),(0,s.jsx)(lu.Z,{children:e.total_count}),(0,s.jsx)(lu.Z,{children:e.slow_count})]},l))})]})})})]}),(0,s.jsx)(i.Z,{numItems:1,className:"gap-2 w-full mt-2",children:(0,s.jsxs)(e$.Z,{children:[(0,s.jsxs)(eX.Z,{children:["All Exceptions for ",a]}),(0,s.jsx)(lo.Z,{className:"h-60",data:j,index:"model",categories:_,stack:!0,yAxisWidth:30})]})}),(0,s.jsxs)(i.Z,{numItems:1,className:"gap-2 w-full mt-2",children:[(0,s.jsxs)(e$.Z,{children:[(0,s.jsxs)(eX.Z,{children:["All Up Rate Limit Errors (429) for ",a]}),(0,s.jsxs)(i.Z,{numItems:1,children:[(0,s.jsxs)(r.Z,{children:[(0,s.jsxs)(ld.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",v.sum_num_rate_limit_exceptions]}),(0,s.jsx)(lo.Z,{className:"h-40",data:v.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]}),(0,s.jsx)(r.Z,{})]})]}),B?(0,s.jsx)(s.Fragment,{children:y.map((e,l)=>(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(eX.Z,{children:e.api_base?e.api_base:"Unknown API Base"}),(0,s.jsx)(i.Z,{numItems:1,children:(0,s.jsxs)(r.Z,{children:[(0,s.jsxs)(ld.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors (429) ",e.sum_num_rate_limit_exceptions]}),(0,s.jsx)(lo.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]},l))}):(0,s.jsx)(s.Fragment,{children:y&&y.length>0&&y.slice(0,1).map((e,l)=>(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(eX.Z,{children:"✨ Rate Limit Errors by Deployment"}),(0,s.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see exceptions for all deployments"}),(0,s.jsx)(eY.Z,{variant:"primary",className:"mb-2",children:(0,s.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(eX.Z,{children:e.api_base}),(0,s.jsx)(i.Z,{numItems:1,children:(0,s.jsxs)(r.Z,{children:[(0,s.jsxs)(ld.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",e.sum_num_rate_limit_exceptions]}),(0,s.jsx)(lo.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]})]},l))})]})]})};let lN={"BadRequestError (400)":"BadRequestErrorRetries","AuthenticationError (401)":"AuthenticationErrorRetries","TimeoutError (408)":"TimeoutErrorRetries","RateLimitError (429)":"RateLimitErrorRetries","ContentPolicyViolationError (400)":"ContentPolicyViolationErrorRetries","InternalServerError (500)":"InternalServerErrorRetries"};var lZ=e=>{let{selectedModelGroup:l,setSelectedModelGroup:t,availableModelGroups:a,globalRetryPolicy:r,setGlobalRetryPolicy:i,defaultRetry:o,modelGroupRetryPolicy:d,setModelGroupRetryPolicy:c,handleSaveRetrySettings:m}=e;return(0,s.jsxs)(el.Z,{children:[(0,s.jsx)("div",{className:"flex items-center gap-4 mb-6",children:(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(n.Z,{children:"Retry Policy Scope:"}),(0,s.jsxs)(la.Z,{className:"ml-2 w-48",defaultValue:"global",value:"global"===l?"global":l||a[0],onValueChange:e=>t(e),children:[(0,s.jsx)(lr.Z,{value:"global",children:"Global Default"}),a.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,onClick:()=>t(e),children:e},l))]})]})}),"global"===l?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eX.Z,{children:"Global Retry Policy"}),(0,s.jsx)(n.Z,{className:"mb-6",children:"Default retry settings applied to all model groups unless overridden"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(eX.Z,{children:["Retry Policy for ",l]}),(0,s.jsx)(n.Z,{className:"mb-6",children:"Model-specific retry settings. Falls back to global defaults if not set."})]}),lN&&(0,s.jsx)("table",{children:(0,s.jsx)("tbody",{children:Object.entries(lN).map((e,t)=>{var a,m,u,h;let x,[p,g]=e;if("global"===l)x=null!==(a=null==r?void 0:r[g])&&void 0!==a?a:o;else{let e=null==d?void 0:null===(m=d[l])||void 0===m?void 0:m[g];x=null!=e?e:null!==(u=null==r?void 0:r[g])&&void 0!==u?u:o}return(0,s.jsxs)("tr",{className:"flex justify-between items-center mt-2",children:[(0,s.jsxs)("td",{children:[(0,s.jsx)(n.Z,{children:p}),"global"!==l&&(0,s.jsxs)(n.Z,{className:"text-xs text-gray-500 ml-2",children:["(Global: ",null!==(h=null==r?void 0:r[g])&&void 0!==h?h:o,")"]})]}),(0,s.jsx)("td",{children:(0,s.jsx)(ej.Z,{className:"ml-5",value:x,min:0,step:1,onChange:e=>{"global"===l?i(l=>null==e?l:{...null!=l?l:{},[g]:e}):c(t=>{var s;let a=null!==(s=null==t?void 0:t[l])&&void 0!==s?s:{};return{...null!=t?t:{},[l]:{...a,[g]:e}}})}})})]},t)})})}),(0,s.jsx)(eY.Z,{className:"mt-6 mr-8",onClick:m,children:"Save"})]})},lw=t(58760),lC=t(867),lS=t(3810),lk=t(89245),lA=t(5540),lE=t(8881);let{Text:lM}=C.default;var lI=e=>{let{accessToken:l,onReloadSuccess:t,buttonText:a="Reload Price Data",showIcon:r=!0,size:i="middle",type:n="primary",className:m=""}=e,[u,h]=(0,o.useState)(!1),[x,p]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),[j,v]=(0,o.useState)(!1),[_,y]=(0,o.useState)(6),[b,N]=(0,o.useState)(null),[Z,w]=(0,o.useState)(!1);(0,o.useEffect)(()=>{C();let e=setInterval(()=>{C()},3e4);return()=>clearInterval(e)},[l]);let C=async()=>{if(l){w(!0);try{console.log("Fetching reload status...");let e=await (0,c.getModelCostMapReloadStatus)(l);console.log("Received status:",e),N(e)}catch(e){console.error("Failed to fetch reload status:",e),N({scheduled:!1,interval_hours:null,last_run:null,next_run:null})}finally{w(!1)}}},k=async()=>{if(!l){d.Z.fromBackend("No access token available");return}h(!0);try{let e=await (0,c.reloadModelCostMap)(l);"success"===e.status?(d.Z.success("Price data reloaded successfully! ".concat(e.models_count||0," models updated.")),null==t||t(),await C()):d.Z.fromBackend("Failed to reload price data")}catch(e){console.error("Error reloading price data:",e),d.Z.fromBackend("Failed to reload price data. Please try again.")}finally{h(!1)}},A=async()=>{if(!l){d.Z.fromBackend("No access token available");return}if(_<=0){d.Z.fromBackend("Hours must be greater than 0");return}p(!0);try{let e=await (0,c.scheduleModelCostMapReload)(l,_);"success"===e.status?(d.Z.success("Periodic reload scheduled for every ".concat(_," hours")),v(!1),await C()):d.Z.fromBackend("Failed to schedule periodic reload")}catch(e){console.error("Error scheduling reload:",e),d.Z.fromBackend("Failed to schedule periodic reload. Please try again.")}finally{p(!1)}},M=async()=>{if(!l){d.Z.fromBackend("No access token available");return}f(!0);try{let e=await (0,c.cancelModelCostMapReload)(l);"success"===e.status?(d.Z.success("Periodic reload cancelled successfully"),await C()):d.Z.fromBackend("Failed to cancel periodic reload")}catch(e){console.error("Error cancelling reload:",e),d.Z.fromBackend("Failed to cancel periodic reload. Please try again.")}finally{f(!1)}},I=e=>{if(!e)return"Never";try{return new Date(e).toLocaleString()}catch(l){return e}};return(0,s.jsxs)("div",{className:m,children:[(0,s.jsxs)(lw.Z,{direction:"horizontal",size:"middle",style:{marginBottom:16},children:[(0,s.jsx)(lC.Z,{title:"Hard Refresh Price Data",description:"This will immediately fetch the latest pricing information from the remote source. Continue?",onConfirm:k,okText:"Yes",cancelText:"No",okButtonProps:{style:{backgroundColor:"#6366f1",borderColor:"#6366f1",color:"white",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem",transition:"all 0.2s ease-in-out"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#4f46e5"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#6366f1"}},children:(0,s.jsx)(E.ZP,{type:n,size:i,loading:u,icon:r?(0,s.jsx)(lk.Z,{}):void 0,style:{backgroundColor:"#6366f1",borderColor:"#6366f1",color:"white",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem",transition:"all 0.2s ease-in-out"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#4f46e5"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#6366f1"},children:a})}),(null==b?void 0:b.scheduled)?(0,s.jsx)(E.ZP,{type:"default",size:i,danger:!0,icon:(0,s.jsx)(lE.Z,{}),loading:g,onClick:M,style:{borderColor:"#ff4d4f",color:"#ff4d4f",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem"},children:"Cancel Periodic Reload"}):(0,s.jsx)(E.ZP,{type:"default",size:i,icon:(0,s.jsx)(lA.Z,{}),onClick:()=>v(!0),style:{borderColor:"#d9d9d9",color:"#6366f1",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem"},children:"Set Up Periodic Reload"})]}),b&&(0,s.jsx)(er.Z,{size:"small",style:{backgroundColor:"#f8f9fa",border:"1px solid #e9ecef",borderRadius:8},children:(0,s.jsxs)(lw.Z,{direction:"vertical",size:"small",style:{width:"100%"},children:[b.scheduled?(0,s.jsx)("div",{children:(0,s.jsxs)(lS.Z,{color:"green",icon:(0,s.jsx)(lA.Z,{}),children:["Scheduled every ",b.interval_hours," hours"]})}):(0,s.jsx)(lM,{type:"secondary",children:"No periodic reload scheduled"}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(lM,{type:"secondary",style:{fontSize:"12px"},children:"Last run:"}),(0,s.jsx)(lM,{style:{fontSize:"12px"},children:I(b.last_run)})]}),b.scheduled&&(0,s.jsxs)(s.Fragment,{children:[b.next_run&&(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(lM,{type:"secondary",style:{fontSize:"12px"},children:"Next run:"}),(0,s.jsx)(lM,{style:{fontSize:"12px"},children:I(b.next_run)})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(lM,{type:"secondary",style:{fontSize:"12px"},children:"Status:"}),(0,s.jsx)(lS.Z,{color:(null==b?void 0:b.scheduled)?b.last_run?"success":"processing":"default",children:(null==b?void 0:b.scheduled)?b.last_run?"Active":"Ready":"Not scheduled"})]})]})]})}),(0,s.jsxs)(S.Z,{title:"Set Up Periodic Reload",open:j,onOk:A,onCancel:()=>v(!1),confirmLoading:x,okText:"Schedule",cancelText:"Cancel",okButtonProps:{style:{backgroundColor:"#6366f1",borderColor:"#6366f1",color:"white"}},children:[(0,s.jsx)("div",{style:{marginBottom:16},children:(0,s.jsx)(lM,{children:"Set up automatic reload of price data every:"})}),(0,s.jsx)("div",{style:{marginBottom:16},children:(0,s.jsx)(ej.Z,{min:1,max:168,value:_,onChange:e=>y(e||6),addonAfter:"hours",style:{width:"100%"}})}),(0,s.jsx)("div",{children:(0,s.jsxs)(lM,{type:"secondary",children:["This will automatically fetch the latest pricing data from the remote source every ",_," hours."]})})]})]})},lF=e=>{let{setModelMap:l}=e,{accessToken:t}=(0,K.Z)();return(0,s.jsx)(el.Z,{children:(0,s.jsxs)("div",{className:"p-6",children:[(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsx)(eX.Z,{children:"Price Data Management"}),(0,s.jsx)(n.Z,{className:"text-tremor-content",children:"Manage model pricing data and configure automatic reload schedules"})]}),(0,s.jsx)(lI,{accessToken:t,onReloadSuccess:()=>{(async()=>{l(await (0,c.modelCostMap)())})()},buttonText:"Reload Price Data",size:"middle",type:"primary",className:"w-full"})]})})},lP=t(55584),lL=t(61994),lT=t(15731),lR=t(91126);let lO=(e,l,t,a,r,i,n,o,d,c,m)=>[{header:()=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(lL.Z,{checked:t,indeterminate:l.length>0&&!t,onChange:e=>r(e.target.checked),onClick:e=>e.stopPropagation()}),(0,s.jsx)("span",{children:"Model ID"})]}),accessorKey:"model_info.id",enableSorting:!0,sortingFn:"alphanumeric",cell:e=>{let{row:t}=e,r=t.original,i=r.model_name,n=l.includes(i);return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(lL.Z,{checked:n,onChange:e=>a(i,e.target.checked),onClick:e=>e.stopPropagation()}),(0,s.jsx)(A.Z,{title:r.model_info.id,children:(0,s.jsx)("div",{className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",onClick:()=>m&&m(r.model_info.id),children:r.model_info.id})})]})}},{header:"Model Name",accessorKey:"model_name",enableSorting:!0,sortingFn:"alphanumeric",cell:e=>{let{row:l}=e,t=l.original,a=o(t)||t.model_name;return(0,s.jsx)("div",{className:"font-medium text-sm",children:(0,s.jsx)(A.Z,{title:a,children:(0,s.jsx)("div",{className:"truncate max-w-[200px]",children:a})})})}},{header:"Health Status",accessorKey:"health_status",enableSorting:!0,sortingFn:(e,l,t)=>{var s,a;let r=e.getValue("health_status")||"unknown",i=l.getValue("health_status")||"unknown",n={healthy:0,checking:1,unknown:2,unhealthy:3};return(null!==(s=n[r])&&void 0!==s?s:4)-(null!==(a=n[i])&&void 0!==a?a:4)},cell:l=>{var t;let{row:a}=l,r=a.original,i={status:r.health_status,loading:r.health_loading,error:r.health_error};if(i.loading)return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)("div",{className:"flex space-x-1",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-indigo-500 rounded-full animate-pulse"}),(0,s.jsx)("div",{className:"w-2 h-2 bg-indigo-500 rounded-full animate-pulse",style:{animationDelay:"0.2s"}}),(0,s.jsx)("div",{className:"w-2 h-2 bg-indigo-500 rounded-full animate-pulse",style:{animationDelay:"0.4s"}})]}),(0,s.jsx)(eb.x,{className:"text-gray-600 text-sm",children:"Checking..."})]});let o=r.model_name,d="healthy"===i.status&&(null===(t=e[o])||void 0===t?void 0:t.successResponse);return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[n(i.status),d&&c&&(0,s.jsx)(A.Z,{title:"View response details",placement:"top",children:(0,s.jsx)("button",{onClick:()=>{var l;return c(o,null===(l=e[o])||void 0===l?void 0:l.successResponse)},className:"p-1 text-green-600 hover:text-green-800 hover:bg-green-50 rounded cursor-pointer transition-colors",children:(0,s.jsx)(lT.Z,{className:"h-4 w-4"})})})]})}},{header:"Error Details",accessorKey:"health_error",enableSorting:!1,cell:l=>{let{row:t}=l,a=t.original.model_name,r=e[a];if(!(null==r?void 0:r.error))return(0,s.jsx)(eb.x,{className:"text-gray-400 text-sm",children:"No errors"});let i=r.error,n=r.fullError||r.error;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"max-w-[200px]",children:(0,s.jsx)(A.Z,{title:i,placement:"top",children:(0,s.jsx)(eb.x,{className:"text-red-600 text-sm truncate",children:i})})}),d&&n!==i&&(0,s.jsx)(A.Z,{title:"View full error details",placement:"top",children:(0,s.jsx)("button",{onClick:()=>d(a,i,n),className:"p-1 text-red-600 hover:text-red-800 hover:bg-red-50 rounded cursor-pointer transition-colors",children:(0,s.jsx)(lT.Z,{className:"h-4 w-4"})})})]})}},{header:"Last Check",accessorKey:"last_check",enableSorting:!0,sortingFn:(e,l,t)=>{let s=e.getValue("last_check")||"Never checked",a=l.getValue("last_check")||"Never checked";if("Never checked"===s&&"Never checked"===a)return 0;if("Never checked"===s)return 1;if("Never checked"===a)return -1;if("Check in progress..."===s&&"Check in progress..."===a)return 0;if("Check in progress..."===s)return -1;if("Check in progress..."===a)return 1;let r=new Date(s),i=new Date(a);return isNaN(r.getTime())&&isNaN(i.getTime())?0:isNaN(r.getTime())?1:isNaN(i.getTime())?-1:i.getTime()-r.getTime()},cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)(eb.x,{className:"text-gray-600 text-sm",children:t.health_loading?"Check in progress...":t.last_check})}},{header:"Last Success",accessorKey:"last_success",enableSorting:!0,sortingFn:(e,l,t)=>{let s=e.getValue("last_success")||"Never succeeded",a=l.getValue("last_success")||"Never succeeded";if("Never succeeded"===s&&"Never succeeded"===a)return 0;if("Never succeeded"===s)return 1;if("Never succeeded"===a)return -1;if("None"===s&&"None"===a)return 0;if("None"===s)return 1;if("None"===a)return -1;let r=new Date(s),i=new Date(a);return isNaN(r.getTime())&&isNaN(i.getTime())?0:isNaN(r.getTime())?1:isNaN(i.getTime())?-1:i.getTime()-r.getTime()},cell:l=>{let{row:t}=l,a=e[t.original.model_name],r=(null==a?void 0:a.lastSuccess)||"None";return(0,s.jsx)(eb.x,{className:"text-gray-600 text-sm",children:r})}},{header:"Actions",id:"actions",cell:e=>{let{row:l}=e,t=l.original,a=t.model_name,r=t.health_status&&"none"!==t.health_status,n=t.health_loading?"Checking...":r?"Re-run Health Check":"Run Health Check";return(0,s.jsx)(A.Z,{title:n,placement:"top",children:(0,s.jsx)("button",{className:"p-2 rounded-md transition-colors ".concat(t.health_loading?"text-gray-400 cursor-not-allowed bg-gray-100":"text-indigo-600 hover:text-indigo-700 hover:bg-indigo-50"),onClick:()=>{t.health_loading||i(a)},disabled:t.health_loading,children:t.health_loading?(0,s.jsxs)("div",{className:"flex space-x-1",children:[(0,s.jsx)("div",{className:"w-1 h-1 bg-gray-400 rounded-full animate-pulse"}),(0,s.jsx)("div",{className:"w-1 h-1 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"0.2s"}}),(0,s.jsx)("div",{className:"w-1 h-1 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"0.4s"}})]}):r?(0,s.jsx)(Y.Z,{className:"h-4 w-4"}):(0,s.jsx)(lR.Z,{className:"h-4 w-4"})})})},enableSorting:!1}],lV=[{pattern:/Missing .* API Key/i,replacement:"Missing API Key"},{pattern:/Connection timeout/i,replacement:"Connection timeout"},{pattern:/Network.*not.*ok/i,replacement:"Network connection failed"},{pattern:/403.*Forbidden/i,replacement:"Access forbidden - check API key permissions"},{pattern:/401.*Unauthorized/i,replacement:"Unauthorized - invalid API key"},{pattern:/429.*rate limit/i,replacement:"Rate limit exceeded"},{pattern:/500.*Internal Server Error/i,replacement:"Provider internal server error"},{pattern:/litellm\.AuthenticationError/i,replacement:"Authentication failed"},{pattern:/litellm\.RateLimitError/i,replacement:"Rate limit exceeded"},{pattern:/litellm\.APIError/i,replacement:"API error"}];var lD=e=>{let{accessToken:l,modelData:t,all_models_on_proxy:a,getDisplayModelName:r,setSelectedModelId:i}=e,[d,m]=(0,o.useState)({}),[u,h]=(0,o.useState)([]),[x,p]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),[j,v]=(0,o.useState)(null),[_,y]=(0,o.useState)(!1),[b,N]=(0,o.useState)(null),Z=(0,o.useRef)(null);(0,o.useEffect)(()=>{l&&(null==t?void 0:t.data)&&(async()=>{let e={};t.data.forEach(l=>{e[l.model_name]={status:"none",lastCheck:"None",lastSuccess:"None",loading:!1,error:void 0,fullError:void 0,successResponse:void 0}});try{let s=await (0,c.latestHealthChecksCall)(l);s&&s.latest_health_checks&&"object"==typeof s.latest_health_checks&&Object.entries(s.latest_health_checks).forEach(l=>{let[s,a]=l;if(!a)return;let r=null,i=t.data.find(e=>e.model_name===s);if(i)r=i.model_name;else{let e=t.data.find(e=>e.model_info&&e.model_info.id===s);if(e)r=e.model_name;else if(a.model_name){let e=t.data.find(e=>e.model_name===a.model_name);e&&(r=e.model_name)}}if(r){let l=a.error_message||void 0;e[r]={status:a.status||"unknown",lastCheck:a.checked_at?new Date(a.checked_at).toLocaleString():"None",lastSuccess:"healthy"===a.status&&a.checked_at?new Date(a.checked_at).toLocaleString():"None",loading:!1,error:l?w(l):void 0,fullError:l,successResponse:"healthy"===a.status?a:void 0}}})}catch(e){console.warn("Failed to load health check history (using default states):",e)}m(e)})()},[l,t]);let w=e=>{var l;if(!e)return"Health check failed";let t="string"==typeof e?e:JSON.stringify(e),s=t.match(/(\w+Error):\s*(\d{3})/i);if(s)return"".concat(s[1],": ").concat(s[2]);let a=t.match(/(AuthenticationError|RateLimitError|BadRequestError|InternalServerError|TimeoutError|NotFoundError|ForbiddenError|ServiceUnavailableError|BadGatewayError|ContentPolicyViolationError|\w+Error)/i),r=t.match(/\b(400|401|403|404|408|429|500|502|503|504)\b/);if(a&&r)return"".concat(a[1],": ").concat(r[1]);if(r){let e=r[1];return"".concat({400:"BadRequestError",401:"AuthenticationError",403:"ForbiddenError",404:"NotFoundError",408:"TimeoutError",429:"RateLimitError",500:"InternalServerError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError"}[e],": ").concat(e)}if(a){let e=a[1],l={AuthenticationError:"401",RateLimitError:"429",BadRequestError:"400",InternalServerError:"500",TimeoutError:"408",NotFoundError:"404",ForbiddenError:"403",ServiceUnavailableError:"503",BadGatewayError:"502",GatewayTimeoutError:"504",ContentPolicyViolationError:"400"}[e];return l?"".concat(e,": ").concat(l):e}for(let{pattern:e,replacement:l}of lV)if(e.test(t))return l;if(/missing.*api.*key|invalid.*key|unauthorized/i.test(t))return"AuthenticationError: 401";if(/rate.*limit|too.*many.*requests/i.test(t))return"RateLimitError: 429";if(/timeout|timed.*out/i.test(t))return"TimeoutError: 408";if(/not.*found/i.test(t))return"NotFoundError: 404";if(/forbidden|access.*denied/i.test(t))return"ForbiddenError: 403";if(/internal.*server.*error/i.test(t))return"InternalServerError: 500";let i=t.replace(/[\n\r]+/g," ").replace(/\s+/g," ").trim(),n=null===(l=i.split(/[.!?]/)[0])||void 0===l?void 0:l.trim();return n&&n.length>0?n.length>100?n.substring(0,97)+"...":n:i.length>100?i.substring(0,97)+"...":i},C=async e=>{if(l){m(l=>({...l,[e]:{...l[e],loading:!0,status:"checking"}}));try{var s,a;let r=await (0,c.individualModelHealthCheckCall)(l,e),i=new Date().toLocaleString();if(r.unhealthy_count>0&&r.unhealthy_endpoints&&r.unhealthy_endpoints.length>0){let l=(null===(s=r.unhealthy_endpoints[0])||void 0===s?void 0:s.error)||"Health check failed",t=w(l);m(s=>{var a;return{...s,[e]:{status:"unhealthy",lastCheck:i,lastSuccess:(null===(a=s[e])||void 0===a?void 0:a.lastSuccess)||"None",loading:!1,error:t,fullError:l}}})}else m(l=>({...l,[e]:{status:"healthy",lastCheck:i,lastSuccess:i,loading:!1,successResponse:r}}));try{let s=await (0,c.latestHealthChecksCall)(l),r=t.data.find(l=>l.model_name===e);if(r){let l=r.model_info.id,t=null===(a=s.latest_health_checks)||void 0===a?void 0:a[l];if(t){let l=t.error_message||void 0;m(s=>{var a,r,i,n,o,d,c;return{...s,[e]:{status:t.status||(null===(a=s[e])||void 0===a?void 0:a.status)||"unknown",lastCheck:t.checked_at?new Date(t.checked_at).toLocaleString():(null===(r=s[e])||void 0===r?void 0:r.lastCheck)||"None",lastSuccess:"healthy"===t.status?t.checked_at?new Date(t.checked_at).toLocaleString():(null===(i=s[e])||void 0===i?void 0:i.lastSuccess)||"None":(null===(n=s[e])||void 0===n?void 0:n.lastSuccess)||"None",loading:!1,error:l?w(l):null===(o=s[e])||void 0===o?void 0:o.error,fullError:l||(null===(d=s[e])||void 0===d?void 0:d.fullError),successResponse:"healthy"===t.status?t:null===(c=s[e])||void 0===c?void 0:c.successResponse}}})}}}catch(e){console.debug("Could not fetch updated status from database (non-critical):",e)}}catch(a){let l=new Date().toLocaleString(),t=a instanceof Error?a.message:String(a),s=w(t);m(a=>{var r;return{...a,[e]:{status:"unhealthy",lastCheck:l,lastSuccess:(null===(r=a[e])||void 0===r?void 0:r.lastSuccess)||"None",loading:!1,error:s,fullError:t}}})}}},k=async()=>{let e=u.length>0?u:a,s=e.reduce((e,l)=>(e[l]={...d[l],loading:!0,status:"checking"},e),{});m(e=>({...e,...s}));let r={},i=e.map(async e=>{if(l)try{let s=await (0,c.individualModelHealthCheckCall)(l,e);r[e]=s;let a=new Date().toLocaleString();if(s.unhealthy_count>0&&s.unhealthy_endpoints&&s.unhealthy_endpoints.length>0){var t;let l=(null===(t=s.unhealthy_endpoints[0])||void 0===t?void 0:t.error)||"Health check failed",r=w(l);m(t=>{var s;return{...t,[e]:{status:"unhealthy",lastCheck:a,lastSuccess:(null===(s=t[e])||void 0===s?void 0:s.lastSuccess)||"None",loading:!1,error:r,fullError:l}}})}else m(l=>({...l,[e]:{status:"healthy",lastCheck:a,lastSuccess:a,loading:!1,successResponse:s}}))}catch(a){console.error("Health check failed for ".concat(e,":"),a);let l=new Date().toLocaleString(),t=a instanceof Error?a.message:String(a),s=w(t);m(a=>{var r;return{...a,[e]:{status:"unhealthy",lastCheck:l,lastSuccess:(null===(r=a[e])||void 0===r?void 0:r.lastSuccess)||"None",loading:!1,error:s,fullError:t}}})}});await Promise.allSettled(i);try{if(!l)return;let s=await (0,c.latestHealthChecksCall)(l);s.latest_health_checks&&Object.entries(s.latest_health_checks).forEach(l=>{let[s,a]=l,r=t.data.find(e=>e.model_info.id===s);if(r&&e.includes(r.model_name)&&a){let e=r.model_name,l=a.error_message||void 0;m(t=>{let s=t[e];return{...t,[e]:{status:a.status||(null==s?void 0:s.status)||"unknown",lastCheck:a.checked_at?new Date(a.checked_at).toLocaleString():(null==s?void 0:s.lastCheck)||"None",lastSuccess:"healthy"===a.status&&a.checked_at?new Date(a.checked_at).toLocaleString():(null==s?void 0:s.lastSuccess)||"None",loading:!1,error:l?w(l):null==s?void 0:s.error,fullError:l||(null==s?void 0:s.fullError),successResponse:"healthy"===a.status?a:null==s?void 0:s.successResponse}}})}})}catch(e){console.warn("Failed to fetch updated health statuses from database (non-critical):",e)}},A=e=>{p(e),e?h(a):h([])},M=()=>{f(!1),v(null)},I=()=>{y(!1),N(null)};return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"mb-6",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(eX.Z,{children:"Model Health Status"}),(0,s.jsx)(n.Z,{className:"text-gray-600 mt-1",children:"Run health checks on individual models to verify they are working correctly"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[u.length>0&&(0,s.jsx)(eY.Z,{size:"sm",variant:"light",onClick:()=>A(!1),className:"px-3 py-1 text-sm",children:"Clear Selection"}),(0,s.jsx)(eY.Z,{size:"sm",variant:"secondary",onClick:k,disabled:Object.values(d).some(e=>e.loading),className:"px-3 py-1 text-sm",children:u.length>0&&u.length{l?h(l=>[...l,e]):(h(l=>l.filter(l=>l!==e)),p(!1))},A,C,e=>{switch(e){case"healthy":return(0,s.jsx)(ll.Z,{color:"emerald",children:"healthy"});case"unhealthy":return(0,s.jsx)(ll.Z,{color:"red",children:"unhealthy"});case"checking":return(0,s.jsx)(ll.Z,{color:"blue",children:"checking"});case"none":return(0,s.jsx)(ll.Z,{color:"gray",children:"none"});default:return(0,s.jsx)(ll.Z,{color:"gray",children:"unknown"})}},r,(e,l,t)=>{v({modelName:e,cleanedError:l,fullError:t}),f(!0)},(e,l)=>{N({modelName:e,response:l}),y(!0)},i),data:t.data.map(e=>{let l=d[e.model_name]||{status:"none",lastCheck:"None",loading:!1};return{model_name:e.model_name,model_info:e.model_info,provider:e.provider,litellm_model_name:e.litellm_model_name,health_status:l.status,last_check:l.lastCheck,last_success:l.lastSuccess||"None",health_loading:l.loading,health_error:l.error,health_full_error:l.fullError}}),isLoading:!1,table:Z})}),(0,s.jsx)(S.Z,{title:j?"Health Check Error - ".concat(j.modelName):"Error Details",open:g,onCancel:M,footer:[(0,s.jsx)(E.ZP,{onClick:M,children:"Close"},"close")],width:800,children:j&&(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Error:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,s.jsx)(n.Z,{className:"text-red-800",children:j.cleanedError})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Full Error Details:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-gray-50 border border-gray-200 rounded-md max-h-96 overflow-y-auto",children:(0,s.jsx)("pre",{className:"text-sm text-gray-800 whitespace-pre-wrap",children:j.fullError})})]})]})}),(0,s.jsx)(S.Z,{title:b?"Health Check Response - ".concat(b.modelName):"Response Details",open:_,onCancel:I,footer:[(0,s.jsx)(E.ZP,{onClick:I,children:"Close"},"close")],width:800,children:b&&(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Status:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-green-50 border border-green-200 rounded-md",children:(0,s.jsx)(n.Z,{className:"text-green-800",children:"Health check passed successfully"})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Response Details:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-gray-50 border border-gray-200 rounded-md max-h-96 overflow-y-auto",children:(0,s.jsx)("pre",{className:"text-sm text-gray-800 whitespace-pre-wrap",children:JSON.stringify(b.response,null,2)})})]})]})})]})},lz=t(86462),lq=t(47686),lB=t(77355),lU=t(93416),lG=t(95704),lH=e=>{let{accessToken:l,initialModelGroupAlias:t={},onAliasUpdate:a}=e,[r,i]=(0,o.useState)([]),[n,m]=(0,o.useState)({aliasName:"",targetModelGroup:""}),[u,h]=(0,o.useState)(null),[x,p]=(0,o.useState)(!0);(0,o.useEffect)(()=>{i(Object.entries(t).map((e,l)=>{var t;let[s,a]=e;return{id:"".concat(l,"-").concat(s),aliasName:s,targetModelGroup:"string"==typeof a?a:null!==(t=null==a?void 0:a.model)&&void 0!==t?t:""}}))},[t]);let g=async e=>{if(!l)return console.error("Access token is missing"),!1;try{let t={};return e.forEach(e=>{t[e.aliasName]=e.targetModelGroup}),console.log("Saving model group alias:",t),await (0,c.setCallbacksCall)(l,{router_settings:{model_group_alias:t}}),a&&a(t),!0}catch(e){return console.error("Failed to save model group alias settings:",e),d.Z.fromBackend("Failed to save model group alias settings"),!1}},f=async()=>{if(!n.aliasName||!n.targetModelGroup){d.Z.fromBackend("Please provide both alias name and target model group");return}if(r.some(e=>e.aliasName===n.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=[...r,{id:"".concat(Date.now(),"-").concat(n.aliasName),aliasName:n.aliasName,targetModelGroup:n.targetModelGroup}];await g(e)&&(i(e),m({aliasName:"",targetModelGroup:""}),d.Z.success("Alias added successfully"))},j=e=>{h({...e})},v=async()=>{if(!u)return;if(!u.aliasName||!u.targetModelGroup){d.Z.fromBackend("Please provide both alias name and target model group");return}if(r.some(e=>e.id!==u.id&&e.aliasName===u.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=r.map(e=>e.id===u.id?u:e);await g(e)&&(i(e),h(null),d.Z.success("Alias updated successfully"))},_=()=>{h(null)},b=async e=>{let l=r.filter(l=>l.id!==e);await g(l)&&(i(l),d.Z.success("Alias deleted successfully"))},N=r.reduce((e,l)=>(e[l.aliasName]=l.targetModelGroup,e),{});return(0,s.jsxs)(lG.Zb,{className:"mb-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between cursor-pointer",onClick:()=>p(!x),children:[(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)(lG.Dx,{className:"mb-0",children:"Model Group Alias Settings"}),(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Create aliases for your model groups to simplify API calls. For example, you can create an alias 'gpt-4o' that points to 'gpt-4o-mini-openai' model group."})]}),(0,s.jsx)("div",{className:"flex items-center",children:x?(0,s.jsx)(lz.Z,{className:"w-5 h-5 text-gray-500"}):(0,s.jsx)(lq.Z,{className:"w-5 h-5 text-gray-500"})})]}),x&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsx)(lG.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Add New Alias"}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Alias Name"}),(0,s.jsx)("input",{type:"text",value:n.aliasName,onChange:e=>m({...n,aliasName:e.target.value}),placeholder:"e.g., gpt-4o",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Target Model Group"}),(0,s.jsx)("input",{type:"text",value:n.targetModelGroup,onChange:e=>m({...n,targetModelGroup:e.target.value}),placeholder:"e.g., gpt-4o-mini-openai",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm"})]}),(0,s.jsx)("div",{className:"flex items-end",children:(0,s.jsxs)("button",{onClick:f,disabled:!n.aliasName||!n.targetModelGroup,className:"flex items-center px-4 py-2 rounded-md text-sm ".concat(n.aliasName&&n.targetModelGroup?"bg-green-600 text-white hover:bg-green-700":"bg-gray-300 text-gray-500 cursor-not-allowed"),children:[(0,s.jsx)(lB.Z,{className:"w-4 h-4 mr-1"}),"Add Alias"]})})]})]}),(0,s.jsx)(lG.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Manage Existing Aliases"}),(0,s.jsx)("div",{className:"rounded-lg custom-border relative mb-6",children:(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)(lG.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,s.jsx)(lG.ss,{children:(0,s.jsxs)(lG.SC,{children:[(0,s.jsx)(lG.xs,{className:"py-1 h-8",children:"Alias Name"}),(0,s.jsx)(lG.xs,{className:"py-1 h-8",children:"Target Model Group"}),(0,s.jsx)(lG.xs,{className:"py-1 h-8",children:"Actions"})]})}),(0,s.jsxs)(lG.RM,{children:[r.map(e=>(0,s.jsx)(lG.SC,{className:"h-8",children:u&&u.id===e.id?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(lG.pj,{className:"py-0.5",children:(0,s.jsx)("input",{type:"text",value:u.aliasName,onChange:e=>h({...u,aliasName:e.target.value}),className:"w-full px-2 py-1 border border-gray-300 rounded-md text-sm"})}),(0,s.jsx)(lG.pj,{className:"py-0.5",children:(0,s.jsx)("input",{type:"text",value:u.targetModelGroup,onChange:e=>h({...u,targetModelGroup:e.target.value}),className:"w-full px-2 py-1 border border-gray-300 rounded-md text-sm"})}),(0,s.jsx)(lG.pj,{className:"py-0.5 whitespace-nowrap",children:(0,s.jsxs)("div",{className:"flex space-x-2",children:[(0,s.jsx)("button",{onClick:v,className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:"Save"}),(0,s.jsx)("button",{onClick:_,className:"text-xs bg-gray-50 text-gray-600 px-2 py-1 rounded hover:bg-gray-100",children:"Cancel"})]})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(lG.pj,{className:"py-0.5 text-sm text-gray-900",children:e.aliasName}),(0,s.jsx)(lG.pj,{className:"py-0.5 text-sm text-gray-500",children:e.targetModelGroup}),(0,s.jsx)(lG.pj,{className:"py-0.5 whitespace-nowrap",children:(0,s.jsxs)("div",{className:"flex space-x-2",children:[(0,s.jsx)("button",{onClick:()=>j(e),className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:(0,s.jsx)(lU.Z,{className:"w-3 h-3"})}),(0,s.jsx)("button",{onClick:()=>b(e.id),className:"text-xs bg-red-50 text-red-600 px-2 py-1 rounded hover:bg-red-100",children:(0,s.jsx)(y.Z,{className:"w-3 h-3"})})]})})]})},e.id)),0===r.length&&(0,s.jsx)(lG.SC,{children:(0,s.jsx)(lG.pj,{colSpan:3,className:"py-0.5 text-sm text-gray-500 text-center",children:"No aliases added yet. Add a new alias above."})})]})]})})}),(0,s.jsxs)(lG.Zb,{children:[(0,s.jsx)(lG.Dx,{className:"mb-4",children:"Configuration Example"}),(0,s.jsx)(lG.xv,{className:"text-gray-600 mb-4",children:"Here's how your current aliases would look in the config.yaml:"}),(0,s.jsx)("div",{className:"bg-gray-100 rounded-lg p-4 font-mono text-sm",children:(0,s.jsxs)("div",{className:"text-gray-700",children:["router_settings:",(0,s.jsx)("br",{}),"\xa0\xa0model_group_alias:",0===Object.keys(N).length?(0,s.jsxs)("span",{className:"text-gray-500",children:[(0,s.jsx)("br",{}),"\xa0\xa0\xa0\xa0# No aliases configured yet"]}):Object.entries(N).map(e=>{let[l,t]=e;return(0,s.jsxs)("span",{children:[(0,s.jsx)("br",{}),'\xa0\xa0\xa0\xa0"',l,'": "',t,'"']},l)})]})})]})]})]})},lK=t(27593),lJ=e=>{var l,t,u,x;let{accessToken:p,token:g,userRole:j,userID:_,modelData:y={data:[]},keys:b,setModelData:Z,premiumUser:w,teams:S}=e,[k]=N.Z.useForm(),[A,E]=(0,o.useState)(null),[M,I]=(0,o.useState)(""),[F,P]=(0,o.useState)([]),[L,T]=(0,o.useState)([]),[R,O]=(0,o.useState)(m.Cl.Anthropic),[V,D]=(0,o.useState)(!1),[z,q]=(0,o.useState)(null),[B,U]=(0,o.useState)([]),[G,H]=(0,o.useState)([]),[K,ea]=(0,o.useState)(null),[er,ei]=(0,o.useState)([]),[en,eo]=(0,o.useState)([]),[ed,ec]=(0,o.useState)([]),[em,eu]=(0,o.useState)([]),[eh,ex]=(0,o.useState)([]),[ep,eg]=(0,o.useState)([]),[ef,ej]=(0,o.useState)([]),[ev,e_]=(0,o.useState)({from:new Date(Date.now()-6048e5),to:new Date}),[ey,eb]=(0,o.useState)(null),[eN,eZ]=(0,o.useState)(null),[ew,eC]=(0,o.useState)(0),[eS,ek]=(0,o.useState)({}),[eA,eE]=(0,o.useState)([]),[eM,eI]=(0,o.useState)(!1),[eF,eP]=(0,o.useState)(null),[eL,eT]=(0,o.useState)(null),[eR,eO]=(0,o.useState)([]),[eV,eD]=(0,o.useState)({}),[ez,eq]=(0,o.useState)(!1),[eB,eU]=(0,o.useState)(null),[eG,eH]=(0,o.useState)(!1),[eJ,eW]=(0,o.useState)(null),[eY,e$]=(0,o.useState)(null),[eQ,eX]=(0,o.useState)(!1),e0=(0,o.useRef)(null),[e1,e2]=(0,o.useState)(0),e4=(0,a.NL)(),{data:e5,isLoading:e6,refetch:e3}=v(p,_,j),{data:e7}=f(p),le=(null==e7?void 0:e7.credentials)||[],{data:ll}=(0,lP.L)(p||""),lt=j&&es.lo.includes(j)&&(null==ll?void 0:null===(l=ll.values)||void 0===l?void 0:l.disable_model_add_for_internal_users)===!0;(0,o.useEffect)(()=>{let e=e=>{e0.current&&!e0.current.contains(e.target)&&eX(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let ls={name:"file",accept:".json",pastable:!1,beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;k.setFieldsValue({vertex_credentials:l})}},l.readAsText(e)}return!1},onChange(e){"done"===e.file.status?d.Z.success("".concat(e.file.name," file uploaded successfully")):"error"===e.file.status&&d.Z.fromBackend("".concat(e.file.name," file upload failed."))}},la=()=>{I(new Date().toLocaleString()),e4.invalidateQueries({queryKey:["models","list"]}),e3()},lr=async()=>{if(p)try{let e={router_settings:{}};"global"===K?(eN&&(e.router_settings.retry_policy=eN),d.Z.success("Global retry settings saved successfully")):(ey&&(e.router_settings.model_group_retry_policy=ey),d.Z.success("Retry settings saved successfully for ".concat(K))),await (0,c.setCallbacksCall)(p,e)}catch(e){d.Z.fromBackend("Failed to save retry settings")}};if((0,o.useEffect)(()=>{if(!p||!g||!j||!_||!e5)return;let e=async()=>{try{var e,l,t,s,a,r,i,n,o,d,m,u;Z(e5);let h=await (0,c.modelSettingsCall)(p);h&&T(h);let x=new Set;for(let e=0;e0&&(v=g[g.length-1]);let y=await (0,c.modelMetricsCall)(p,_,j,v,null===(e=ev.from)||void 0===e?void 0:e.toISOString(),null===(l=ev.to)||void 0===l?void 0:l.toISOString(),null==eF?void 0:eF.token,eL);ei(y.data),eo(y.all_api_bases);let b=await (0,c.streamingModelMetricsCall)(p,v,null===(t=ev.from)||void 0===t?void 0:t.toISOString(),null===(s=ev.to)||void 0===s?void 0:s.toISOString());ec(b.data),eu(b.all_api_bases);let N=await (0,c.modelExceptionsCall)(p,_,j,v,null===(a=ev.from)||void 0===a?void 0:a.toISOString(),null===(r=ev.to)||void 0===r?void 0:r.toISOString(),null==eF?void 0:eF.token,eL);ex(N.data),eg(N.exception_types);let w=await (0,c.modelMetricsSlowResponsesCall)(p,_,j,v,null===(i=ev.from)||void 0===i?void 0:i.toISOString(),null===(n=ev.to)||void 0===n?void 0:n.toISOString(),null==eF?void 0:eF.token,eL),C=await (0,c.adminGlobalActivityExceptions)(p,null===(o=ev.from)||void 0===o?void 0:o.toISOString().split("T")[0],null===(d=ev.to)||void 0===d?void 0:d.toISOString().split("T")[0],v);ek(C);let S=await (0,c.adminGlobalActivityExceptionsPerDeployment)(p,null===(m=ev.from)||void 0===m?void 0:m.toISOString().split("T")[0],null===(u=ev.to)||void 0===u?void 0:u.toISOString().split("T")[0],v);eE(S),ej(w);let k=await (0,c.allEndUsersCall)(p);eO(null==k?void 0:k.map(e=>e.user_id));let A=(await (0,c.getCallbacksCall)(p,_,j)).router_settings,E=A.model_group_retry_policy,M=A.num_retries;eb(E),eZ(A.retry_policy),eC(M);let I=A.model_group_alias||{};eD(I)}catch(e){console.error("Error fetching model data:",e)}};p&&g&&j&&_&&e5&&e();let l=async()=>{let e=await (0,c.modelCostMap)();console.log("received model cost map data: ".concat(Object.keys(e))),E(e)};null==A&&l()},[p,g,j,_,e5]),!y||e6||!p||!g||!j||!_)return(0,s.jsx)("div",{children:"Loading..."});let ln=[],lo=[];for(let e=0;enull!=A&&"object"==typeof A&&e in A?A[e].litellm_provider:"openai";if(s){let e=s.split("/"),l=e[0];(i=a)||(i=1===e.length?h(s):l)}else i="-";r&&(n=null==r?void 0:r.input_cost_per_token,o=null==r?void 0:r.output_cost_per_token,d=null==r?void 0:r.max_tokens,c=null==r?void 0:r.max_input_tokens),(null==l?void 0:l.litellm_params)&&(m=Object.fromEntries(Object.entries(null==l?void 0:l.litellm_params).filter(e=>{let[l]=e;return"model"!==l&&"api_base"!==l}))),y.data[e].provider=i,y.data[e].input_cost=n,y.data[e].output_cost=o,y.data[e].litellm_model_name=s,lo.push(i),y.data[e].input_cost&&(y.data[e].input_cost=(1e6*Number(y.data[e].input_cost)).toFixed(2)),y.data[e].output_cost&&(y.data[e].output_cost=(1e6*Number(y.data[e].output_cost)).toFixed(2)),y.data[e].max_tokens=d,y.data[e].max_input_tokens=c,y.data[e].api_base=null==l?void 0:null===(x=l.litellm_params)||void 0===x?void 0:x.api_base,y.data[e].cleanedLitellmParams=m,ln.push(l.model_name)}if(j&&"Admin Viewer"==j){let{Title:e,Paragraph:l}=C.default;return(0,s.jsxs)("div",{children:[(0,s.jsx)(e,{level:1,children:"Access Denied"}),(0,s.jsx)(l,{children:"Ask your proxy admin for access to view all models"})]})}return(Object.keys(m.Cl).find(e=>m.Cl[e]===R),eJ)?(0,s.jsx)("div",{className:"w-full h-full",children:(0,s.jsx)(e9.Z,{teamId:eJ,onClose:()=>eW(null),accessToken:p,is_team_admin:"Admin"===j,is_proxy_admin:"Proxy Admin"===j,userModels:ln,editTeam:!1,onUpdate:la})}):(0,s.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,s.jsx)(i.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,s.jsxs)(r.Z,{numColSpan:1,className:"flex flex-col gap-2",children:[(0,s.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:"Model Management"}),es.ZL.includes(j)?(0,s.jsx)("p",{className:"text-sm text-gray-600",children:"Add and manage models for the proxy"}):(0,s.jsx)("p",{className:"text-sm text-gray-600",children:"Add models for teams you are an admin for."})]})}),eB?(0,s.jsx)(e8,{modelId:eB,editModel:!0,onClose:()=>{eU(null),eH(!1)},modelData:y.data.find(e=>e.model_info.id===eB),accessToken:p,userID:_,userRole:j,setEditModalVisible:D,setSelectedModel:q,onModelUpdate:e=>{e.deleted?Z({...y,data:y.data.filter(l=>l.model_info.id!==e.model_info.id)}):Z({...y,data:y.data.map(l=>l.model_info.id===e.model_info.id?e:l)}),e4.invalidateQueries({queryKey:["models","list"]}),la()},modelAccessGroups:G}):(0,s.jsxs)(X.Z,{index:e1,onIndexChange:e2,className:"gap-2 h-[75vh] w-full ",children:[(0,s.jsxs)(ee.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,s.jsxs)("div",{className:"flex",children:[es.ZL.includes(j)?(0,s.jsx)(Q.Z,{children:"All Models"}):(0,s.jsx)(Q.Z,{children:"Your Models"}),!lt&&(0,s.jsx)(Q.Z,{children:"Add Model"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"LLM Credentials"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Pass-Through Endpoints"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Health Status"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Model Analytics"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Model Retry Settings"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Model Group Alias"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Price Data Reload"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[M&&(0,s.jsxs)(n.Z,{children:["Last Refreshed: ",M]}),(0,s.jsx)($.Z,{icon:Y.Z,variant:"shadow",size:"xs",className:"self-center",onClick:la})]})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsx)(li,{selectedModelGroup:K,setSelectedModelGroup:ea,availableModelGroups:B,availableModelAccessGroups:G,setSelectedModelId:eU,setSelectedTeamId:eW,setEditModel:eH,modelData:y}),!lt&&(0,s.jsx)(el.Z,{className:"h-full",children:(0,s.jsx)(eK,{form:k,handleOk:()=>{k.validateFields().then(e=>{h(e,p,k,la)}).catch(e=>{var l;let t=(null===(l=e.errorFields)||void 0===l?void 0:l.map(e=>"".concat(e.name.join("."),": ").concat(e.errors.join(", "))).join(" | "))||"Unknown validation error";d.Z.fromBackend("Please fill in the following required fields: ".concat(t))})},selectedProvider:R,setSelectedProvider:O,providerModels:F,setProviderModelsFn:e=>{P((0,m.bK)(e,A))},getPlaceholder:m.ph,uploadProps:ls,showAdvancedSettings:ez,setShowAdvancedSettings:eq,teams:S,credentials:le,accessToken:p,userRole:j,premiumUser:w})}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(J,{uploadProps:ls})}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(lK.Z,{accessToken:p,userRole:j,userID:_,modelData:y,premiumUser:w})}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(lD,{accessToken:p,modelData:y,all_models_on_proxy:ln,getDisplayModelName:W,setSelectedModelId:eU})}),(0,s.jsx)(lb,{dateValue:ev,setDateValue:e_,selectedModelGroup:K,availableModelGroups:B,setShowAdvancedFilters:eI,modelMetrics:er,modelMetricsCategories:en,streamingModelMetrics:ed,streamingModelMetricsCategories:em,customTooltip:e=>{var l,t;let{payload:a,active:r}=e;if(!r||!a)return null;let i=null===(t=a[0])||void 0===t?void 0:null===(l=t.payload)||void 0===l?void 0:l.date,n=a.sort((e,l)=>l.value-e.value);if(n.length>5){let e=n.length-5;(n=n.slice(0,5)).push({dataKey:"".concat(e," other deployments"),value:a.slice(5).reduce((e,l)=>e+l.value,0),color:"gray"})}return(0,s.jsxs)("div",{className:"w-150 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[i&&(0,s.jsxs)("p",{className:"text-tremor-content-emphasis mb-2",children:["Date: ",i]}),n.map((e,l)=>{let t=parseFloat(e.value.toFixed(5)),a=0===t&&e.value>0?"<0.00001":t.toFixed(5);return(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 mt-1 rounded-full bg-".concat(e.color,"-500")}),(0,s.jsx)("p",{className:"text-tremor-content",children:e.dataKey})]}),(0,s.jsx)("p",{className:"font-medium text-tremor-content-emphasis text-righ ml-2",children:a})]},l)})]})},slowResponsesData:ef,modelExceptions:eh,globalExceptionData:eS,allExceptions:ep,globalExceptionPerDeployment:eA,allEndUsers:eR,keys:b,setSelectedAPIKey:eP,setSelectedCustomer:eT,teams:S,selectedAPIKey:eF,selectedCustomer:eL,selectedTeam:eY,setAllExceptions:eg,setGlobalExceptionData:ek,setGlobalExceptionPerDeployment:eE,setModelExceptions:ex,setModelMetrics:ei,setModelMetricsCategories:eo,setSelectedModelGroup:ea,setSlowResponsesData:ej,setStreamingModelMetrics:ec,setStreamingModelMetricsCategories:eu}),(0,s.jsx)(lZ,{selectedModelGroup:K,setSelectedModelGroup:ea,availableModelGroups:B,globalRetryPolicy:eN,setGlobalRetryPolicy:eZ,defaultRetry:ew,modelGroupRetryPolicy:ey,setModelGroupRetryPolicy:eb,handleSaveRetrySettings:lr}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(lH,{accessToken:p,initialModelGroupAlias:eV,onAliasUpdate:eD})}),(0,s.jsx)(lF,{setModelMap:E})]})]})]})})})}},27593:function(e,l,t){t.d(l,{Z:function(){return Y}});var s=t(57437),a=t(2265),r=t(78489),i=t(47323),n=t(84264),o=t(96761),d=t(19250),c=t(99981),m=t(33866),u=t(15731),h=t(53410),x=t(74998),p=t(59341),g=t(49566),f=t(12514),j=t(97765),v=t(37592),_=t(10032),y=t(22116),b=t(51653),N=t(24199),Z=t(12660),w=t(15424),C=t(58760),S=t(5545),k=t(45246),A=t(96473),E=t(31283),M=e=>{let{value:l={},onChange:t}=e,[r,i]=(0,a.useState)(Object.entries(l)),n=e=>{let l=r.filter((l,t)=>t!==e);i(l),null==t||t(Object.fromEntries(l))},o=(e,l,s)=>{let a=[...r];a[e]=[l,s],i(a),null==t||t(Object.fromEntries(a))};return(0,s.jsxs)("div",{children:[r.map((e,l)=>{let[t,a]=e;return(0,s.jsxs)(C.Z,{style:{display:"flex",marginBottom:8},align:"center",children:[(0,s.jsx)(E.o,{placeholder:"Header Name",value:t,onChange:e=>o(l,e.target.value,a)}),(0,s.jsx)(E.o,{placeholder:"Header Value",value:a,onChange:e=>o(l,t,e.target.value)}),(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:(0,s.jsx)(k.Z,{onClick:()=>n(l),style:{cursor:"pointer"}})})]},l)}),(0,s.jsx)(S.ZP,{type:"dashed",onClick:()=>{i([...r,["",""]])},icon:(0,s.jsx)(A.Z,{}),children:"Add Header"})]})},I=t(77565),F=e=>{let{pathValue:l,targetValue:t,includeSubpath:a}=e,r=(0,d.getProxyBaseUrl)();return l&&t?(0,s.jsxs)(f.Z,{className:"p-5",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Route Preview"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-5",children:"How your requests will be routed"}),(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-base font-semibold text-gray-900 mb-3",children:"Basic routing:"}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Your endpoint"}),(0,s.jsx)("code",{className:"font-mono text-sm text-gray-900",children:l?"".concat(r).concat(l):""})]}),(0,s.jsx)("div",{className:"text-gray-400",children:(0,s.jsx)(I.Z,{className:"text-lg"})}),(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Forwards to"}),(0,s.jsx)("code",{className:"font-mono text-sm text-gray-900",children:t})]})]})]}),a&&(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-base font-semibold text-gray-900 mb-3",children:"With subpaths:"}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Your endpoint + subpath"}),(0,s.jsxs)("code",{className:"font-mono text-sm text-gray-900",children:[l&&"".concat(r).concat(l),(0,s.jsx)("span",{className:"text-blue-600",children:"/v1/text-to-image/base/model"})]})]}),(0,s.jsx)("div",{className:"text-gray-400",children:(0,s.jsx)(I.Z,{className:"text-lg"})}),(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Forwards to"}),(0,s.jsxs)("code",{className:"font-mono text-sm text-gray-900",children:[t,(0,s.jsx)("span",{className:"text-blue-600",children:"/v1/text-to-image/base/model"})]})]})]}),(0,s.jsxs)("div",{className:"mt-3 text-sm text-gray-600",children:["Any path after ",l," will be appended to the target URL"]})]})}),!a&&(0,s.jsx)("div",{className:"mt-4 p-3 bg-blue-50 rounded-md border border-blue-200",children:(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)(w.Z,{className:"text-blue-500 mt-0.5 mr-2 flex-shrink-0"}),(0,s.jsxs)("div",{className:"text-sm text-blue-700",children:[(0,s.jsx)("span",{className:"font-medium",children:"Not seeing the routing you wanted?"})," Try enabling - Include Subpaths - above - this allows subroutes like"," ",(0,s.jsx)("code",{className:"bg-blue-100 px-1 py-0.5 rounded font-mono text-xs",children:"/api/v1/models"})," to be forwarded automatically."]})]})})]})]}):null},P=t(9114),L=t(63709),T=e=>{let{premiumUser:l,authEnabled:t,onAuthChange:a}=e;return(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Security"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-4",children:"When enabled, requests to this endpoint will require a valid LiteLLM Virtual Key"}),l?(0,s.jsx)(_.Z.Item,{name:"auth",valuePropName:"checked",className:"mb-0",children:(0,s.jsx)(L.Z,{checked:t,onChange:e=>{a(e)}})}):(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center mb-3",children:[(0,s.jsx)(L.Z,{disabled:!0,checked:!1,style:{outline:"2px solid #d1d5db",outlineOffset:"2px"}}),(0,s.jsx)("span",{className:"ml-2 text-sm text-gray-400",children:"Authentication (Premium)"})]}),(0,s.jsx)("div",{className:"p-3 bg-yellow-50 border border-yellow-200 rounded-lg",children:(0,s.jsxs)(n.Z,{className:"text-sm text-yellow-800",children:["Setting authentication for pass-through endpoints is a LiteLLM Enterprise feature. Get a trial key"," ",(0,s.jsx)("a",{href:"https://www.litellm.ai/#pricing",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"here"}),"."]})})]})]})},R=t(67479),O=e=>{let{accessToken:l,value:t={},onChange:r,disabled:i=!1}=e,[n,d]=(0,a.useState)(Object.keys(t)),[m,u]=(0,a.useState)(t);(0,a.useEffect)(()=>{u(t),d(Object.keys(t))},[t]);let h=(e,l,t)=>{var s,a;let i=m[e]||{},n={...m,[e]:{...i,[l]:t.length>0?t:void 0}};(null===(s=n[e])||void 0===s?void 0:s.request_fields)||(null===(a=n[e])||void 0===a?void 0:a.response_fields)||(n[e]=null),u(n),r&&r(n)};return(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Guardrails"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-6",children:"Configure guardrails to enforce policies on requests and responses. Guardrails are opt-in for passthrough endpoints."}),(0,s.jsx)(b.Z,{message:(0,s.jsxs)("span",{children:["Field-Level Targeting"," ",(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/pass_through_guardrails#field-level-targeting",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:text-blue-800 underline",children:"(Learn More)"})]}),description:(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("div",{children:"Optionally specify which fields to check. If left empty, the entire request/response is sent to the guardrail."}),(0,s.jsxs)("div",{className:"text-xs space-y-1 mt-2",children:[(0,s.jsx)("div",{className:"font-medium",children:"Common Examples:"}),(0,s.jsxs)("div",{children:["• ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 rounded",children:"query"})," - Single field"]}),(0,s.jsxs)("div",{children:["• ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 rounded",children:"documents[*].text"})," - All text in documents array"]}),(0,s.jsxs)("div",{children:["• ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 rounded",children:"messages[*].content"})," - All message contents"]})]})]}),type:"info",showIcon:!0,className:"mb-4"}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Select Guardrails",(0,s.jsx)(c.Z,{title:"Choose which guardrails should run on this endpoint. Org/team/key level guardrails will also be included.",children:(0,s.jsx)(w.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),children:(0,s.jsx)(R.Z,{accessToken:l,value:n,onChange:e=>{d(e);let l={};e.forEach(e=>{l[e]=m[e]||null}),u(l),r&&r(l)},disabled:i})}),n.length>0&&(0,s.jsxs)("div",{className:"mt-6 space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Field Targeting (Optional)"}),(0,s.jsx)("div",{className:"text-xs text-gray-500",children:"\uD83D\uDCA1 Tip: Leave empty to check entire payload"})]}),n.map(e=>{var l,t;return(0,s.jsxs)(f.Z,{className:"p-4 bg-gray-50",children:[(0,s.jsx)("div",{className:"text-sm font-medium text-gray-900 mb-3",children:e}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,s.jsxs)("label",{className:"text-xs text-gray-600 flex items-center",children:["Request Fields (pre_call)",(0,s.jsx)(c.Z,{title:(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:"Specify which request fields to check"}),(0,s.jsxs)("div",{className:"text-xs space-y-1",children:[(0,s.jsx)("div",{children:"Examples:"}),(0,s.jsx)("div",{children:"• query"}),(0,s.jsx)("div",{children:"• documents[*].text"}),(0,s.jsx)("div",{children:"• messages[*].content"})]})]}),children:(0,s.jsx)(w.Z,{className:"ml-1 text-gray-400"})})]}),(0,s.jsxs)("div",{className:"flex gap-1",children:[(0,s.jsx)("button",{type:"button",onClick:()=>{var l;let t=(null===(l=m[e])||void 0===l?void 0:l.request_fields)||[];h(e,"request_fields",[...t,"query"])},className:"text-xs px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",disabled:i,children:"+ query"}),(0,s.jsx)("button",{type:"button",onClick:()=>{var l;let t=(null===(l=m[e])||void 0===l?void 0:l.request_fields)||[];h(e,"request_fields",[...t,"documents[*]"])},className:"text-xs px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",disabled:i,children:"+ documents[*]"})]})]}),(0,s.jsx)(v.default,{mode:"tags",style:{width:"100%"},placeholder:"Type field name or use + buttons above (e.g., query, documents[*].text)",value:(null===(l=m[e])||void 0===l?void 0:l.request_fields)||[],onChange:l=>h(e,"request_fields",l),disabled:i,tokenSeparators:[","]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,s.jsxs)("label",{className:"text-xs text-gray-600 flex items-center",children:["Response Fields (post_call)",(0,s.jsx)(c.Z,{title:(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:"Specify which response fields to check"}),(0,s.jsxs)("div",{className:"text-xs space-y-1",children:[(0,s.jsx)("div",{children:"Examples:"}),(0,s.jsx)("div",{children:"• results[*].text"}),(0,s.jsx)("div",{children:"• choices[*].message.content"})]})]}),children:(0,s.jsx)(w.Z,{className:"ml-1 text-gray-400"})})]}),(0,s.jsx)("div",{className:"flex gap-1",children:(0,s.jsx)("button",{type:"button",onClick:()=>{var l;let t=(null===(l=m[e])||void 0===l?void 0:l.response_fields)||[];h(e,"response_fields",[...t,"results[*]"])},className:"text-xs px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",disabled:i,children:"+ results[*]"})})]}),(0,s.jsx)(v.default,{mode:"tags",style:{width:"100%"},placeholder:"Type field name or use + buttons above (e.g., results[*].text)",value:(null===(t=m[e])||void 0===t?void 0:t.response_fields)||[],onChange:l=>h(e,"response_fields",l),disabled:i,tokenSeparators:[","]})]})]})]},e)})]})]})};let{Option:V}=v.default;var D=e=>{let{accessToken:l,setPassThroughItems:t,passThroughItems:i,premiumUser:n=!1}=e,[m]=_.Z.useForm(),[u,h]=(0,a.useState)(!1),[x,v]=(0,a.useState)(!1),[C,S]=(0,a.useState)(""),[k,A]=(0,a.useState)(""),[E,I]=(0,a.useState)(""),[L,R]=(0,a.useState)(!0),[V,D]=(0,a.useState)(!1),[z,q]=(0,a.useState)({}),B=()=>{m.resetFields(),A(""),I(""),R(!0),q({}),h(!1)},U=e=>{let l=e;e&&!e.startsWith("/")&&(l="/"+e),A(l),m.setFieldsValue({path:l})},G=async e=>{console.log("addPassThrough called with:",e),v(!0);try{!n&&"auth"in e&&delete e.auth,z&&Object.keys(z).length>0&&(e.guardrails=z),console.log("formValues: ".concat(JSON.stringify(e)));let s=(await (0,d.createPassThroughEndpoint)(l,e)).endpoints[0],a=[...i,s];t(a),P.Z.success("Pass-through endpoint created successfully"),m.resetFields(),A(""),I(""),R(!0),q({}),h(!1)}catch(e){P.Z.fromBackend("Error creating pass-through endpoint: "+e)}finally{v(!1)}};return(0,s.jsxs)("div",{children:[(0,s.jsx)(r.Z,{className:"mx-auto mb-4 mt-4",onClick:()=>h(!0),children:"+ Add Pass-Through Endpoint"}),(0,s.jsx)(y.Z,{title:(0,s.jsxs)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:[(0,s.jsx)(Z.Z,{className:"text-xl text-blue-500"}),(0,s.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add Pass-Through Endpoint"})]}),open:u,width:1e3,onCancel:B,footer:null,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:(0,s.jsxs)("div",{className:"mt-6",children:[(0,s.jsx)(b.Z,{message:"What is a Pass-Through Endpoint?",description:"Route requests from your LiteLLM proxy to any external API. Perfect for custom models, image generation APIs, or any service you want to proxy through LiteLLM.",type:"info",showIcon:!0,className:"mb-6"}),(0,s.jsxs)(_.Z,{form:m,onFinish:G,layout:"vertical",className:"space-y-6",initialValues:{include_subpath:!0,path:k,target:E},children:[(0,s.jsxs)(f.Z,{className:"p-5",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Route Configuration"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-5",children:"Configure how requests to your domain will be forwarded to the target API"}),(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)(_.Z.Item,{label:(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Path Prefix"}),name:"path",rules:[{required:!0,message:"Path is required",pattern:/^\//}],extra:(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-1",children:"Example: /bria, /adobe-photoshop, /elasticsearch"}),className:"mb-4",children:(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsx)(g.Z,{placeholder:"bria",value:k,onChange:e=>U(e.target.value),className:"flex-1"})})}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Target URL"}),name:"target",rules:[{required:!0,message:"Target URL is required"},{type:"url",message:"Please enter a valid URL"}],extra:(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-1",children:"Example:https://engine.prod.bria-api.com"}),className:"mb-4",children:(0,s.jsx)(g.Z,{placeholder:"https://engine.prod.bria-api.com",value:E,onChange:e=>{I(e.target.value),m.setFieldsValue({target:e.target.value})}})}),(0,s.jsxs)("div",{className:"flex items-center justify-between py-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Include Subpaths"}),(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-0.5",children:"Forward all subpaths to the target API (recommended for REST APIs)"})]}),(0,s.jsx)(_.Z.Item,{name:"include_subpath",valuePropName:"checked",className:"mb-0",children:(0,s.jsx)(p.Z,{checked:L,onChange:R})})]})]})]}),(0,s.jsx)(F,{pathValue:k,targetValue:E,includeSubpath:L}),(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Headers"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-6",children:"Add headers that will be sent with every request to the target API"}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Authentication Headers",(0,s.jsx)(c.Z,{title:"Authentication and other headers to forward with requests",children:(0,s.jsx)(w.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"headers",rules:[{required:!0,message:"Please configure the headers"}],extra:(0,s.jsxs)("div",{className:"text-xs text-gray-500 mt-2",children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:"Add authentication tokens and other required headers"}),(0,s.jsx)("div",{children:"Common examples: auth_token, Authorization, x-api-key"})]}),children:(0,s.jsx)(M,{})})]}),(0,s.jsx)(T,{premiumUser:n,authEnabled:V,onAuthChange:e=>{D(e),m.setFieldsValue({auth:e})}}),(0,s.jsx)(O,{accessToken:l,value:z,onChange:q}),(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Billing"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-6",children:"Optional cost tracking for this endpoint"}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Cost Per Request (USD)",(0,s.jsx)(c.Z,{title:"Optional: Track costs for requests to this endpoint",children:(0,s.jsx)(w.Z,{className:"ml-2 text-gray-400 hover:text-gray-600"})})]}),name:"cost_per_request",extra:(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-2",children:"The cost charged for each request through this endpoint"}),children:(0,s.jsx)(N.Z,{min:0,step:.001,precision:4,placeholder:"2.0000",size:"large"})})]}),(0,s.jsxs)("div",{className:"flex items-center justify-end space-x-3 pt-6 border-t border-gray-100",children:[(0,s.jsx)(r.Z,{variant:"secondary",onClick:B,children:"Cancel"}),(0,s.jsx)(r.Z,{variant:"primary",loading:x,onClick:()=>{console.log("Submit button clicked"),m.submit()},children:x?"Creating...":"Add Pass-Through Endpoint"})]})]})]})})]})},z=t(30078),q=t(4260),B=t(19015),U=t(87769),G=t(42208);let H=e=>{let{value:l}=e,[t,r]=(0,a.useState)(!1),i=JSON.stringify(l,null,2);return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("pre",{className:"font-mono text-xs bg-gray-50 p-2 rounded max-w-md overflow-auto",children:t?i:"••••••••"}),(0,s.jsx)("button",{onClick:()=>r(!t),className:"p-1 hover:bg-gray-100 rounded",type:"button",children:t?(0,s.jsx)(U.Z,{className:"w-4 h-4 text-gray-500"}):(0,s.jsx)(G.Z,{className:"w-4 h-4 text-gray-500"})})]})};var K=e=>{let{endpointData:l,onClose:t,accessToken:r,isAdmin:i,premiumUser:n=!1,onEndpointUpdated:o}=e,[c,m]=(0,a.useState)(l),[u,h]=(0,a.useState)(!1),[x,p]=(0,a.useState)(!1),[g,f]=(0,a.useState)((null==l?void 0:l.auth)||!1),[j,v]=(0,a.useState)((null==l?void 0:l.guardrails)||{}),[y]=_.Z.useForm(),b=async e=>{try{if(!r||!(null==c?void 0:c.id))return;let l={};if(e.headers)try{l="string"==typeof e.headers?JSON.parse(e.headers):e.headers}catch(e){P.Z.fromBackend("Invalid JSON format for headers");return}let t={path:c.path,target:e.target,headers:l,include_subpath:e.include_subpath,cost_per_request:e.cost_per_request,auth:n?e.auth:void 0,guardrails:j&&Object.keys(j).length>0?j:void 0};await (0,d.updatePassThroughEndpoint)(r,c.id,t),m({...c,...t}),p(!1),o&&o()}catch(e){console.error("Error updating endpoint:",e),P.Z.fromBackend("Failed to update pass through endpoint")}},N=async()=>{try{if(!r||!(null==c?void 0:c.id))return;await (0,d.deletePassThroughEndpointsCall)(r,c.id),P.Z.success("Pass through endpoint deleted successfully"),t(),o&&o()}catch(e){console.error("Error deleting endpoint:",e),P.Z.fromBackend("Failed to delete pass through endpoint")}};return u?(0,s.jsx)("div",{className:"p-4",children:"Loading..."}):c?(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)("div",{className:"flex justify-between items-center mb-6",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(S.ZP,{onClick:t,className:"mb-4",children:"← Back"}),(0,s.jsxs)(z.Dx,{children:["Pass Through Endpoint: ",c.path]}),(0,s.jsx)(z.xv,{className:"text-gray-500 font-mono",children:c.id})]})}),(0,s.jsxs)(z.v0,{children:[(0,s.jsxs)(z.td,{className:"mb-4",children:[(0,s.jsx)(z.OK,{children:"Overview"},"overview"),i?(0,s.jsx)(z.OK,{children:"Settings"},"settings"):(0,s.jsx)(s.Fragment,{})]}),(0,s.jsxs)(z.nP,{children:[(0,s.jsxs)(z.x4,{children:[(0,s.jsxs)(z.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,s.jsxs)(z.Zb,{children:[(0,s.jsx)(z.xv,{children:"Path"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(z.Dx,{className:"font-mono",children:c.path})})]}),(0,s.jsxs)(z.Zb,{children:[(0,s.jsx)(z.xv,{children:"Target"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(z.Dx,{children:c.target})})]}),(0,s.jsxs)(z.Zb,{children:[(0,s.jsx)(z.xv,{children:"Configuration"}),(0,s.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,s.jsx)("div",{children:(0,s.jsx)(z.Ct,{color:c.include_subpath?"green":"gray",children:c.include_subpath?"Include Subpath":"Exact Path"})}),(0,s.jsx)("div",{children:(0,s.jsx)(z.Ct,{color:c.auth?"blue":"gray",children:c.auth?"Auth Required":"No Auth"})}),void 0!==c.cost_per_request&&(0,s.jsx)("div",{children:(0,s.jsxs)(z.xv,{children:["Cost per request: $",c.cost_per_request]})})]})]})]}),(0,s.jsx)("div",{className:"mt-6",children:(0,s.jsx)(F,{pathValue:c.path,targetValue:c.target,includeSubpath:c.include_subpath||!1})}),c.headers&&Object.keys(c.headers).length>0&&(0,s.jsxs)(z.Zb,{className:"mt-6",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Headers"}),(0,s.jsxs)(z.Ct,{color:"blue",children:[Object.keys(c.headers).length," headers configured"]})]}),(0,s.jsx)("div",{className:"mt-4",children:(0,s.jsx)(H,{value:c.headers})})]}),c.guardrails&&Object.keys(c.guardrails).length>0&&(0,s.jsxs)(z.Zb,{className:"mt-6",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Guardrails"}),(0,s.jsxs)(z.Ct,{color:"purple",children:[Object.keys(c.guardrails).length," guardrails configured"]})]}),(0,s.jsx)("div",{className:"mt-4 space-y-2",children:Object.entries(c.guardrails).map(e=>{let[l,t]=e;return(0,s.jsxs)("div",{className:"p-3 bg-gray-50 rounded",children:[(0,s.jsx)("div",{className:"font-medium text-sm",children:l}),t&&(t.request_fields||t.response_fields)&&(0,s.jsxs)("div",{className:"mt-2 text-xs text-gray-600 space-y-1",children:[t.request_fields&&(0,s.jsxs)("div",{children:["Request fields: ",t.request_fields.join(", ")]}),t.response_fields&&(0,s.jsxs)("div",{children:["Response fields: ",t.response_fields.join(", ")]})]}),!t&&(0,s.jsx)("div",{className:"text-xs text-gray-600 mt-1",children:"Uses entire payload"})]},l)})})]})]}),i&&(0,s.jsx)(z.x4,{children:(0,s.jsxs)(z.Zb,{children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(z.Dx,{children:"Pass Through Endpoint Settings"}),(0,s.jsx)("div",{className:"space-x-2",children:!x&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z.zx,{onClick:()=>p(!0),children:"Edit Settings"}),(0,s.jsx)(z.zx,{onClick:N,variant:"secondary",color:"red",children:"Delete Endpoint"})]})})]}),x?(0,s.jsxs)(_.Z,{form:y,onFinish:b,initialValues:{target:c.target,headers:c.headers?JSON.stringify(c.headers,null,2):"",include_subpath:c.include_subpath||!1,cost_per_request:c.cost_per_request,auth:c.auth||!1},layout:"vertical",children:[(0,s.jsx)(_.Z.Item,{label:"Target URL",name:"target",rules:[{required:!0,message:"Please input a target URL"}],children:(0,s.jsx)(z.oi,{placeholder:"https://api.example.com"})}),(0,s.jsx)(_.Z.Item,{label:"Headers (JSON)",name:"headers",children:(0,s.jsx)(q.default.TextArea,{rows:5,placeholder:'{"Authorization": "Bearer your-token", "Content-Type": "application/json"}'})}),(0,s.jsx)(_.Z.Item,{label:"Include Subpath",name:"include_subpath",valuePropName:"checked",children:(0,s.jsx)(L.Z,{})}),(0,s.jsx)(_.Z.Item,{label:"Cost per Request",name:"cost_per_request",children:(0,s.jsx)(B.Z,{min:0,step:.01,precision:2,placeholder:"0.00",addonBefore:"$"})}),(0,s.jsx)(T,{premiumUser:n,authEnabled:g,onAuthChange:e=>{f(e),y.setFieldsValue({auth:e})}}),(0,s.jsx)("div",{className:"mt-4",children:(0,s.jsx)(O,{accessToken:r||"",value:j,onChange:v})}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 mt-6",children:[(0,s.jsx)(S.ZP,{onClick:()=>p(!1),children:"Cancel"}),(0,s.jsx)(z.zx,{children:"Save Changes"})]})]}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Path"}),(0,s.jsx)("div",{className:"font-mono",children:c.path})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Target URL"}),(0,s.jsx)("div",{children:c.target})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Include Subpath"}),(0,s.jsx)(z.Ct,{color:c.include_subpath?"green":"gray",children:c.include_subpath?"Yes":"No"})]}),void 0!==c.cost_per_request&&(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Cost per Request"}),(0,s.jsxs)("div",{children:["$",c.cost_per_request]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Authentication Required"}),(0,s.jsx)(z.Ct,{color:c.auth?"green":"gray",children:c.auth?"Yes":"No"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Headers"}),c.headers&&Object.keys(c.headers).length>0?(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(H,{value:c.headers})}):(0,s.jsx)("div",{className:"text-gray-500",children:"No headers configured"})]})]})]})})]})]})]}):(0,s.jsx)("div",{className:"p-4",children:"Pass through endpoint not found"})},J=t(12322);let W=e=>{let{value:l}=e,[t,r]=(0,a.useState)(!1),i=JSON.stringify(l);return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("span",{className:"font-mono text-xs",children:t?i:"••••••••"}),(0,s.jsx)("button",{onClick:()=>r(!t),className:"p-1 hover:bg-gray-100 rounded",type:"button",children:t?(0,s.jsx)(U.Z,{className:"w-4 h-4 text-gray-500"}):(0,s.jsx)(G.Z,{className:"w-4 h-4 text-gray-500"})})]})};var Y=e=>{let{accessToken:l,userRole:t,userID:p,modelData:g,premiumUser:f}=e,[j,v]=(0,a.useState)([]),[_,y]=(0,a.useState)(null),[b,N]=(0,a.useState)(!1),[Z,w]=(0,a.useState)(null);(0,a.useEffect)(()=>{l&&t&&p&&(0,d.getPassThroughEndpointsCall)(l).then(e=>{v(e.endpoints)})},[l,t,p]);let C=async e=>{w(e),N(!0)},S=async()=>{if(null!=Z&&l){try{await (0,d.deletePassThroughEndpointsCall)(l,Z);let e=j.filter(e=>e.id!==Z);v(e),P.Z.success("Endpoint deleted successfully.")}catch(e){console.error("Error deleting the endpoint:",e),P.Z.fromBackend("Error deleting the endpoint: "+e)}N(!1),w(null)}},k=(e,l)=>{C(e)},A=[{header:"ID",accessorKey:"id",cell:e=>(0,s.jsx)(c.Z,{title:e.row.original.id,children:(0,s.jsx)("div",{className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",onClick:()=>e.row.original.id&&y(e.row.original.id),children:e.row.original.id})})},{header:"Path",accessorKey:"path"},{header:"Target",accessorKey:"target",cell:e=>(0,s.jsx)(n.Z,{children:e.getValue()})},{header:()=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{children:"Authentication"}),(0,s.jsx)(c.Z,{title:"LiteLLM Virtual Key required to call endpoint",children:(0,s.jsx)(u.Z,{className:"w-4 h-4 text-gray-400 cursor-help"})})]}),accessorKey:"auth",cell:e=>(0,s.jsx)(m.Z,{color:e.getValue()?"green":"gray",children:e.getValue()?"Yes":"No"})},{header:"Headers",accessorKey:"headers",cell:e=>(0,s.jsx)(W,{value:e.getValue()||{}})},{header:"Actions",id:"actions",cell:e=>{let{row:l}=e;return(0,s.jsxs)("div",{className:"flex space-x-1",children:[(0,s.jsx)(i.Z,{icon:h.Z,size:"sm",onClick:()=>l.original.id&&y(l.original.id),title:"Edit"}),(0,s.jsx)(i.Z,{icon:x.Z,size:"sm",onClick:()=>k(l.original.id,l.index),title:"Delete"})]})}}];if(!l)return null;if(_){console.log("selectedEndpointId",_),console.log("generalSettings",j);let e=j.find(e=>e.id===_);return e?(0,s.jsx)(K,{endpointData:e,onClose:()=>y(null),accessToken:l,isAdmin:"Admin"===t||"admin"===t,premiumUser:f,onEndpointUpdated:()=>{l&&(0,d.getPassThroughEndpointsCall)(l).then(e=>{v(e.endpoints)})}}):(0,s.jsx)("div",{children:"Endpoint not found"})}return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(o.Z,{children:"Pass Through Endpoints"}),(0,s.jsx)(n.Z,{className:"text-tremor-content",children:"Configure and manage your pass-through endpoints"})]}),(0,s.jsx)(D,{accessToken:l,setPassThroughItems:v,passThroughItems:j,premiumUser:f}),(0,s.jsx)(J.w,{data:j,columns:A,renderSubComponent:()=>(0,s.jsx)("div",{}),getRowCanExpand:()=>!1,isLoading:!1,noDataMessage:"No pass-through endpoints configured"}),b&&(0,s.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,s.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,s.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,s.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,s.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,s.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,s.jsx)("div",{className:"sm:flex sm:items-start",children:(0,s.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,s.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Pass-Through Endpoint"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this pass-through endpoint? This action cannot be undone."})})]})})}),(0,s.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,s.jsx)(r.Z,{onClick:S,color:"red",className:"ml-2",children:"Delete"}),(0,s.jsx)(r.Z,{onClick:()=>{N(!1),w(null)},children:"Cancel"})]})]})]})})]})}},39789:function(e,l,t){t.d(l,{Z:function(){return n}});var s=t(57437),a=t(2265),r=t(88237),i=t(84264),n=e=>{let{value:l,onValueChange:t,label:n="Select Time Range",className:o="",showTimeRange:d=!0}=e,[c,m]=(0,a.useState)(!1),u=(0,a.useRef)(null),h=(0,a.useCallback)(e=>{m(!0),setTimeout(()=>m(!1),1500),t(e),requestIdleCallback(()=>{if(e.from){let l;let s={...e},a=new Date(e.from);l=new Date(e.to?e.to:e.from),a.toDateString(),l.toDateString(),a.setHours(0,0,0,0),l.setHours(23,59,59,999),s.from=a,s.to=l,t(s)}},{timeout:100})},[t]),x=(0,a.useCallback)((e,l)=>{if(!e||!l)return"";let t=e=>e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});if(e.toDateString()!==l.toDateString())return"".concat(t(e)," - ").concat(t(l));{let t=e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),s=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),a=l.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});return"".concat(t,": ").concat(s," - ").concat(a)}},[]);return(0,s.jsxs)("div",{className:o,children:[n&&(0,s.jsx)(i.Z,{className:"mb-2",children:n}),(0,s.jsxs)("div",{className:"relative w-fit",children:[(0,s.jsx)("div",{ref:u,children:(0,s.jsx)(r.Z,{enableSelect:!0,value:l,onValueChange:h,placeholder:"Select date range",enableClear:!1,style:{zIndex:100}})}),c&&(0,s.jsx)("div",{className:"absolute top-1/2 animate-pulse",style:{left:"calc(100% + 8px)",transform:"translateY(-50%)",zIndex:110},children:(0,s.jsxs)("div",{className:"flex items-center gap-1 text-green-600 text-sm font-medium bg-white px-2 py-1 rounded-full border border-green-200 shadow-sm whitespace-nowrap",children:[(0,s.jsx)("div",{className:"w-3 h-3 bg-green-500 text-white rounded-full flex items-center justify-center text-xs",children:"✓"}),(0,s.jsx)("span",{className:"text-xs",children:"Selected"})]})})]}),d&&l.from&&l.to&&(0,s.jsx)(i.Z,{className:"mt-2 text-xs text-gray-500",children:x(l.from,l.to)})]})}},12322:function(e,l,t){t.d(l,{w:function(){return o}});var s=t(57437),a=t(2265),r=t(71594),i=t(24525),n=t(19130);function o(e){let{data:l=[],columns:t,getRowCanExpand:o,renderSubComponent:d,isLoading:c=!1,loadingMessage:m="\uD83D\uDE85 Loading logs...",noDataMessage:u="No logs found"}=e,h=(0,r.b7)({data:l,columns:t,getRowCanExpand:o,getRowId:(e,l)=>{var t;return null!==(t=null==e?void 0:e.request_id)&&void 0!==t?t:String(l)},getCoreRowModel:(0,i.sC)(),getExpandedRowModel:(0,i.rV)()});return(0,s.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,s.jsxs)(n.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,s.jsx)(n.ss,{children:h.getHeaderGroups().map(e=>(0,s.jsx)(n.SC,{children:e.headers.map(e=>(0,s.jsx)(n.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,r.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,s.jsx)(n.RM,{children:c?(0,s.jsx)(n.SC,{children:(0,s.jsx)(n.pj,{colSpan:t.length,className:"h-8 text-center",children:(0,s.jsx)("div",{className:"text-center text-gray-500",children:(0,s.jsx)("p",{children:m})})})}):h.getRowModel().rows.length>0?h.getRowModel().rows.map(e=>(0,s.jsxs)(a.Fragment,{children:[(0,s.jsx)(n.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,s.jsx)(n.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,r.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,s.jsx)(n.SC,{children:(0,s.jsx)(n.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,s.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:d({row:e})})})})]},e.id)):(0,s.jsx)(n.SC,{children:(0,s.jsx)(n.pj,{colSpan:t.length,className:"h-8 text-center",children:(0,s.jsx)("div",{className:"text-center text-gray-500",children:(0,s.jsx)("p",{children:u})})})})})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1200-cf5c22d7c680d667.js b/litellm/proxy/_experimental/out/_next/static/chunks/1200-cf5c22d7c680d667.js new file mode 100644 index 0000000000..c135c51b61 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/1200-cf5c22d7c680d667.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1200],{90246:function(e,l,t){t.d(l,{n:function(){return s}});function s(e){let l=[e];return{all:l,lists:()=>[...l,"list"],list:e=>[...l,"list",{params:e}],details:()=>[...l,"detail"],detail:e=>[...l,"detail",e]}}},55584:function(e,l,t){t.d(l,{L:function(){return i}});var s=t(19250),a=t(11713);let r=(0,t(90246).n)("uiSettings"),i=e=>(0,a.a)({queryKey:r.list({}),queryFn:async()=>await (0,s.getUiSettings)(e),enabled:!!e,staleTime:36e5,gcTime:36e5})},31200:function(e,l,t){t.d(l,{Z:function(){return lJ}});var s=t(57437),a=t(29827),r=t(49804),i=t(67101),n=t(84264),o=t(2265),d=t(9114),c=t(19250),m=t(42673);let u=async(e,l,t)=>{try{var s,a;console.log("handling submit for formValues:",e);let l=e.model_mappings||[];if("model_mappings"in e&&delete e.model_mappings,e.model&&e.model.includes("all-wildcard")){let t=e.custom_llm_provider,a=(null!==(s=m.fK[t])&&void 0!==s?s:t.toLowerCase())+"/*";e.model_name=a,l.push({public_name:a,litellm_model:a}),e.model=a}let t=[];for(let s of l){let l={},r={},i=s.public_name;for(let[t,i]of(l.model=s.litellm_model,e.input_cost_per_token&&(e.input_cost_per_token=Number(e.input_cost_per_token)/1e6),e.output_cost_per_token&&(e.output_cost_per_token=Number(e.output_cost_per_token)/1e6),l.model=s.litellm_model,console.log("formValues add deployment:",e),Object.entries(e)))if(""!==i&&"custom_pricing"!==t&&"pricing_model"!==t&&"cache_control"!==t){if("model_name"==t)l.model=i;else if("custom_llm_provider"==t){console.log("custom_llm_provider:",i);let e=null!==(a=m.fK[i])&&void 0!==a?a:i.toLowerCase();l.custom_llm_provider=e,console.log("custom_llm_provider mappingResult:",e)}else if("model"==t)continue;else if("base_model"===t)r[t]=i;else if("team_id"===t)r.team_id=i;else if("model_access_group"===t)r.access_groups=i;else if("mode"==t)console.log("placing mode in modelInfo"),r.mode=i,delete l.mode;else if("custom_model_name"===t)l.model=i;else if("litellm_extra_params"==t){console.log("litellm_extra_params:",i);let e={};if(i&&void 0!=i){try{e=JSON.parse(i)}catch(e){throw d.Z.fromBackend("Failed to parse LiteLLM Extra Params: "+e),Error("Failed to parse litellm_extra_params: "+e)}for(let[t,s]of Object.entries(e))l[t]=s}}else if("model_info_params"==t){console.log("model_info_params:",i);let e={};if(i&&void 0!=i){try{e=JSON.parse(i)}catch(e){throw d.Z.fromBackend("Failed to parse LiteLLM Extra Params: "+e),Error("Failed to parse litellm_extra_params: "+e)}for(let[l,t]of Object.entries(e))r[l]=t}}else if("input_cost_per_token"===t||"output_cost_per_token"===t||"input_cost_per_second"===t){i&&(l[t]=Number(i));continue}else l[t]=i}t.push({litellmParamsObj:l,modelInfoObj:r,modelName:i})}return t}catch(e){d.Z.fromBackend("Failed to create model: "+e)}},h=async(e,l,t,s)=>{try{let a=await u(e,l,t);if(!a||0===a.length)return;for(let e of a){let{litellmParamsObj:t,modelInfoObj:s,modelName:a}=e,r={model_name:a,litellm_params:t,model_info:s},i=await (0,c.modelCreateCall)(l,r);console.log("response for model create call: ".concat(i.data))}s&&s(),t.resetFields()}catch(e){d.Z.fromBackend("Failed to add model: "+e)}};var x=t(11713),p=t(90246);let g=(0,p.n)("credentials"),f=e=>(0,x.a)({queryKey:g.list({}),queryFn:async()=>await (0,c.credentialListCall)(e),enabled:!!e}),j=(0,p.n)("models");(0,p.n)("modelHub");let v=(e,l,t)=>(0,x.a)({queryKey:j.list({filters:{...l&&{userID:l},...t&&{userRole:t}}}),queryFn:async()=>await (0,c.modelInfoCall)(e,l,t),enabled:!!(e&&l&&t)});var _=t(53410),y=t(74998),b=t(62490),N=t(10032),Z=t(21609),w=t(31283),C=t(57840),S=t(22116),k=t(37592),A=t(99981),E=t(5545);let M=(0,p.n)("providerFields"),I=()=>(0,x.a)({queryKey:M.list({}),queryFn:async()=>await (0,c.getProviderCreateMetadata)(),staleTime:864e5,gcTime:864e5});var F=t(3632),P=t(56522),L=t(47451),T=t(69410),R=t(65319),O=t(4260);let{Link:V}=C.default,D=e=>{var l,t,s,a,r;let i="password"===e.field_type?"password":"select"===e.field_type?"select":"upload"===e.field_type?"upload":"textarea"===e.field_type?"textarea":"text";return{key:e.key,label:e.label,placeholder:null!==(l=e.placeholder)&&void 0!==l?l:void 0,tooltip:null!==(t=e.tooltip)&&void 0!==t?t:void 0,required:null!==(s=e.required)&&void 0!==s&&s,type:i,options:null!==(a=e.options)&&void 0!==a?a:void 0,defaultValue:null!==(r=e.default_value)&&void 0!==r?r:void 0}},z={};var q=e=>{let{selectedProvider:l,uploadProps:t}=e,a=m.Cl[l],r=N.Z.useFormInstance(),{data:i,isLoading:n,error:d}=I(),c=o.useMemo(()=>{if(!i)return null;let e={};return i.forEach(l=>{let t=l.provider_display_name,s=l.credential_fields.map(D);e[t]=s,l.provider&&(e[l.provider]=s),l.litellm_provider&&(e[l.litellm_provider]=s)}),e},[i]);o.useEffect(()=>{c&&Object.assign(z,c)},[c]);let u=o.useMemo(()=>{var e;let t=null!==(e=z[a])&&void 0!==e?e:z[l];if(t)return t;if(!i)return[];let s=i.find(e=>e.provider_display_name===a||e.provider===l||e.litellm_provider===l);if(!s)return[];let r=s.credential_fields.map(D);return z[s.provider_display_name]=r,s.provider&&(z[s.provider]=r),s.litellm_provider&&(z[s.litellm_provider]=r),r},[a,l,i]),h={name:"file",accept:".json",beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;console.log("Setting field value from JSON, length: ".concat(l.length)),r.setFieldsValue({vertex_credentials:l}),console.log("Form values after setting:",r.getFieldsValue())}},l.readAsText(e)}return!1},onChange(e){console.log("Upload onChange triggered in ProviderSpecificFields"),console.log("Current form values:",r.getFieldsValue()),"uploading"!==e.file.status&&console.log(e.file,e.fileList)}};return(0,s.jsxs)(s.Fragment,{children:[n&&0===u.length&&(0,s.jsx)(L.Z,{children:(0,s.jsx)(T.Z,{span:24,children:(0,s.jsx)(P.x,{className:"mb-2",children:"Loading provider fields..."})})}),d&&0===u.length&&(0,s.jsx)(L.Z,{children:(0,s.jsx)(T.Z,{span:24,children:(0,s.jsx)(P.x,{className:"mb-2 text-red-500",children:d instanceof Error?d.message:"Failed to load provider credential fields"})})}),u.map(e=>{var l;return(0,s.jsxs)(o.Fragment,{children:[(0,s.jsx)(N.Z.Item,{label:e.label,name:e.key,rules:e.required?[{required:!0,message:"Required"}]:void 0,tooltip:e.tooltip,className:"vertex_credentials"===e.key?"mb-0":void 0,children:"select"===e.type?(0,s.jsx)(k.default,{placeholder:e.placeholder,defaultValue:e.defaultValue,children:null===(l=e.options)||void 0===l?void 0:l.map(e=>(0,s.jsx)(k.default.Option,{value:e,children:e},e))}):"upload"===e.type?(0,s.jsx)(R.default,{...h,onChange:l=>{(null==t?void 0:t.onChange)&&t.onChange(l),setTimeout(()=>{let l=r.getFieldValue(e.key);console.log("".concat(e.key," value after upload:"),JSON.stringify(l))},500)},children:(0,s.jsx)(E.ZP,{icon:(0,s.jsx)(F.Z,{}),children:"Click to Upload"})}):"textarea"===e.type?(0,s.jsx)(O.default.TextArea,{placeholder:e.placeholder,defaultValue:e.defaultValue,rows:6,style:{fontFamily:"monospace",fontSize:"12px"}}):(0,s.jsx)(P.o,{placeholder:e.placeholder,type:"password"===e.type?"password":"text",defaultValue:e.defaultValue})}),"vertex_credentials"===e.key&&(0,s.jsx)(L.Z,{children:(0,s.jsx)(T.Z,{children:(0,s.jsx)(P.x,{className:"mb-3 mt-1",children:"Give a gcp service account(.json file)"})})}),"base_model"===e.key&&(0,s.jsxs)(L.Z,{children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:10,children:(0,s.jsxs)(P.x,{className:"mb-2",children:["The actual model your azure deployment uses. Used for accurate cost tracking. Select name from"," ",(0,s.jsx)(V,{href:"https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json",target:"_blank",children:"here"})]})})]})]},e.key)})]})};let{Link:B}=C.default;var U=e=>{let{open:l,onCancel:t,onAddCredential:a,uploadProps:r}=e,[i]=N.Z.useForm(),[n,d]=(0,o.useState)(m.Cl.OpenAI);return(0,s.jsx)(S.Z,{title:"Add New Credential",open:l,onCancel:()=>{t(),i.resetFields()},footer:null,width:600,children:(0,s.jsxs)(N.Z,{form:i,onFinish:e=>{a(Object.entries(e).reduce((e,l)=>{let[t,s]=l;return""!==s&&null!=s&&(e[t]=s),e},{})),i.resetFields()},layout:"vertical",children:[(0,s.jsx)(N.Z.Item,{label:"Credential Name:",name:"credential_name",rules:[{required:!0,message:"Credential name is required"}],children:(0,s.jsx)(w.o,{placeholder:"Enter a friendly name for these credentials"})}),(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"Helper to auto-populate provider specific fields",children:(0,s.jsx)(k.default,{showSearch:!0,onChange:e=>{d(e),i.setFieldValue("custom_llm_provider",e)},children:Object.entries(m.Cl).map(e=>{let[l,t]=e;return(0,s.jsx)(k.default.Option,{value:l,children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("img",{src:m.cd[t],alt:"".concat(l," logo"),className:"w-5 h-5",onError:e=>{let l=e.target,s=l.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,l)}}}),(0,s.jsx)("span",{children:t})]})},l)})})}),(0,s.jsx)(q,{selectedProvider:n,uploadProps:r}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(B,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)(E.ZP,{onClick:()=>{t(),i.resetFields()},style:{marginRight:10},children:"Cancel"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Add Credential"})]})]})]})})};let{Link:G}=C.default;function H(e){let{open:l,onCancel:t,onUpdateCredential:a,uploadProps:r,existingCredential:i}=e,[n]=N.Z.useForm(),[d,c]=(0,o.useState)(m.Cl.Anthropic);return(0,o.useEffect)(()=>{if(i){let e=Object.entries(i.credential_values||{}).reduce((e,l)=>{let[t,s]=l;return e[t]=null!=s?s:null,e},{});n.setFieldsValue({credential_name:i.credential_name,custom_llm_provider:i.credential_info.custom_llm_provider,...e}),c(i.credential_info.custom_llm_provider)}},[i]),(0,s.jsx)(S.Z,{title:"Edit Credential",open:l,onCancel:()=>{t(),n.resetFields()},footer:null,width:600,destroyOnHidden:!0,children:(0,s.jsxs)(N.Z,{form:n,onFinish:e=>{a(Object.entries(e).reduce((e,l)=>{let[t,s]=l;return""!==s&&null!=s&&(e[t]=s),e},{})),n.resetFields()},layout:"vertical",children:[(0,s.jsx)(N.Z.Item,{label:"Credential Name:",name:"credential_name",rules:[{required:!0,message:"Credential name is required"}],initialValue:null==i?void 0:i.credential_name,children:(0,s.jsx)(w.o,{placeholder:"Enter a friendly name for these credentials",disabled:null!=i&&!!i.credential_name})}),(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"Helper to auto-populate provider specific fields",children:(0,s.jsx)(k.default,{showSearch:!0,onChange:e=>{c(e),n.setFieldValue("custom_llm_provider",e)},children:Object.entries(m.Cl).map(e=>{let[l,t]=e;return(0,s.jsx)(k.default.Option,{value:l,children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("img",{src:m.cd[t],alt:"".concat(l," logo"),className:"w-5 h-5",onError:e=>{let l=e.target,s=l.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,l)}}}),(0,s.jsx)("span",{children:t})]})},l)})})}),(0,s.jsx)(q,{selectedProvider:d,uploadProps:r}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(G,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)(E.ZP,{onClick:()=>{t(),n.resetFields()},style:{marginRight:10},children:"Cancel"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Update Credential"})]})]})]})})}var K=t(39760),J=e=>{var l;let{uploadProps:t}=e,{accessToken:a}=(0,K.Z)(),{data:r,refetch:i}=f(a),n=(null==r?void 0:r.credentials)||[],[m,u]=(0,o.useState)(!1),[h,x]=(0,o.useState)(!1),[p,g]=(0,o.useState)(null),[j,v]=(0,o.useState)(null),[w,C]=(0,o.useState)(!1),[S,k]=(0,o.useState)(!1),[A]=N.Z.useForm(),E=["credential_name","custom_llm_provider"],M=async e=>{if(!a)return;let l=Object.entries(e).filter(e=>{let[l]=e;return!E.includes(l)}).reduce((e,l)=>{let[t,s]=l;return{...e,[t]:s}},{}),t={credential_name:e.credential_name,credential_values:l,credential_info:{custom_llm_provider:e.custom_llm_provider}};await (0,c.credentialUpdateCall)(a,e.credential_name,t),d.Z.success("Credential updated successfully"),x(!1),await i()},I=async e=>{if(!a)return;let l=Object.entries(e).filter(e=>{let[l]=e;return!E.includes(l)}).reduce((e,l)=>{let[t,s]=l;return{...e,[t]:s}},{}),t={credential_name:e.credential_name,credential_values:l,credential_info:{custom_llm_provider:e.custom_llm_provider}};await (0,c.credentialCreateCall)(a,t),d.Z.success("Credential added successfully"),u(!1),await i()},F=e=>{let l={openai:"blue",azure:"indigo",anthropic:"purple",default:"gray"},t=l[e.toLowerCase()]||l.default;return(0,s.jsx)(b.Ct,{color:t,size:"xs",children:e})},P=async()=>{if(a&&j){k(!0);try{await (0,c.credentialDeleteCall)(a,j.credential_name),d.Z.success("Credential deleted successfully"),await i()}catch(e){d.Z.error("Failed to delete credential")}finally{v(null),C(!1),k(!1)}}},L=e=>{v(e),C(!0)};return(0,s.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto p-2",children:[(0,s.jsx)(b.zx,{onClick:()=>u(!0),children:"Add Credential"}),(0,s.jsx)("div",{className:"flex justify-between items-center mt-4 mb-4",children:(0,s.jsx)(b.xv,{children:"Configured credentials for different AI providers. Add and manage your API credentials."})}),(0,s.jsx)(b.Zb,{children:(0,s.jsxs)(b.iA,{children:[(0,s.jsx)(b.ss,{children:(0,s.jsxs)(b.SC,{children:[(0,s.jsx)(b.xs,{children:"Credential Name"}),(0,s.jsx)(b.xs,{children:"Provider"}),(0,s.jsx)(b.xs,{children:"Actions"})]})}),(0,s.jsx)(b.RM,{children:n&&0!==n.length?n.map((e,l)=>{var t;return(0,s.jsxs)(b.SC,{children:[(0,s.jsx)(b.pj,{children:e.credential_name}),(0,s.jsx)(b.pj,{children:F((null===(t=e.credential_info)||void 0===t?void 0:t.custom_llm_provider)||"-")}),(0,s.jsxs)(b.pj,{children:[(0,s.jsx)(b.zx,{icon:_.Z,variant:"light",size:"sm",onClick:()=>{g(e),x(!0)}}),(0,s.jsx)(b.zx,{icon:y.Z,variant:"light",size:"sm",onClick:()=>L(e),className:"ml-2"})]})]},l)}):(0,s.jsx)(b.SC,{children:(0,s.jsx)(b.pj,{colSpan:4,className:"text-center py-4 text-gray-500",children:"No credentials configured"})})})]})}),m&&(0,s.jsx)(U,{onAddCredential:I,open:m,onCancel:()=>u(!1),uploadProps:t}),h&&(0,s.jsx)(H,{open:h,existingCredential:p,onUpdateCredential:M,uploadProps:t,onCancel:()=>x(!1)}),(0,s.jsx)(Z.Z,{isOpen:w,onCancel:()=>{v(null),C(!1)},onOk:P,title:"Delete Credential?",message:"Are you sure you want to delete this credential? This action cannot be undone and may break existing integrations.",resourceInformationTitle:"Credential Information",resourceInformation:[{label:"Credential Name",value:null==j?void 0:j.credential_name},{label:"Provider",value:(null==j?void 0:null===(l=j.credential_info)||void 0===l?void 0:l.custom_llm_provider)||"-"}],confirmLoading:S,requiredConfirmation:null==j?void 0:j.credential_name})]})};let W=e=>{var l;return(null==e?void 0:null===(l=e.model_info)||void 0===l?void 0:l.team_public_model_name)?e.model_info.team_public_model_name:(null==e?void 0:e.model_name)||"-"};var Y=t(23628),$=t(47323),Q=t(12485),X=t(18135),ee=t(35242),el=t(29706),et=t(77991),es=t(20347),ea=t(59341),er=t(5945),ei=t(84376),en=t(29),eo=t.n(en),ed=t(23496),ec=t(35291),em=t(23639),eu=t(15424);let{Text:eh}=C.default;var ex=e=>{let{formValues:l,accessToken:t,testMode:a,modelName:r="this model",onClose:i,onTestComplete:n}=e,[m,h]=o.useState(null),[x,p]=o.useState(null),[g,f]=o.useState(null),[j,v]=o.useState(!0),[_,y]=o.useState(!1),[b,N]=o.useState(!1),Z=async()=>{v(!0),N(!1),h(null),p(null),f(null),y(!1),await new Promise(e=>setTimeout(e,100));try{console.log("Testing connection with form values:",l);let a=await u(l,t,null);if(!a){console.log("No result from prepareModelAddRequest"),h("Failed to prepare model data. Please check your form inputs."),y(!1),v(!1);return}console.log("Result from prepareModelAddRequest:",a);let{litellmParamsObj:r,modelInfoObj:i,modelName:n}=a[0],o=await (0,c.testConnectionRequest)(t,r,i,null==i?void 0:i.mode);if("success"===o.status)d.Z.success("Connection test successful!"),h(null),y(!0);else{var e,s;let l=(null===(e=o.result)||void 0===e?void 0:e.error)||o.message||"Unknown error";h(l),p(r),f(null===(s=o.result)||void 0===s?void 0:s.raw_request_typed_dict),y(!1)}}catch(e){console.error("Test connection error:",e),h(e instanceof Error?e.message:String(e)),y(!1)}finally{v(!1),n&&n()}};o.useEffect(()=>{let e=setTimeout(()=>{Z()},200);return()=>clearTimeout(e)},[]);let w=e=>e?e.split("stack trace:")[0].trim().replace(/^litellm\.(.*?)Error: /,""):"Unknown error",C="string"==typeof m?w(m):(null==m?void 0:m.message)?w(m.message):"Unknown error",S=g?((e,l,t)=>{let s=JSON.stringify(l,null,2).split("\n").map(e=>" ".concat(e)).join("\n"),a=Object.entries(t).map(e=>{let[l,t]=e;return"-H '".concat(l,": ").concat(t,"'")}).join(" \\\n ");return"curl -X POST \\\n ".concat(e," \\\n ").concat(a?"".concat(a," \\\n "):"","-H 'Content-Type: application/json' \\\n -d '{\n").concat(s,"\n }'")})(g.raw_request_api_base,g.raw_request_body,g.raw_request_headers||{}):"";return(0,s.jsxs)("div",{style:{padding:"24px",borderRadius:"8px",backgroundColor:"#fff"},children:[j?(0,s.jsxs)("div",{style:{textAlign:"center",padding:"32px 20px"},className:"jsx-dc9a0e2d897fe63b",children:[(0,s.jsx)("div",{style:{marginBottom:"16px"},className:"jsx-dc9a0e2d897fe63b loading-spinner",children:(0,s.jsx)("div",{style:{border:"3px solid #f3f3f3",borderTop:"3px solid #1890ff",borderRadius:"50%",width:"30px",height:"30px",animation:"spin 1s linear infinite",margin:"0 auto"},className:"jsx-dc9a0e2d897fe63b"})}),(0,s.jsxs)(eh,{style:{fontSize:"16px"},children:["Testing connection to ",r,"..."]}),(0,s.jsx)(eo(),{id:"dc9a0e2d897fe63b",children:"@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}"})]}):_?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"32px 20px"},children:[(0,s.jsx)("div",{style:{color:"#52c41a",fontSize:"24px",display:"flex",alignItems:"center"},children:(0,s.jsx)("svg",{viewBox:"64 64 896 896",focusable:"false","data-icon":"check-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",children:(0,s.jsx)("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"})})}),(0,s.jsxs)(eh,{type:"success",style:{fontSize:"18px",fontWeight:500,marginLeft:"10px"},children:["Connection to ",r," successful!"]})]}):(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:"20px"},children:[(0,s.jsx)(ec.Z,{style:{color:"#ff4d4f",fontSize:"24px",marginRight:"12px"}}),(0,s.jsxs)(eh,{type:"danger",style:{fontSize:"18px",fontWeight:500},children:["Connection to ",r," failed"]})]}),(0,s.jsxs)("div",{style:{backgroundColor:"#fff2f0",border:"1px solid #ffccc7",borderRadius:"8px",padding:"16px",marginBottom:"20px",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.03)"},children:[(0,s.jsxs)(eh,{strong:!0,style:{display:"block",marginBottom:"8px"},children:["Error:"," "]}),(0,s.jsx)(eh,{type:"danger",style:{fontSize:"14px",lineHeight:"1.5"},children:C}),m&&(0,s.jsx)("div",{style:{marginTop:"12px"},children:(0,s.jsx)(E.ZP,{type:"link",onClick:()=>N(!b),style:{paddingLeft:0,height:"auto"},children:b?"Hide Details":"Show Details"})})]}),b&&(0,s.jsxs)("div",{style:{marginBottom:"20px"},children:[(0,s.jsx)(eh,{strong:!0,style:{display:"block",marginBottom:"8px",fontSize:"15px"},children:"Troubleshooting Details"}),(0,s.jsx)("pre",{style:{backgroundColor:"#f5f5f5",padding:"16px",borderRadius:"8px",fontSize:"13px",maxHeight:"200px",overflow:"auto",border:"1px solid #e8e8e8",lineHeight:"1.5"},children:"string"==typeof m?m:JSON.stringify(m,null,2)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(eh,{strong:!0,style:{display:"block",marginBottom:"8px",fontSize:"15px"},children:"API Request"}),(0,s.jsx)("pre",{style:{backgroundColor:"#f5f5f5",padding:"16px",borderRadius:"8px",fontSize:"13px",maxHeight:"250px",overflow:"auto",border:"1px solid #e8e8e8",lineHeight:"1.5"},children:S||"No request data available"}),(0,s.jsx)(E.ZP,{style:{marginTop:"8px"},icon:(0,s.jsx)(em.Z,{}),onClick:()=>{navigator.clipboard.writeText(S||""),d.Z.success("Copied to clipboard")},children:"Copy to Clipboard"})]})]})}),(0,s.jsx)(ed.Z,{style:{margin:"24px 0 16px"}}),(0,s.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,s.jsx)(E.ZP,{type:"link",href:"https://docs.litellm.ai/docs/providers",target:"_blank",icon:(0,s.jsx)(eu.Z,{}),children:"View Documentation"})})]})};let ep=async(e,l,t,s)=>{try{console.log("=== AUTO ROUTER SUBMIT HANDLER CALLED ==="),console.log("handling auto router submit for formValues:",e),console.log("Access token:",l?"Present":"Missing"),console.log("Form:",t?"Present":"Missing"),console.log("Callback:",s?"Present":"Missing");let a={model_name:e.auto_router_name,litellm_params:{model:"auto_router/".concat(e.auto_router_name),auto_router_config:JSON.stringify(e.auto_router_config),auto_router_default_model:e.auto_router_default_model},model_info:{}};e.auto_router_embedding_model&&"custom"!==e.auto_router_embedding_model?a.litellm_params.auto_router_embedding_model=e.auto_router_embedding_model:e.custom_embedding_model&&(a.litellm_params.auto_router_embedding_model=e.custom_embedding_model),e.team_id&&(a.model_info.team_id=e.team_id),e.model_access_group&&e.model_access_group.length>0&&(a.model_info.access_groups=e.model_access_group),console.log("Auto router configuration to be created:",a),console.log("Auto router config (stringified):",a.litellm_params.auto_router_config),console.log("Calling modelCreateCall with:",{accessToken:l?"Present":"Missing",config:a});let r=await (0,c.modelCreateCall)(l,a);console.log("response for auto router create call:",r),t.resetFields()}catch(e){console.error("Failed to add auto router:",e),d.Z.fromBackend("Failed to add auto router: "+e)}};var eg=t(10703),ef=t(44851),ej=t(19015),ev=t(96473),e_=t(70464),ey=t(26349),eb=t(92280);let{TextArea:eN}=O.default,{Panel:eZ}=ef.default;var ew=e=>{let{modelInfo:l,value:t,onChange:a}=e,[r,i]=(0,o.useState)([]),[n,d]=(0,o.useState)(!1),[c,m]=(0,o.useState)([]);(0,o.useEffect)(()=>{if(null==t?void 0:t.routes){let e=t.routes.map((e,l)=>({id:e.id||"route-".concat(l,"-").concat(Date.now()),model:e.name||e.model||"",utterances:e.utterances||[],description:e.description||"",score_threshold:e.score_threshold||.5}));i(e),m(e.map(e=>e.id))}else i([]),m([])},[t]);let u=e=>{let l=r.filter(l=>l.id!==e);i(l),x(l),m(l=>l.filter(l=>l!==e))},h=(e,l,t)=>{let s=r.map(s=>s.id===e?{...s,[l]:t}:s);i(s),x(s)},x=e=>{let l={routes:e.map(e=>({name:e.model,utterances:e.utterances,description:e.description,score_threshold:e.score_threshold}))};null==a||a(l)},p=l.map(e=>({value:e.model_group,label:e.model_group}));return(0,s.jsxs)("div",{className:"w-full max-w-none",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6 w-full",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(eb.x,{className:"text-lg font-semibold",children:"Routes Configuration"}),(0,s.jsx)(A.Z,{title:"Configure routing logic to automatically select the best model based on user input patterns",children:(0,s.jsx)(eu.Z,{className:"text-gray-400"})})]}),(0,s.jsx)(E.ZP,{type:"primary",icon:(0,s.jsx)(ev.Z,{}),onClick:()=>{let e="route-".concat(Date.now()),l=[...r,{id:e,model:"",utterances:[],description:"",score_threshold:.5}];i(l),x(l),m(l=>[...l,e])},className:"bg-blue-600 hover:bg-blue-700",children:"Add Route"})]}),0===r.length?(0,s.jsx)("div",{className:"text-center py-12 text-gray-500 bg-gray-50 rounded-lg border-2 border-dashed border-gray-200 mb-6",children:(0,s.jsx)(eb.x,{children:"No routes configured. Click “Add Route” to get started."})}):(0,s.jsx)("div",{className:"space-y-3 mb-6 w-full",children:r.map((e,l)=>(0,s.jsx)(er.Z,{className:"border border-gray-200 shadow-sm w-full",bodyStyle:{padding:0},children:(0,s.jsx)(ef.default,{ghost:!0,expandIcon:e=>{let{isActive:l}=e;return(0,s.jsx)(e_.Z,{rotate:l?180:0})},activeKey:c,onChange:e=>m(Array.isArray(e)?e:[e].filter(Boolean)),items:[{key:e.id,label:(0,s.jsxs)("div",{className:"flex justify-between items-center py-2",children:[(0,s.jsxs)(eb.x,{className:"font-medium text-base",children:["Route ",l+1,": ",e.model||"Unnamed"]}),(0,s.jsx)(E.ZP,{type:"text",danger:!0,icon:(0,s.jsx)(ey.Z,{}),onClick:l=>{l.stopPropagation(),u(e.id)},className:"mr-2"})]}),children:(0,s.jsxs)("div",{className:"px-6 pb-6 w-full",children:[(0,s.jsxs)("div",{className:"mb-4 w-full",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium mb-2 block",children:"Model"}),(0,s.jsx)(k.default,{value:e.model,onChange:l=>h(e.id,"model",l),placeholder:"Select model",showSearch:!0,style:{width:"100%"},options:p})]}),(0,s.jsxs)("div",{className:"mb-4 w-full",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium mb-2 block",children:"Description"}),(0,s.jsx)(eN,{value:e.description,onChange:l=>h(e.id,"description",l.target.value),placeholder:"Describe when this route should be used...",rows:2,style:{width:"100%"}})]}),(0,s.jsxs)("div",{className:"mb-4 w-full",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium",children:"Score Threshold"}),(0,s.jsx)(A.Z,{title:"Minimum similarity score to route to this model (0-1)",children:(0,s.jsx)(eu.Z,{className:"text-gray-400"})})]}),(0,s.jsx)(ej.Z,{value:e.score_threshold,onChange:l=>h(e.id,"score_threshold",l||0),min:0,max:1,step:.1,style:{width:"100%"},placeholder:"0.5"})]}),(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(eb.x,{className:"text-sm font-medium",children:"Example Utterances"}),(0,s.jsx)(A.Z,{title:"Training examples for this route. Type an utterance and press Enter to add it.",children:(0,s.jsx)(eu.Z,{className:"text-gray-400"})})]}),(0,s.jsx)(eb.x,{className:"text-xs text-gray-500 mb-2",children:"Type an utterance and press Enter to add it. You can also paste multiple lines."}),(0,s.jsx)(k.default,{mode:"tags",value:e.utterances,onChange:l=>h(e.id,"utterances",l),placeholder:"Type an utterance and press Enter...",style:{width:"100%"},tokenSeparators:["\n"],maxTagCount:"responsive",allowClear:!0})]})]})}]})},e.id))}),(0,s.jsxs)("div",{className:"border-t pt-6 w-full",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4 w-full",children:[(0,s.jsx)(eb.x,{className:"text-lg font-semibold",children:"JSON Preview"}),(0,s.jsx)(E.ZP,{type:"link",onClick:()=>d(!n),className:"text-blue-600 p-0",children:n?"Hide":"Show"})]}),n&&(0,s.jsx)(er.Z,{className:"bg-gray-50 w-full",children:(0,s.jsx)("pre",{className:"text-sm overflow-auto max-h-64 w-full",children:JSON.stringify({routes:r.map(e=>({name:e.model,utterances:e.utterances,description:e.description,score_threshold:e.score_threshold}))},null,2)})})]})]})};let{Title:eC,Link:eS}=C.default;var ek=e=>{let{form:l,handleOk:t,accessToken:a,userRole:r}=e,[i,n]=(0,o.useState)(!1),[m,u]=(0,o.useState)(!1),[h,x]=(0,o.useState)(""),[p,g]=(0,o.useState)([]),[f,j]=(0,o.useState)([]),[v,_]=(0,o.useState)(!1),[y,b]=(0,o.useState)(!1),[Z,w]=(0,o.useState)(null);(0,o.useEffect)(()=>{(async()=>{g((await (0,c.modelAvailableCall)(a,"","",!1,null,!0,!0)).data.map(e=>e.id))})()},[a]),(0,o.useEffect)(()=>{(async()=>{try{let e=await (0,eg.p)(a);console.log("Fetched models for auto router:",e),j(e)}catch(e){console.error("Error fetching model info for auto router:",e)}})()},[a]);let M=es.ZL.includes(r),I=async()=>{u(!0),x("test-".concat(Date.now())),n(!0)},F=()=>{console.log("Auto router submit triggered!"),console.log("Router config:",Z);let e=l.getFieldsValue();if(console.log("Form values:",e),!e.auto_router_name){d.Z.fromBackend("Please enter an Auto Router Name");return}if(!e.auto_router_default_model){d.Z.fromBackend("Please select a Default Model");return}if(l.setFieldsValue({custom_llm_provider:"auto_router",model:e.auto_router_name,api_key:"not_required_for_auto_router"}),!Z||!Z.routes||0===Z.routes.length){d.Z.fromBackend("Please configure at least one route for the auto router");return}if(Z.routes.filter(e=>!e.name||!e.description||0===e.utterances.length).length>0){d.Z.fromBackend("Please ensure all routes have a target model, description, and at least one utterance");return}l.validateFields().then(e=>{console.log("Form validation passed, submitting with values:",e);let s={...e,auto_router_config:Z};console.log("Final submit values:",s),ep(s,a,l,t)}).catch(e=>{console.error("Validation failed:",e);let l=e.errorFields||[];if(l.length>0){let e=l.map(e=>{let l=e.name[0];return({auto_router_name:"Auto Router Name",auto_router_default_model:"Default Model",auto_router_embedding_model:"Embedding Model"})[l]||l});d.Z.fromBackend("Please fill in the following required fields: ".concat(e.join(", ")))}else d.Z.fromBackend("Please fill in all required fields")})};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eC,{level:2,children:"Add Auto Router"}),(0,s.jsx)(P.x,{className:"text-gray-600 mb-6",children:"Create an auto router with intelligent routing logic that automatically selects the best model based on user input patterns and semantic matching."}),(0,s.jsx)(er.Z,{children:(0,s.jsxs)(N.Z,{form:l,onFinish:F,labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:[(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Auto router name is required"}],label:"Auto Router Name",name:"auto_router_name",tooltip:"Unique name for this auto router configuration",labelCol:{span:10},labelAlign:"left",children:(0,s.jsx)(P.o,{placeholder:"e.g., auto_router_1, smart_routing"})}),(0,s.jsx)("div",{className:"w-full mb-4",children:(0,s.jsx)(ew,{modelInfo:f,value:Z,onChange:e=>{w(e),l.setFieldValue("auto_router_config",e)}})}),(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Default model is required"}],label:"Default Model",name:"auto_router_default_model",tooltip:"Fallback model to use when auto routing logic cannot determine the best model",labelCol:{span:10},labelAlign:"left",children:(0,s.jsx)(k.default,{placeholder:"Select a default model",onChange:e=>{_("custom"===e)},options:[...Array.from(new Set(f.map(e=>e.model_group))).map(e=>({value:e,label:e})),{value:"custom",label:"Enter custom model name"}],style:{width:"100%"},showSearch:!0})}),(0,s.jsx)(N.Z.Item,{label:"Embedding Model",name:"auto_router_embedding_model",tooltip:"Optional: Embedding model to use for semantic routing decisions",labelCol:{span:10},labelAlign:"left",children:(0,s.jsx)(k.default,{value:l.getFieldValue("auto_router_embedding_model"),placeholder:"Select an embedding model (optional)",onChange:e=>{b("custom"===e),l.setFieldValue("auto_router_embedding_model",e)},options:[...Array.from(new Set(f.map(e=>e.model_group))).map(e=>({value:e,label:e})),{value:"custom",label:"Enter custom model name"}],style:{width:"100%"},showSearch:!0,allowClear:!0})}),(0,s.jsxs)("div",{className:"flex items-center my-4",children:[(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,s.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"Additional Settings"}),(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),M&&(0,s.jsx)(N.Z.Item,{label:"Model Access Group",name:"model_access_group",className:"mb-4",tooltip:"Use model access groups to control who can access this auto router",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],options:p.map(e=>({value:e,label:e})),maxTagCount:"responsive",allowClear:!0})}),(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(C.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{className:"space-x-2",children:[(0,s.jsx)(E.ZP,{onClick:I,loading:m,children:"Test Connect"}),(0,s.jsx)(E.ZP,{onClick:()=>{console.log("Add Auto Router button clicked!"),console.log("Current router config:",Z),console.log("Current form values:",l.getFieldsValue()),F()},children:"Add Auto Router"})]})]})]})}),(0,s.jsx)(S.Z,{title:"Connection Test Results",open:i,onCancel:()=>{n(!1),u(!1)},footer:[(0,s.jsx)(E.ZP,{onClick:()=>{n(!1),u(!1)},children:"Close"},"close")],width:700,children:i&&(0,s.jsx)(ex,{formValues:l.getFieldsValue(),accessToken:a,testMode:"chat",modelName:l.getFieldValue("auto_router_name"),onClose:()=>{n(!1),u(!1)},onTestComplete:()=>u(!1)},h)})]})};let eA=[{value:"chat",label:"Chat - /chat/completions"},{value:"completion",label:"Completion - /completions"},{value:"embedding",label:"Embedding - /embeddings"},{value:"audio_speech",label:"Audio Speech - /audio/speech"},{value:"audio_transcription",label:"Audio Transcription - /audio/transcriptions"},{value:"image_generation",label:"Image Generation - /images/generations"},{value:"video_generation",label:"Video Generation - /videos"},{value:"rerank",label:"Rerank - /rerank"},{value:"realtime",label:"Realtime - /realtime"},{value:"batch",label:"Batch - /batch"},{value:"ocr",label:"OCR - /ocr"}];var eE=t(63709),eM=t(26210),eI=t(34766),eF=t(45246),eP=t(24199);let{Text:eL}=C.default;var eT=e=>{let{form:l,showCacheControl:t,onCacheControlChange:a}=e,r=e=>{let t=l.getFieldValue("litellm_extra_params");try{let s=t?JSON.parse(t):{};e.length>0?s.cache_control_injection_points=e:delete s.cache_control_injection_points,Object.keys(s).length>0?l.setFieldValue("litellm_extra_params",JSON.stringify(s,null,2)):l.setFieldValue("litellm_extra_params","")}catch(e){console.error("Error updating cache control points:",e)}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z.Item,{label:"Cache Control Injection Points",name:"cache_control",valuePropName:"checked",className:"mb-4",tooltip:"Tell litellm where to inject cache control checkpoints. You can specify either by role (to apply to all messages of that role) or by specific message index.",children:(0,s.jsx)(eE.Z,{onChange:a,className:"bg-gray-600"})}),t&&(0,s.jsxs)("div",{className:"ml-6 pl-4 border-l-2 border-gray-200",children:[(0,s.jsx)(eL,{className:"text-sm text-gray-500 block mb-4",children:"Providers like Anthropic, Bedrock API require users to specify where to inject cache control checkpoints, litellm can automatically add them for you as a cost saving feature."}),(0,s.jsx)(N.Z.List,{name:"cache_control_injection_points",initialValue:[{location:"message"}],children:(e,t)=>{let{add:a,remove:i}=t;return(0,s.jsxs)(s.Fragment,{children:[e.map((t,a)=>(0,s.jsxs)("div",{className:"flex items-center mb-4 gap-4",children:[(0,s.jsx)(N.Z.Item,{...t,label:"Type",name:[t.name,"location"],initialValue:"message",className:"mb-0",style:{width:"180px"},children:(0,s.jsx)(k.default,{disabled:!0,options:[{value:"message",label:"Message"}]})}),(0,s.jsx)(N.Z.Item,{...t,label:"Role",name:[t.name,"role"],className:"mb-0",style:{width:"180px"},tooltip:"LiteLLM will mark all messages of this role as cacheable",children:(0,s.jsx)(k.default,{placeholder:"Select a role",allowClear:!0,options:[{value:"user",label:"User"},{value:"system",label:"System"},{value:"assistant",label:"Assistant"}],onChange:()=>{r(l.getFieldValue("cache_control_points"))}})}),(0,s.jsx)(N.Z.Item,{...t,label:"Index",name:[t.name,"index"],className:"mb-0",style:{width:"180px"},tooltip:"(Optional) If set litellm will mark the message at this index as cacheable",children:(0,s.jsx)(eP.Z,{type:"number",placeholder:"Optional",step:1,onChange:()=>{r(l.getFieldValue("cache_control_points"))}})}),e.length>1&&(0,s.jsx)(eF.Z,{className:"text-red-500 cursor-pointer text-lg ml-12",onClick:()=>{i(t.name),setTimeout(()=>{r(l.getFieldValue("cache_control_points"))},0)}})]},t.key)),(0,s.jsx)(N.Z.Item,{children:(0,s.jsxs)("button",{type:"button",className:"flex items-center justify-center w-full border border-dashed border-gray-300 py-2 px-4 text-gray-600 hover:text-blue-600 hover:border-blue-300 transition-all rounded",onClick:()=>a(),children:[(0,s.jsx)(ev.Z,{className:"mr-2"}),"Add Injection Point"]})})]})}})]})]})},eR=t(9309);let{Link:eO}=C.default;var eV=e=>{let{showAdvancedSettings:l,setShowAdvancedSettings:t,teams:a,guardrailsList:r,tagsList:i}=e,[n]=N.Z.useForm(),[d,c]=o.useState(!1),[m,u]=o.useState("per_token"),[h,x]=o.useState(!1),p=(e,l)=>l&&(isNaN(Number(l))||0>Number(l))?Promise.reject("Please enter a valid positive number"):Promise.resolve();return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(eM.UQ,{className:"mt-2 mb-4",children:[(0,s.jsx)(eM._m,{children:(0,s.jsx)("b",{children:"Advanced Settings"})}),(0,s.jsx)(eM.X1,{children:(0,s.jsxs)("div",{className:"bg-white rounded-lg",children:[(0,s.jsx)(N.Z.Item,{label:"Custom Pricing",name:"custom_pricing",valuePropName:"checked",className:"mb-4",children:(0,s.jsx)(eE.Z,{onChange:e=>{c(e),e||n.setFieldsValue({input_cost_per_token:void 0,output_cost_per_token:void 0,input_cost_per_second:void 0})},className:"bg-gray-600"})}),(0,s.jsx)(N.Z.Item,{label:(0,s.jsxs)("span",{children:["Guardrails"," ",(0,s.jsx)(A.Z,{title:"Apply safety guardrails to this key to filter content or enforce policies",children:(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(eu.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",className:"mt-4",help:"Select existing guardrails. Go to 'Guardrails' tab to create new guardrails.",children:(0,s.jsx)(k.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter guardrails",options:r.map(e=>({value:e,label:e}))})}),(0,s.jsx)(N.Z.Item,{label:"Tags",name:"tags",className:"mb-4",children:(0,s.jsx)(k.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter tags",options:Object.values(i).map(e=>({value:e.name,label:e.name,title:e.description||e.name}))})}),d&&(0,s.jsxs)("div",{className:"ml-6 pl-4 border-l-2 border-gray-200",children:[(0,s.jsx)(N.Z.Item,{label:"Pricing Model",name:"pricing_model",className:"mb-4",children:(0,s.jsx)(k.default,{defaultValue:"per_token",onChange:e=>u(e),options:[{value:"per_token",label:"Per Million Tokens"},{value:"per_second",label:"Per Second"}]})}),"per_token"===m?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z.Item,{label:"Input Cost (per 1M tokens)",name:"input_cost_per_token",rules:[{validator:p}],className:"mb-4",children:(0,s.jsx)(eM.oi,{})}),(0,s.jsx)(N.Z.Item,{label:"Output Cost (per 1M tokens)",name:"output_cost_per_token",rules:[{validator:p}],className:"mb-4",children:(0,s.jsx)(eM.oi,{})})]}):(0,s.jsx)(N.Z.Item,{label:"Cost Per Second",name:"input_cost_per_second",rules:[{validator:p}],className:"mb-4",children:(0,s.jsx)(eM.oi,{})})]}),(0,s.jsx)(N.Z.Item,{label:"Use in pass through routes",name:"use_in_pass_through",valuePropName:"checked",className:"mb-4 mt-4",tooltip:(0,s.jsxs)("span",{children:["Allow using these credentials in pass through routes."," ",(0,s.jsx)(eO,{href:"https://docs.litellm.ai/docs/pass_through/vertex_ai",target:"_blank",children:"Learn more"})]}),children:(0,s.jsx)(eE.Z,{onChange:e=>{let l=n.getFieldValue("litellm_extra_params");try{let t=l?JSON.parse(l):{};e?t.use_in_pass_through=!0:delete t.use_in_pass_through,Object.keys(t).length>0?n.setFieldValue("litellm_extra_params",JSON.stringify(t,null,2)):n.setFieldValue("litellm_extra_params","")}catch(l){e?n.setFieldValue("litellm_extra_params",JSON.stringify({use_in_pass_through:!0},null,2)):n.setFieldValue("litellm_extra_params","")}},className:"bg-gray-600"})}),(0,s.jsx)(eT,{form:n,showCacheControl:h,onCacheControlChange:e=>{if(x(e),!e){let e=n.getFieldValue("litellm_extra_params");try{let l=e?JSON.parse(e):{};delete l.cache_control_injection_points,Object.keys(l).length>0?n.setFieldValue("litellm_extra_params",JSON.stringify(l,null,2)):n.setFieldValue("litellm_extra_params","")}catch(e){n.setFieldValue("litellm_extra_params","")}}}}),(0,s.jsx)(N.Z.Item,{label:"LiteLLM Params",name:"litellm_extra_params",tooltip:"Optional litellm params used for making a litellm.completion() call.",className:"mb-4 mt-4",rules:[{validator:eR.Ac}],children:(0,s.jsx)(eI.Z,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}),(0,s.jsxs)(L.Z,{className:"mb-4",children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:10,children:(0,s.jsxs)(eM.xv,{className:"text-gray-600 text-sm",children:["Pass JSON of litellm supported params"," ",(0,s.jsx)(eO,{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",children:"litellm.completion() call"})]})})]}),(0,s.jsx)(N.Z.Item,{label:"Model Info",name:"model_info_params",tooltip:"Optional model info params. Returned when calling `/model/info` endpoint.",className:"mb-0",rules:[{validator:eR.Ac}],children:(0,s.jsx)(eI.Z,{rows:4,placeholder:'{ "mode": "chat" }'})})]})})]})})},eD=t(56609),ez=t(67187);let eq=e=>{let{content:l,children:t,width:a="auto",className:r=""}=e,[i,n]=(0,o.useState)(!1),[d,c]=(0,o.useState)("top"),m=(0,o.useRef)(null),u=()=>{if(m.current){let e=m.current.getBoundingClientRect(),l=e.top,t=window.innerHeight-e.bottom;l<300&&t>300?c("bottom"):c("top")}};return(0,s.jsxs)("div",{className:"relative inline-block",ref:m,children:[t||(0,s.jsx)(ez.Z,{className:"ml-1 text-gray-500 cursor-help",onMouseEnter:()=>{u(),n(!0)},onMouseLeave:()=>n(!1)}),i&&(0,s.jsxs)("div",{className:"absolute left-1/2 -translate-x-1/2 z-50 bg-black/90 text-white p-2 rounded-md text-sm font-normal shadow-lg ".concat(r),style:{["top"===d?"bottom":"top"]:"100%",width:a,marginBottom:"top"===d?"8px":"0",marginTop:"bottom"===d?"8px":"0"},children:[l,(0,s.jsx)("div",{className:"absolute left-1/2 -translate-x-1/2 w-0 h-0",style:{top:"top"===d?"100%":"auto",bottom:"bottom"===d?"100%":"auto",borderTop:"top"===d?"6px solid rgba(0, 0, 0, 0.9)":"6px solid transparent",borderBottom:"bottom"===d?"6px solid rgba(0, 0, 0, 0.9)":"6px solid transparent",borderLeft:"6px solid transparent",borderRight:"6px solid transparent"}})]})]})};var eB=()=>{let e=N.Z.useFormInstance(),[l,t]=(0,o.useState)(0),a=N.Z.useWatch("model",e)||[],r=Array.isArray(a)?a:[a],i=N.Z.useWatch("custom_model_name",e),n=!r.includes("all-wildcard"),d=N.Z.useWatch("custom_llm_provider",e);if((0,o.useEffect)(()=>{if(i&&r.includes("custom")){let l=(e.getFieldValue("model_mappings")||[]).map(e=>"custom"===e.public_name||"custom"===e.litellm_model?d===m.Cl.Azure?{public_name:i,litellm_model:"azure/".concat(i)}:{public_name:i,litellm_model:i}:e);e.setFieldValue("model_mappings",l),t(e=>e+1)}},[i,r,d,e]),(0,o.useEffect)(()=>{if(r.length>0&&!r.includes("all-wildcard")){let l=e.getFieldValue("model_mappings")||[];if(l.length!==r.length||!r.every(e=>l.some(l=>"custom"===e?"custom"===l.litellm_model||l.litellm_model===i:d===m.Cl.Azure?l.litellm_model==="azure/".concat(e):l.litellm_model===e))){let l=r.map(e=>"custom"===e&&i?d===m.Cl.Azure?{public_name:i,litellm_model:"azure/".concat(i)}:{public_name:i,litellm_model:i}:d===m.Cl.Azure?{public_name:e,litellm_model:"azure/".concat(e)}:{public_name:e,litellm_model:e});e.setFieldValue("model_mappings",l),t(e=>e+1)}}},[r,i,d,e]),!n)return null;let c=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"mb-2 font-normal",children:"The name you specify in your API calls to LiteLLM Proxy"}),(0,s.jsxs)("div",{className:"mb-2 font-normal",children:[(0,s.jsx)("strong",{children:"Example:"})," If you name your public model"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:"example-name"}),", and choose"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:"openai/qwen-plus-latest"})," as the LiteLLM model"]}),(0,s.jsxs)("div",{className:"mb-2 font-normal",children:[(0,s.jsx)("strong",{children:"Usage:"})," You make an API call to the LiteLLM proxy with"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:'model = "example-name"'})]}),(0,s.jsxs)("div",{className:"font-normal",children:[(0,s.jsx)("strong",{children:"Result:"})," LiteLLM sends"," ",(0,s.jsx)("code",{className:"bg-gray-700 px-1 py-0.5 rounded text-xs",children:"qwen-plus-latest"})," to the provider"]})]}),u=(0,s.jsx)("div",{children:"The model name LiteLLM will send to the LLM API"}),h=[{title:(0,s.jsxs)("span",{className:"flex items-center",children:["Public Model Name",(0,s.jsx)(eq,{content:c,width:"500px"})]}),dataIndex:"public_name",key:"public_name",render:(l,t,a)=>(0,s.jsx)(w.o,{value:l,onChange:l=>{let t=[...e.getFieldValue("model_mappings")];t[a].public_name=l.target.value,e.setFieldValue("model_mappings",t)}})},{title:(0,s.jsxs)("span",{className:"flex items-center",children:["LiteLLM Model Name",(0,s.jsx)(eq,{content:u,width:"360px"})]}),dataIndex:"litellm_model",key:"litellm_model"}];return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(N.Z.Item,{label:"Model Mappings",name:"model_mappings",tooltip:"Map public model names to LiteLLM model names for load balancing",labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",rules:[{required:!0,validator:async(e,l)=>{if(!l||0===l.length)throw Error("At least one model mapping is required");if(l.filter(e=>!e.public_name||""===e.public_name.trim()).length>0)throw Error("All model mappings must have valid public names")}}],children:(0,s.jsx)(eD.Z,{dataSource:e.getFieldValue("model_mappings"),columns:h,pagination:!1,size:"small"},l)})})},eU=e=>{let{selectedProvider:l,providerModels:t,getPlaceholder:a}=e,r=N.Z.useFormInstance(),i=e=>{let t=e.target.value,s=(r.getFieldValue("model_mappings")||[]).map(e=>"custom"===e.public_name||"custom"===e.litellm_model?l===m.Cl.Azure?{public_name:t,litellm_model:"azure/".concat(t)}:{public_name:t,litellm_model:t}:e);r.setFieldsValue({model_mappings:s})};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(N.Z.Item,{label:"LiteLLM Model Name(s)",tooltip:"The model name LiteLLM will send to the LLM API",className:"mb-0",children:[(0,s.jsx)(N.Z.Item,{name:"model",rules:[{required:!0,message:"Please enter ".concat(l===m.Cl.Azure?"a deployment name":"at least one model",".")}],noStyle:!0,children:l===m.Cl.Azure||l===m.Cl.OpenAI_Compatible||l===m.Cl.Ollama?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(P.o,{placeholder:a(l),onChange:l===m.Cl.Azure?e=>{let l=e.target.value,t=l?[{public_name:l,litellm_model:"azure/".concat(l)}]:[];r.setFieldsValue({model:l,model_mappings:t})}:void 0})}):t.length>0?(0,s.jsx)(k.default,{mode:"multiple",allowClear:!0,showSearch:!0,placeholder:"Select models",onChange:e=>{let t=Array.isArray(e)?e:[e];if(t.includes("all-wildcard"))r.setFieldsValue({model_name:void 0,model_mappings:[]});else if(JSON.stringify(r.getFieldValue("model"))!==JSON.stringify(t)){let e=t.map(e=>l===m.Cl.Azure?{public_name:e,litellm_model:"azure/".concat(e)}:{public_name:e,litellm_model:e});r.setFieldsValue({model:t,model_mappings:e})}},optionFilterProp:"children",filterOption:(e,l)=>{var t;return(null!==(t=null==l?void 0:l.label)&&void 0!==t?t:"").toLowerCase().includes(e.toLowerCase())},options:[{label:"Custom Model Name (Enter below)",value:"custom"},{label:"All ".concat(l," Models (Wildcard)"),value:"all-wildcard"},...t.map(e=>({label:e,value:e}))],style:{width:"100%"}}):(0,s.jsx)(P.o,{placeholder:a(l)})}),(0,s.jsx)(N.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.model!==l.model,children:e=>{let{getFieldValue:t}=e,a=t("model")||[];return(Array.isArray(a)?a:[a]).includes("custom")&&(0,s.jsx)(N.Z.Item,{name:"custom_model_name",rules:[{required:!0,message:"Please enter a custom model name."}],className:"mt-2",children:(0,s.jsx)(P.o,{placeholder:l===m.Cl.Azure?"Enter Azure deployment name":"Enter custom model name",onChange:i})})}})]}),(0,s.jsxs)(L.Z,{children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:14,children:(0,s.jsx)(P.x,{className:"mb-3 mt-1",children:l===m.Cl.Azure?"Your deployment name will be saved as the public model name, and LiteLLM will use 'azure/deployment-name' internally":"The model name LiteLLM will send to the LLM API"})})]})]})};let{Title:eG,Link:eH}=C.default;var eK=e=>{let{form:l,handleOk:t,selectedProvider:a,setSelectedProvider:r,providerModels:i,setProviderModelsFn:d,getPlaceholder:u,uploadProps:h,showAdvancedSettings:x,setShowAdvancedSettings:p,teams:g,credentials:f,accessToken:j,userRole:v,premiumUser:_}=e,[y]=N.Z.useForm(),[b,Z]=(0,o.useState)("chat"),[w,M]=(0,o.useState)(!1),[F,P]=(0,o.useState)(!1),[R,O]=(0,o.useState)([]),[V,D]=(0,o.useState)({}),[z,B]=(0,o.useState)(""),{data:U,isLoading:G,error:H}=I();(0,o.useEffect)(()=>{(async()=>{try{let e=(await (0,c.getGuardrailsList)(j)).guardrails.map(e=>e.guardrail_name);O(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[j]),(0,o.useEffect)(()=>{(async()=>{try{let e=await (0,c.tagListCall)(j);D(e)}catch(e){console.error("Failed to fetch tags:",e)}})()},[j]);let K=async()=>{P(!0),B("test-".concat(Date.now())),M(!0)},[J,W]=(0,o.useState)(!1),[Y,$]=(0,o.useState)([]);(0,o.useEffect)(()=>{(async()=>{$((await (0,c.modelAvailableCall)(j,"","",!1,null,!0,!0)).data.map(e=>e.id))})()},[j]);let en=(0,o.useMemo)(()=>U?[...U].sort((e,l)=>e.provider_display_name.localeCompare(l.provider_display_name)):[],[U]),eo=H?H instanceof Error?H.message:"Failed to load providers":null,ed=es.ZL.includes(v);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(X.Z,{className:"w-full",children:[(0,s.jsxs)(ee.Z,{className:"mb-4",children:[(0,s.jsx)(Q.Z,{children:"Add Model"}),(0,s.jsx)(Q.Z,{children:"Add Auto Router"})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsxs)(el.Z,{children:[(0,s.jsx)(eG,{level:2,children:"Add Model"}),(0,s.jsx)(er.Z,{children:(0,s.jsx)(N.Z,{form:l,onFinish:e=>{console.log("\uD83D\uDD25 Form onFinish triggered with values:",e),t()},onFinishFailed:e=>{console.log("\uD83D\uDCA5 Form onFinishFailed triggered:",e)},labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"E.g. OpenAI, Azure OpenAI, Anthropic, Bedrock, etc.",labelCol:{span:10},labelAlign:"left",children:(0,s.jsxs)(k.default,{showSearch:!0,loading:G,placeholder:G?"Loading providers...":"Select a provider",optionFilterProp:"data-label",onChange:e=>{r(e),d(e),l.setFieldsValue({custom_llm_provider:e}),l.setFieldsValue({model:[],model_name:void 0})},children:[eo&&0===en.length&&(0,s.jsx)(k.default.Option,{value:"",children:eo},"__error"),en.map(e=>{var l;let t=e.provider_display_name,a=e.provider,r=null!==(l=m.cd[t])&&void 0!==l?l:"";return(0,s.jsx)(k.default.Option,{value:a,"data-label":t,children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[r?(0,s.jsx)("img",{src:r,alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let l=e.currentTarget,s=l.parentElement;if(s&&s.contains(l))try{let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,l)}catch(e){console.error("Failed to replace provider logo fallback:",e)}}}):(0,s.jsx)("div",{className:"w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",children:t.charAt(0)}),(0,s.jsx)("span",{children:t})]})},a)})]})}),(0,s.jsx)(eU,{selectedProvider:a,providerModels:i,getPlaceholder:u}),(0,s.jsx)(eB,{}),(0,s.jsx)(N.Z.Item,{label:"Mode",name:"mode",className:"mb-1",children:(0,s.jsx)(k.default,{style:{width:"100%"},value:b,onChange:e=>Z(e),options:eA})}),(0,s.jsxs)(L.Z,{children:[(0,s.jsx)(T.Z,{span:10}),(0,s.jsx)(T.Z,{span:10,children:(0,s.jsxs)(n.Z,{className:"mb-5 mt-1",children:[(0,s.jsx)("strong",{children:"Optional"})," - LiteLLM endpoint to use when health checking this model"," ",(0,s.jsx)(eH,{href:"https://docs.litellm.ai/docs/proxy/health#health",target:"_blank",children:"Learn more"})]})})]}),(0,s.jsx)("div",{className:"mb-4",children:(0,s.jsx)(C.default.Text,{className:"text-sm text-gray-500 mb-2",children:"Either select existing credentials OR enter new provider credentials below"})}),(0,s.jsx)(N.Z.Item,{label:"Existing Credentials",name:"litellm_credential_name",initialValue:null,children:(0,s.jsx)(k.default,{showSearch:!0,placeholder:"Select or search for existing credentials",optionFilterProp:"children",filterOption:(e,l)=>{var t;return(null!==(t=null==l?void 0:l.label)&&void 0!==t?t:"").toLowerCase().includes(e.toLowerCase())},options:[{value:null,label:"None"},...f.map(e=>({value:e.credential_name,label:e.credential_name}))],allowClear:!0})}),(0,s.jsx)(N.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.litellm_credential_name!==l.litellm_credential_name||e.provider!==l.provider,children:e=>{let{getFieldValue:l}=e,t=l("litellm_credential_name");return(console.log("\uD83D\uDD11 Credential Name Changed:",t),t)?null:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center my-4",children:[(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,s.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"OR"}),(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),(0,s.jsx)(q,{selectedProvider:a,uploadProps:h})]})}}),(0,s.jsxs)("div",{className:"flex items-center my-4",children:[(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,s.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"Additional Model Info Settings"}),(0,s.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),(0,s.jsx)(N.Z.Item,{label:"Team-BYOK Model",tooltip:"Only use this model + credential combination for this team. Useful when teams want to onboard their own OpenAI keys.",className:"mb-4",children:(0,s.jsx)(A.Z,{title:_?"":"This is an enterprise-only feature. Upgrade to premium to restrict model+credential combinations to a specific team.",placement:"top",children:(0,s.jsx)(ea.Z,{checked:J,onChange:e=>{W(e),e||l.setFieldValue("team_id",void 0)},disabled:!_})})}),J&&(0,s.jsx)(N.Z.Item,{label:"Select Team",name:"team_id",className:"mb-4",tooltip:"Only keys for this team will be able to call this model.",rules:[{required:J&&!ed,message:"Please select a team."}],children:(0,s.jsx)(ei.Z,{teams:g,disabled:!_})}),ed&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(N.Z.Item,{label:"Model Access Group",name:"model_access_group",className:"mb-4",tooltip:"Use model access groups to give users access to select models, and add new ones to the group over time.",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],options:Y.map(e=>({value:e,label:e})),maxTagCount:"responsive",allowClear:!0})})}),(0,s.jsx)(eV,{showAdvancedSettings:x,setShowAdvancedSettings:p,teams:g,guardrailsList:R,tagsList:V}),(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(C.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{className:"space-x-2",children:[(0,s.jsx)(E.ZP,{onClick:K,loading:F,children:"Test Connect"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Add Model"})]})]})]})})})]}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(ek,{form:y,handleOk:()=>{y.validateFields().then(e=>{ep(e,j,y,t)}).catch(e=>{console.error("Validation failed:",e)})},accessToken:j,userRole:v})})]})]}),(0,s.jsx)(S.Z,{title:"Connection Test Results",open:w,onCancel:()=>{M(!1),P(!1)},footer:[(0,s.jsx)(E.ZP,{onClick:()=>{M(!1),P(!1)},children:"Close"},"close")],width:700,children:w&&(0,s.jsx)(ex,{formValues:l.getFieldsValue(),accessToken:j,testMode:b,modelName:l.getFieldValue("model_name")||l.getFieldValue("model"),onClose:()=>{M(!1),P(!1)},onTestComplete:()=>P(!1)},z)})]})},eJ=t(10900),eW=t(45589),eY=t(78489),e$=t(12514),eQ=t(49566),eX=t(96761),e0=t(30401),e1=t(78867),e2=t(59872),e4=e=>{let{isVisible:l,onCancel:t,onSuccess:a,modelData:r,accessToken:i,userRole:n}=e,[m]=N.Z.useForm(),[u,h]=(0,o.useState)(!1),[x,p]=(0,o.useState)([]),[g,f]=(0,o.useState)([]),[j,v]=(0,o.useState)(!1),[_,y]=(0,o.useState)(!1),[b,Z]=(0,o.useState)(null);(0,o.useEffect)(()=>{l&&r&&w()},[l,r]),(0,o.useEffect)(()=>{let e=async()=>{if(i)try{let e=await (0,c.modelAvailableCall)(i,"","",!1,null,!0,!0);p(e.data.map(e=>e.id))}catch(e){console.error("Error fetching model access groups:",e)}},t=async()=>{if(i)try{let e=await (0,eg.p)(i);f(e)}catch(e){console.error("Error fetching model info:",e)}};l&&(e(),t())},[l,i]);let w=()=>{try{var e,l,t,s,a,i;let n=null;(null===(e=r.litellm_params)||void 0===e?void 0:e.auto_router_config)&&(n="string"==typeof r.litellm_params.auto_router_config?JSON.parse(r.litellm_params.auto_router_config):r.litellm_params.auto_router_config),Z(n),m.setFieldsValue({auto_router_name:r.model_name,auto_router_default_model:(null===(l=r.litellm_params)||void 0===l?void 0:l.auto_router_default_model)||"",auto_router_embedding_model:(null===(t=r.litellm_params)||void 0===t?void 0:t.auto_router_embedding_model)||"",model_access_group:(null===(s=r.model_info)||void 0===s?void 0:s.access_groups)||[]});let o=new Set(g.map(e=>e.model_group));v(!o.has(null===(a=r.litellm_params)||void 0===a?void 0:a.auto_router_default_model)),y(!o.has(null===(i=r.litellm_params)||void 0===i?void 0:i.auto_router_embedding_model))}catch(e){console.error("Error parsing auto router config:",e),d.Z.fromBackend("Error loading auto router configuration")}},C=async()=>{try{h(!0);let e=await m.validateFields(),l={...r.litellm_params,auto_router_config:JSON.stringify(b),auto_router_default_model:e.auto_router_default_model,auto_router_embedding_model:e.auto_router_embedding_model||void 0},s={...r.model_info,access_groups:e.model_access_group||[]},n={model_name:e.auto_router_name,litellm_params:l,model_info:s};await (0,c.modelPatchUpdateCall)(i,n,r.model_info.id);let o={...r,model_name:e.auto_router_name,litellm_params:l,model_info:s};d.Z.success("Auto router configuration updated successfully"),a(o),t()}catch(e){console.error("Error updating auto router:",e),d.Z.fromBackend("Failed to update auto router configuration")}finally{h(!1)}},A=g.map(e=>({value:e.model_group,label:e.model_group}));return(0,s.jsx)(S.Z,{title:"Edit Auto Router Configuration",open:l,onCancel:t,footer:[(0,s.jsx)(E.ZP,{onClick:t,children:"Cancel"},"cancel"),(0,s.jsx)(E.ZP,{loading:u,onClick:C,children:"Save Changes"},"submit")],width:1e3,destroyOnClose:!0,children:(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(P.x,{className:"text-gray-600",children:"Edit the auto router configuration including routing logic, default models, and access settings."}),(0,s.jsxs)(N.Z,{form:m,layout:"vertical",className:"space-y-4",children:[(0,s.jsx)(N.Z.Item,{label:"Auto Router Name",name:"auto_router_name",rules:[{required:!0,message:"Auto router name is required"}],children:(0,s.jsx)(P.o,{placeholder:"e.g., auto_router_1, smart_routing"})}),(0,s.jsx)("div",{className:"w-full",children:(0,s.jsx)(ew,{modelInfo:g,value:b,onChange:e=>{Z(e)}})}),(0,s.jsx)(N.Z.Item,{label:"Default Model",name:"auto_router_default_model",rules:[{required:!0,message:"Default model is required"}],children:(0,s.jsx)(k.default,{placeholder:"Select a default model",onChange:e=>{v("custom"===e)},options:[...A,{value:"custom",label:"Enter custom model name"}],showSearch:!0})}),(0,s.jsx)(N.Z.Item,{label:"Embedding Model",name:"auto_router_embedding_model",children:(0,s.jsx)(k.default,{placeholder:"Select an embedding model (optional)",onChange:e=>{y("custom"===e)},options:[...A,{value:"custom",label:"Enter custom model name"}],showSearch:!0,allowClear:!0})}),"Admin"===n&&(0,s.jsx)(N.Z.Item,{label:"Model Access Groups",name:"model_access_group",tooltip:"Control who can access this auto router",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],options:x.map(e=>({value:e,label:e})),maxTagCount:"responsive",allowClear:!0})})]})]})})};let{Title:e5,Link:e6}=C.default;var e3=e=>{let{isVisible:l,onCancel:t,onAddCredential:a,existingCredential:r,setIsCredentialModalOpen:i}=e,[n]=N.Z.useForm();return console.log("existingCredential in add credentials tab: ".concat(JSON.stringify(r))),(0,s.jsx)(S.Z,{title:"Reuse Credentials",visible:l,onCancel:()=>{t(),n.resetFields()},footer:null,width:600,children:(0,s.jsxs)(N.Z,{form:n,onFinish:e=>{a(e),n.resetFields(),i(!1)},layout:"vertical",children:[(0,s.jsx)(N.Z.Item,{label:"Credential Name:",name:"credential_name",rules:[{required:!0,message:"Credential name is required"}],initialValue:null==r?void 0:r.credential_name,children:(0,s.jsx)(w.o,{placeholder:"Enter a friendly name for these credentials"})}),Object.entries((null==r?void 0:r.credential_values)||{}).map(e=>{let[l,t]=e;return(0,s.jsx)(N.Z.Item,{label:l,name:l,initialValue:t,children:(0,s.jsx)(w.o,{placeholder:"Enter ".concat(l),disabled:!0})},l)}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(A.Z,{title:"Get help on our github",children:(0,s.jsx)(e6,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)(E.ZP,{onClick:()=>{t(),n.resetFields()},style:{marginRight:10},children:"Cancel"}),(0,s.jsx)(E.ZP,{htmlType:"submit",children:"Reuse Credentials"})]})]})]})})};function e8(e){var l,t,a,r,u,h,x,p,g,f,j,_,b,Z,w,C,M,I,F,P,L,T,R,V,D,z,q,B,U,G,H,K,J,$;let{modelId:es,onClose:ea,modelData:er,accessToken:ei,userID:en,userRole:eo,editModel:ed,setEditModalVisible:ec,setSelectedModel:em,onModelUpdate:eh,modelAccessGroups:ex}=e,[ep]=N.Z.useForm(),[eg,ef]=(0,o.useState)(null),[ej,ev]=(0,o.useState)(!1),[e_,ey]=(0,o.useState)(!1),[eb,eN]=(0,o.useState)(!1),[eZ,ew]=(0,o.useState)(!1),[eC,eS]=(0,o.useState)(!1),[ek,eA]=(0,o.useState)(null),[eE,eM]=(0,o.useState)(!1),[eI,eF]=(0,o.useState)({}),[eL,eO]=(0,o.useState)(!1),[eV,eD]=(0,o.useState)([]),[ez,eq]=(0,o.useState)({}),eB=("Admin"===eo||(null==er?void 0:null===(l=er.model_info)||void 0===l?void 0:l.created_by)===en)&&(null==er?void 0:null===(t=er.model_info)||void 0===t?void 0:t.db_model),eU="Admin"===eo,eG=(null==er?void 0:null===(a=er.litellm_params)||void 0===a?void 0:a.auto_router_config)!=null,{data:eH}=v(ei,en,eo);console.log("modelsInfoData, ",eH);let eK=(null==er?void 0:null===(r=er.litellm_params)||void 0===r?void 0:r.litellm_credential_name)!=null&&(null==er?void 0:null===(u=er.litellm_params)||void 0===u?void 0:u.litellm_credential_name)!=void 0;console.log("usingExistingCredential, ",eK),console.log("modelData.litellm_params.litellm_credential_name, ",null==er?void 0:null===(h=er.litellm_params)||void 0===h?void 0:h.litellm_credential_name),console.log("tagsList, ",null===(x=er.litellm_params)||void 0===x?void 0:x.tags),(0,o.useEffect)(()=>{let e=async()=>{var e,l,t,s,a,r,i;if(!ei)return;let n=await (0,c.modelInfoV1Call)(ei,es);console.log("modelInfoResponse, ",n);let o=n.data[0];o&&!o.litellm_model_name&&(o={...o,litellm_model_name:null!==(i=null!==(r=null!==(a=null==o?void 0:null===(l=o.litellm_params)||void 0===l?void 0:l.litellm_model_name)&&void 0!==a?a:null==o?void 0:null===(t=o.litellm_params)||void 0===t?void 0:t.model)&&void 0!==r?r:null==o?void 0:null===(s=o.model_info)||void 0===s?void 0:s.key)&&void 0!==i?i:null}),ef(o),(null==o?void 0:null===(e=o.litellm_params)||void 0===e?void 0:e.cache_control_injection_points)&&eM(!0)},l=async()=>{if(ei)try{let e=(await (0,c.getGuardrailsList)(ei)).guardrails.map(e=>e.guardrail_name);eD(e)}catch(e){console.error("Failed to fetch guardrails:",e)}},t=async()=>{if(ei)try{let e=await (0,c.tagListCall)(ei);eq(e)}catch(e){console.error("Failed to fetch tags:",e)}};(async()=>{if(console.log("accessToken, ",ei),!ei||eK)return;let e=await (0,c.credentialGetCall)(ei,null,es);console.log("existingCredentialResponse, ",e),eA({credential_name:e.credential_name,credential_values:e.credential_values,credential_info:e.credential_info})})(),e(),l(),t()},[ei,es]);let e5=async e=>{var l;if(console.log("values, ",e),!ei)return;let t={credential_name:e.credential_name,model_id:es,credential_info:{custom_llm_provider:null===(l=eg.litellm_params)||void 0===l?void 0:l.custom_llm_provider}};d.Z.info("Storing credential.."),console.log("credentialResponse, ",await (0,c.credentialCreateCall)(ei,t)),d.Z.success("Credential stored successfully")},e6=async e=>{try{var l;let t;if(!ei)return;ew(!0),console.log("values.model_name, ",e.model_name);let s={};try{s=e.litellm_extra_params?JSON.parse(e.litellm_extra_params):{}}catch(e){d.Z.fromBackend("Invalid JSON in LiteLLM Params"),ew(!1);return}let a={...e.litellm_params,...s,model:e.litellm_model_name,api_base:e.api_base,custom_llm_provider:e.custom_llm_provider,organization:e.organization,tpm:e.tpm,rpm:e.rpm,max_retries:e.max_retries,timeout:e.timeout,stream_timeout:e.stream_timeout,input_cost_per_token:e.input_cost/1e6,output_cost_per_token:e.output_cost/1e6,tags:e.tags};e.guardrails&&(a.guardrails=e.guardrails),e.cache_control&&(null===(l=e.cache_control_injection_points)||void 0===l?void 0:l.length)>0?a.cache_control_injection_points=e.cache_control_injection_points:delete a.cache_control_injection_points;try{t=e.model_info?JSON.parse(e.model_info):er.model_info,e.model_access_group&&(t={...t,access_groups:e.model_access_group}),void 0!==e.health_check_model&&(t={...t,health_check_model:e.health_check_model})}catch(e){d.Z.fromBackend("Invalid JSON in Model Info");return}let r={model_name:e.model_name,litellm_params:a,model_info:t};await (0,c.modelPatchUpdateCall)(ei,r,es);let i={...eg,model_name:e.model_name,litellm_model_name:e.litellm_model_name,litellm_params:a,model_info:t};ef(i),eh&&eh(i),d.Z.success("Model settings updated successfully"),eN(!1),eS(!1)}catch(e){console.error("Error updating model:",e),d.Z.fromBackend("Failed to update model settings")}finally{ew(!1)}};if(!er)return(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)(eY.Z,{icon:eJ.Z,variant:"light",onClick:ea,className:"mb-4",children:"Back to Models"}),(0,s.jsx)(n.Z,{children:"Model not found"})]});let e8=async()=>{if(ei)try{var e,l,t;d.Z.info("Testing connection...");let s=await (0,c.testConnectionRequest)(ei,{custom_llm_provider:eg.litellm_params.custom_llm_provider,litellm_credential_name:eg.litellm_params.litellm_credential_name,model:eg.litellm_model_name},{mode:null===(e=eg.model_info)||void 0===e?void 0:e.mode},null===(l=eg.model_info)||void 0===l?void 0:l.mode);if("success"===s.status)d.Z.success("Connection test successful!");else throw Error((null==s?void 0:null===(t=s.result)||void 0===t?void 0:t.error)||(null==s?void 0:s.message)||"Unknown error")}catch(e){e instanceof Error?d.Z.error("Error testing connection: "+(0,eR.aS)(e.message,100)):d.Z.error("Error testing connection: "+String(e))}},e9=async()=>{try{if(!ei)return;await (0,c.modelDeleteCall)(ei,es),d.Z.success("Model deleted successfully"),eh&&eh({deleted:!0,model_info:{id:es}}),ea()}catch(e){console.error("Error deleting the model:",e),d.Z.fromBackend("Failed to delete model")}},e7=async(e,l)=>{await (0,e2.vQ)(e)&&(eF(e=>({...e,[l]:!0})),setTimeout(()=>{eF(e=>({...e,[l]:!1}))},2e3))},le=er.litellm_model_name.includes("*");return(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(eY.Z,{icon:eJ.Z,variant:"light",onClick:ea,className:"mb-4",children:"Back to Models"}),(0,s.jsxs)(eX.Z,{children:["Public Model Name: ",W(er)]}),(0,s.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,s.jsx)(n.Z,{className:"text-gray-500 font-mono",children:er.model_info.id}),(0,s.jsx)(E.ZP,{type:"text",size:"small",icon:eI["model-id"]?(0,s.jsx)(e0.Z,{size:12}):(0,s.jsx)(e1.Z,{size:12}),onClick:()=>e7(er.model_info.id,"model-id"),className:"left-2 z-10 transition-all duration-200 ".concat(eI["model-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(eY.Z,{variant:"secondary",icon:Y.Z,onClick:e8,className:"flex items-center gap-2","data-testid":"test-connection-button",children:"Test Connection"}),(0,s.jsx)(eY.Z,{icon:eW.Z,variant:"secondary",onClick:()=>ey(!0),className:"flex items-center",disabled:!eU,"data-testid":"reuse-credentials-button",children:"Re-use Credentials"}),(0,s.jsx)(eY.Z,{icon:y.Z,variant:"secondary",onClick:()=>ev(!0),className:"flex items-center text-red-500 border-red-500 hover:text-red-700",disabled:!eB,"data-testid":"delete-model-button",children:"Delete Model"})]})]}),(0,s.jsxs)(X.Z,{children:[(0,s.jsxs)(ee.Z,{className:"mb-6",children:[(0,s.jsx)(Q.Z,{children:"Overview"}),(0,s.jsx)(Q.Z,{children:"Raw JSON"})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsxs)(el.Z,{children:[(0,s.jsxs)(i.Z,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6 mb-6",children:[(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(n.Z,{children:"Provider"}),(0,s.jsxs)("div",{className:"mt-2 flex items-center space-x-2",children:[er.provider&&(0,s.jsx)("img",{src:(0,m.dr)(er.provider).logo,alt:"".concat(er.provider," logo"),className:"w-4 h-4",onError:e=>{let l=e.currentTarget,t=l.parentElement;if(t&&t.contains(l))try{var s;let e=document.createElement("div");e.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=(null===(s=er.provider)||void 0===s?void 0:s.charAt(0))||"-",t.replaceChild(e,l)}catch(e){console.error("Failed to replace provider logo fallback:",e)}}}),(0,s.jsx)(eX.Z,{children:er.provider||"Not Set"})]})]}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(n.Z,{children:"LiteLLM Model"}),(0,s.jsx)("div",{className:"mt-2 overflow-hidden",children:(0,s.jsx)(A.Z,{title:er.litellm_model_name||"Not Set",children:(0,s.jsx)("div",{className:"break-all text-sm font-medium leading-relaxed cursor-pointer",children:er.litellm_model_name||"Not Set"})})})]}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(n.Z,{children:"Pricing"}),(0,s.jsxs)("div",{className:"mt-2",children:[(0,s.jsxs)(n.Z,{children:["Input: $",er.input_cost,"/1M tokens"]}),(0,s.jsxs)(n.Z,{children:["Output: $",er.output_cost,"/1M tokens"]})]})]})]}),(0,s.jsxs)("div",{className:"mb-6 text-sm text-gray-500 flex items-center gap-x-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-x-2",children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})}),"Created At"," ",er.model_info.created_at?new Date(er.model_info.created_at).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):"Not Set"]}),(0,s.jsxs)("div",{className:"flex items-center gap-x-2",children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})}),"Created By ",er.model_info.created_by||"Not Set"]})]}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(eX.Z,{children:"Model Settings"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[eG&&eB&&!eC&&(0,s.jsx)(eY.Z,{onClick:()=>eO(!0),className:"flex items-center",children:"Edit Auto Router"}),eB?!eC&&(0,s.jsx)(eY.Z,{onClick:()=>eS(!0),className:"flex items-center",children:"Edit Settings"}):(0,s.jsx)(A.Z,{title:"Only DB models can be edited. You must be an admin or the creator of the model to edit it.",children:(0,s.jsx)(eu.Z,{})})]})]}),eg?(0,s.jsx)(N.Z,{form:ep,onFinish:e6,initialValues:{model_name:eg.model_name,litellm_model_name:eg.litellm_model_name,api_base:eg.litellm_params.api_base,custom_llm_provider:eg.litellm_params.custom_llm_provider,organization:eg.litellm_params.organization,tpm:eg.litellm_params.tpm,rpm:eg.litellm_params.rpm,max_retries:eg.litellm_params.max_retries,timeout:eg.litellm_params.timeout,stream_timeout:eg.litellm_params.stream_timeout,input_cost:eg.litellm_params.input_cost_per_token?1e6*eg.litellm_params.input_cost_per_token:(null===(p=eg.model_info)||void 0===p?void 0:p.input_cost_per_token)*1e6||null,output_cost:(null===(g=eg.litellm_params)||void 0===g?void 0:g.output_cost_per_token)?1e6*eg.litellm_params.output_cost_per_token:(null===(f=eg.model_info)||void 0===f?void 0:f.output_cost_per_token)*1e6||null,cache_control:null!==(j=eg.litellm_params)&&void 0!==j&&!!j.cache_control_injection_points,cache_control_injection_points:(null===(_=eg.litellm_params)||void 0===_?void 0:_.cache_control_injection_points)||[],model_access_group:Array.isArray(null===(b=eg.model_info)||void 0===b?void 0:b.access_groups)?eg.model_info.access_groups:[],guardrails:Array.isArray(null===(Z=eg.litellm_params)||void 0===Z?void 0:Z.guardrails)?eg.litellm_params.guardrails:[],tags:Array.isArray(null===(w=eg.litellm_params)||void 0===w?void 0:w.tags)?eg.litellm_params.tags:[],health_check_model:le?null===(C=eg.model_info)||void 0===C?void 0:C.health_check_model:null,litellm_extra_params:JSON.stringify(eg.litellm_params||{},null,2)},layout:"vertical",onValuesChange:()=>eN(!0),children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Model Name"}),eC?(0,s.jsx)(N.Z.Item,{name:"model_name",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter model name"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:eg.model_name})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"LiteLLM Model Name"}),eC?(0,s.jsx)(N.Z.Item,{name:"litellm_model_name",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter LiteLLM model name"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:eg.litellm_model_name})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Input Cost (per 1M tokens)"}),eC?(0,s.jsx)(N.Z.Item,{name:"input_cost",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter input cost"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null==eg?void 0:null===(M=eg.litellm_params)||void 0===M?void 0:M.input_cost_per_token)?((null===(I=eg.litellm_params)||void 0===I?void 0:I.input_cost_per_token)*1e6).toFixed(4):(null==eg?void 0:null===(F=eg.model_info)||void 0===F?void 0:F.input_cost_per_token)?(1e6*eg.model_info.input_cost_per_token).toFixed(4):null})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Output Cost (per 1M tokens)"}),eC?(0,s.jsx)(N.Z.Item,{name:"output_cost",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter output cost"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null==eg?void 0:null===(P=eg.litellm_params)||void 0===P?void 0:P.output_cost_per_token)?(1e6*eg.litellm_params.output_cost_per_token).toFixed(4):(null==eg?void 0:null===(L=eg.model_info)||void 0===L?void 0:L.output_cost_per_token)?(1e6*eg.model_info.output_cost_per_token).toFixed(4):null})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"API Base"}),eC?(0,s.jsx)(N.Z.Item,{name:"api_base",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter API base"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(T=eg.litellm_params)||void 0===T?void 0:T.api_base)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Custom LLM Provider"}),eC?(0,s.jsx)(N.Z.Item,{name:"custom_llm_provider",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter custom LLM provider"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(R=eg.litellm_params)||void 0===R?void 0:R.custom_llm_provider)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Organization"}),eC?(0,s.jsx)(N.Z.Item,{name:"organization",className:"mb-0",children:(0,s.jsx)(eQ.Z,{placeholder:"Enter organization"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(V=eg.litellm_params)||void 0===V?void 0:V.organization)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"TPM (Tokens per Minute)"}),eC?(0,s.jsx)(N.Z.Item,{name:"tpm",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter TPM"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(D=eg.litellm_params)||void 0===D?void 0:D.tpm)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"RPM (Requests per Minute)"}),eC?(0,s.jsx)(N.Z.Item,{name:"rpm",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter RPM"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(z=eg.litellm_params)||void 0===z?void 0:z.rpm)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Max Retries"}),eC?(0,s.jsx)(N.Z.Item,{name:"max_retries",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter max retries"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(q=eg.litellm_params)||void 0===q?void 0:q.max_retries)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Timeout (seconds)"}),eC?(0,s.jsx)(N.Z.Item,{name:"timeout",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter timeout"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(B=eg.litellm_params)||void 0===B?void 0:B.timeout)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Stream Timeout (seconds)"}),eC?(0,s.jsx)(N.Z.Item,{name:"stream_timeout",className:"mb-0",children:(0,s.jsx)(eP.Z,{placeholder:"Enter stream timeout"})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(U=eg.litellm_params)||void 0===U?void 0:U.stream_timeout)||"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Model Access Groups"}),eC?(0,s.jsx)(N.Z.Item,{name:"model_access_group",className:"mb-0",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing groups or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],maxTagCount:"responsive",allowClear:!0,style:{width:"100%"},options:null==ex?void 0:ex.map(e=>({value:e,label:e}))})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(G=eg.model_info)||void 0===G?void 0:G.access_groups)?Array.isArray(eg.model_info.access_groups)?eg.model_info.access_groups.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:eg.model_info.access_groups.map((e,l)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-800",children:e},l))}):"No groups assigned":eg.model_info.access_groups:"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(n.Z,{className:"font-medium",children:["Guardrails",(0,s.jsx)(A.Z,{title:"Apply safety guardrails to this model to filter content or enforce policies",children:(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(eu.Z,{style:{marginLeft:"4px"}})})})]}),eC?(0,s.jsx)(N.Z.Item,{name:"guardrails",className:"mb-0",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing guardrails or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],maxTagCount:"responsive",allowClear:!0,style:{width:"100%"},options:eV.map(e=>({value:e,label:e}))})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(H=eg.litellm_params)||void 0===H?void 0:H.guardrails)?Array.isArray(eg.litellm_params.guardrails)?eg.litellm_params.guardrails.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:eg.litellm_params.guardrails.map((e,l)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-green-100 text-green-800",children:e},l))}):"No guardrails assigned":eg.litellm_params.guardrails:"Not Set"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Tags"}),eC?(0,s.jsx)(N.Z.Item,{name:"tags",className:"mb-0",children:(0,s.jsx)(k.default,{mode:"tags",showSearch:!0,placeholder:"Select existing tags or type to create new ones",optionFilterProp:"children",tokenSeparators:[","],maxTagCount:"responsive",allowClear:!0,style:{width:"100%"},options:Object.values(ez).map(e=>({value:e.name,label:e.name,title:e.description||e.name}))})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(K=eg.litellm_params)||void 0===K?void 0:K.tags)?Array.isArray(eg.litellm_params.tags)?eg.litellm_params.tags.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:eg.litellm_params.tags.map((e,l)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-purple-100 text-purple-800",children:e},l))}):"No tags assigned":eg.litellm_params.tags:"Not Set"})]}),le&&(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Health Check Model"}),eC?(0,s.jsx)(N.Z.Item,{name:"health_check_model",className:"mb-0",children:(0,s.jsx)(k.default,{showSearch:!0,placeholder:"Select existing health check model",optionFilterProp:"children",allowClear:!0,options:(()=>{var e;let l=new Set;return null==eH?void 0:null===(e=eH.data)||void 0===e?void 0:e.filter(e=>e.provider===er.litellm_model_name.split("/")[0]&&e.model_name!==er.litellm_model_name).filter(e=>!l.has(e.model_name)&&(l.add(e.model_name),!0)).map(e=>({value:e.model_name,label:e.model_name}))})()})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===(J=eg.model_info)||void 0===J?void 0:J.health_check_model)||"Not Set"})]}),eC?(0,s.jsx)(eT,{form:ep,showCacheControl:eE,onCacheControlChange:e=>eM(e)}):(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Cache Control"}),(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(null===($=eg.litellm_params)||void 0===$?void 0:$.cache_control_injection_points)?(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"Enabled"}),(0,s.jsx)("div",{className:"mt-2",children:eg.litellm_params.cache_control_injection_points.map((e,l)=>(0,s.jsxs)("div",{className:"text-sm text-gray-600 mb-1",children:["Location: ",e.location,",",e.role&&(0,s.jsxs)("span",{children:[" Role: ",e.role]}),void 0!==e.index&&(0,s.jsxs)("span",{children:[" Index: ",e.index]})]},l))})]}):"Disabled"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Model Info"}),eC?(0,s.jsx)(N.Z.Item,{name:"model_info",className:"mb-0",children:(0,s.jsx)(O.default.TextArea,{rows:4,placeholder:'{"gpt-4": 100, "claude-v1": 200}',defaultValue:JSON.stringify(er.model_info,null,2)})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(0,s.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(eg.model_info,null,2)})})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(n.Z,{className:"font-medium",children:["LiteLLM Params",(0,s.jsx)(A.Z,{title:"Optional litellm params used for making a litellm.completion() call. Some params are automatically added by LiteLLM.",children:(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(eu.Z,{style:{marginLeft:"4px"}})})})]}),eC?(0,s.jsx)(N.Z.Item,{name:"litellm_extra_params",rules:[{validator:eR.Ac}],children:(0,s.jsx)(O.default.TextArea,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}):(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:(0,s.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(eg.litellm_params,null,2)})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Team ID"}),(0,s.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:er.model_info.team_id||"Not Set"})]})]}),eC&&(0,s.jsxs)("div",{className:"mt-6 flex justify-end gap-2",children:[(0,s.jsx)(eY.Z,{variant:"secondary",onClick:()=>{ep.resetFields(),eN(!1),eS(!1)},disabled:eZ,children:"Cancel"}),(0,s.jsx)(eY.Z,{variant:"primary",onClick:()=>ep.submit(),loading:eZ,children:"Save Changes"})]})]})}):(0,s.jsx)(n.Z,{children:"Loading..."})]})]}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(e$.Z,{children:(0,s.jsx)("pre",{className:"bg-gray-100 p-4 rounded text-xs overflow-auto",children:JSON.stringify(er,null,2)})})})]})]}),ej&&(0,s.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,s.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,s.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,s.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,s.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,s.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,s.jsx)("div",{className:"sm:flex sm:items-start",children:(0,s.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,s.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Model"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this model?"})})]})})}),(0,s.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,s.jsx)(E.ZP,{onClick:e9,className:"ml-2",danger:!0,children:"Delete"}),(0,s.jsx)(E.ZP,{onClick:()=>ev(!1),children:"Cancel"})]})]})]})}),e_&&!eK?(0,s.jsx)(e3,{isVisible:e_,onCancel:()=>ey(!1),onAddCredential:e5,existingCredential:ek,setIsCredentialModalOpen:ey}):(0,s.jsx)(S.Z,{open:e_,onCancel:()=>ey(!1),title:"Using Existing Credential",children:(0,s.jsx)(n.Z,{children:er.litellm_params.litellm_credential_name})}),(0,s.jsx)(e4,{isVisible:eL,onCancel:()=>eO(!1),onSuccess:e=>{ef(e),eh&&eh(e)},modelData:eg||er,accessToken:ei||"",userRole:eo||""})]})}var e9=t(33293),e7=t(11318),le=t(8048),ll=t(41649);let lt=e=>{let{provider:l,className:t="w-4 h-4"}=e,[a,r]=(0,o.useState)(!1),{logo:i}=(0,m.dr)(l);return a||!i?(0,s.jsx)("div",{className:"".concat(t," rounded-full bg-gray-200 flex items-center justify-center text-xs"),children:(null==l?void 0:l.charAt(0))||"-"}):(0,s.jsx)("img",{src:i,alt:"".concat(l," logo"),className:t,onError:()=>r(!0)})},ls=(e,l,t,a,r,i,n,o,d,c,m)=>[{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Model ID"}),accessorKey:"model_info.id",cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)(A.Z,{title:t.model_info.id,children:(0,s.jsx)("div",{className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",onClick:()=>a(t.model_info.id),children:t.model_info.id})})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Model Information"}),accessorKey:"model_name",size:250,cell:e=>{let{row:l}=e,t=l.original,a=i(l.original)||"-",r=(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Provider:"})," ",t.provider||"-"]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Public Model Name:"})," ",a]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"LiteLLM Model Name:"})," ",t.litellm_model_name||"-"]})]});return(0,s.jsx)(A.Z,{title:r,children:(0,s.jsxs)("div",{className:"flex items-start space-x-2 min-w-0 w-full max-w-[250px]",children:[(0,s.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:t.provider?(0,s.jsx)(lt,{provider:t.provider}):(0,s.jsx)("div",{className:"w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",children:"-"})}),(0,s.jsxs)("div",{className:"flex flex-col min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"text-xs font-medium text-gray-900 truncate max-w-[210px]",children:a}),(0,s.jsx)("div",{className:"text-xs text-gray-500 truncate mt-0.5 max-w-[210px]",children:t.litellm_model_name||"-"})]})]})})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Credentials"}),accessorKey:"litellm_credential_name",size:180,cell:e=>{var l;let{row:t}=e,a=null===(l=t.original.litellm_params)||void 0===l?void 0:l.litellm_credential_name;return a?(0,s.jsx)(A.Z,{title:"Credential: ".concat(a),children:(0,s.jsxs)("div",{className:"flex items-center space-x-2 max-w-[180px]",children:[(0,s.jsx)(eW.Z,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),(0,s.jsx)("span",{className:"text-xs truncate",title:a,children:a})]})}):(0,s.jsxs)("div",{className:"flex items-center space-x-2 max-w-[180px]",children:[(0,s.jsx)(eW.Z,{className:"w-4 h-4 text-gray-300 flex-shrink-0"}),(0,s.jsx)("span",{className:"text-xs text-gray-400",children:"No credentials"})]})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Created By"}),accessorKey:"model_info.created_by",sortingFn:"datetime",size:160,cell:e=>{var l;let{row:t}=e,a=t.original,r=!(null===(l=a.model_info)||void 0===l?void 0:l.db_model),i=a.model_info.created_by,n=a.model_info.created_at?new Date(a.model_info.created_at).toLocaleDateString():null;return(0,s.jsxs)("div",{className:"flex flex-col min-w-0 max-w-[160px]",children:[(0,s.jsx)("div",{className:"text-xs font-medium text-gray-900 truncate",title:r?"Defined in config":i||"Unknown",children:r?"Defined in config":i||"Unknown"}),(0,s.jsx)("div",{className:"text-xs text-gray-500 truncate mt-0.5",title:r?"Config file":n||"Unknown date",children:r?"-":n||"Unknown date"})]})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Updated At"}),accessorKey:"model_info.updated_at",sortingFn:"datetime",cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)("span",{className:"text-xs",children:t.model_info.updated_at?new Date(t.model_info.updated_at).toLocaleDateString():"-"})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Costs"}),accessorKey:"input_cost",size:120,cell:e=>{let{row:l}=e,t=l.original,a=t.input_cost,r=t.output_cost;return a||r?(0,s.jsx)(A.Z,{title:"Cost per 1M tokens",children:(0,s.jsxs)("div",{className:"flex flex-col min-w-0 max-w-[120px]",children:[a&&(0,s.jsxs)("div",{className:"text-xs font-medium text-gray-900 truncate",children:["In: $",a]}),r&&(0,s.jsxs)("div",{className:"text-xs text-gray-500 truncate mt-0.5",children:["Out: $",r]})]})}):(0,s.jsx)("div",{className:"max-w-[120px]",children:(0,s.jsx)("span",{className:"text-xs text-gray-400",children:"-"})})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Team ID"}),accessorKey:"model_info.team_id",cell:e=>{let{row:l}=e,t=l.original;return t.model_info.team_id?(0,s.jsx)("div",{className:"overflow-hidden",children:(0,s.jsx)(A.Z,{title:t.model_info.team_id,children:(0,s.jsxs)(eY.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>r(t.model_info.team_id),children:[t.model_info.team_id.slice(0,7),"..."]})})}):"-"}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Model Access Group"}),accessorKey:"model_info.model_access_group",enableSorting:!1,cell:e=>{let{row:l}=e,t=l.original,a=t.model_info.access_groups;if(!a||0===a.length)return"-";let r=t.model_info.id,i=c.has(r),n=a.length>1,o=()=>{let e=new Set(c);i?e.delete(r):e.add(r),m(e)};return(0,s.jsxs)("div",{className:"flex items-center gap-1 overflow-hidden",children:[(0,s.jsx)(ll.Z,{size:"xs",color:"blue",className:"text-xs px-1.5 py-0.5 h-5 leading-tight flex-shrink-0",children:a[0]}),(i||!n&&2===a.length)&&a.slice(1).map((e,l)=>(0,s.jsx)(ll.Z,{size:"xs",color:"blue",className:"text-xs px-1.5 py-0.5 h-5 leading-tight flex-shrink-0",children:e},l+1)),n&&(0,s.jsx)("button",{onClick:e=>{e.stopPropagation(),o()},className:"text-xs text-blue-600 hover:text-blue-800 px-1 py-0.5 rounded hover:bg-blue-50 h-5 leading-tight flex-shrink-0 whitespace-nowrap",children:i?"−":"+".concat(a.length-1)})]})}},{header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Status"}),accessorKey:"model_info.db_model",cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)("div",{className:"\n inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium\n ".concat(t.model_info.db_model?"bg-blue-50 text-blue-600":"bg-gray-100 text-gray-600","\n "),children:t.model_info.db_model?"DB Model":"Config Model"})}},{id:"actions",header:()=>(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Actions"}),cell:t=>{var r,i;let{row:n}=t,o=n.original,c="Admin"===e||(null===(r=o.model_info)||void 0===r?void 0:r.created_by)===l,m=!(null===(i=o.model_info)||void 0===i?void 0:i.db_model);return(0,s.jsx)("div",{className:"flex items-center justify-end gap-2 pr-4",children:m?(0,s.jsx)(A.Z,{title:"Config model cannot be deleted on the dashboard. Please delete it from the config file.",children:(0,s.jsx)($.Z,{icon:y.Z,size:"sm",className:"opacity-50 cursor-not-allowed"})}):(0,s.jsx)(A.Z,{title:"Delete model",children:(0,s.jsx)($.Z,{icon:y.Z,size:"sm",onClick:()=>{c&&(a(o.model_info.id),d(!1))},className:c?"cursor-pointer hover:text-red-600":"opacity-50 cursor-not-allowed"})})})}}];var la=t(27281),lr=t(57365),li=e=>{let{selectedModelGroup:l,setSelectedModelGroup:t,availableModelGroups:a,availableModelAccessGroups:r,setSelectedModelId:d,setSelectedTeamId:c,setEditModel:m,modelData:u}=e,{userId:h,userRole:x,premiumUser:p}=(0,K.Z)(),{teams:g}=(0,e7.Z)(),[f,j]=(0,o.useState)(""),[v,_]=(0,o.useState)("current_team"),[y,b]=(0,o.useState)("personal"),[N,Z]=(0,o.useState)(!1),[w,C]=(0,o.useState)(null),[S,k]=(0,o.useState)(new Set),[A,E]=(0,o.useState)({pageIndex:0,pageSize:50}),M=(0,o.useRef)(null),I=(0,o.useMemo)(()=>u&&u.data&&0!==u.data.length?u.data.filter(e=>{var t,s,a,r,i,n;let o=""===f||e.model_name.toLowerCase().includes(f.toLowerCase()),d="all"===l||e.model_name===l||!l||"wildcard"===l&&(null===(t=e.model_name)||void 0===t?void 0:t.includes("*")),c="all"===w||(null===(s=e.model_info.access_groups)||void 0===s?void 0:s.includes(w))||!w,m=!0;if("current_team"===v){if("personal"===y)m=(null===(a=e.model_info)||void 0===a?void 0:a.direct_access)===!0;else{let l=(null===(i=e.model_info)||void 0===i?void 0:null===(r=i.access_via_team_ids)||void 0===r?void 0:r.includes(y.team_id))===!0,t=(null===(n=y.models)||void 0===n?void 0:n.some(l=>{var t,s;return null===(s=e.model_info)||void 0===s?void 0:null===(t=s.access_groups)||void 0===t?void 0:t.includes(l)}))===!0;m=l||t}}return o&&d&&c&&m}):[],[u,f,l,w,y,v]),F=(0,o.useMemo)(()=>{let e=A.pageIndex*A.pageSize,l=e+A.pageSize;return I.slice(e,l)},[I,A.pageIndex,A.pageSize]);return(0,o.useEffect)(()=>{E(e=>({...e,pageIndex:0}))},[f,l,w,y,v]),(0,s.jsx)(el.Z,{children:(0,s.jsx)(i.Z,{children:(0,s.jsx)("div",{className:"flex flex-col space-y-4",children:(0,s.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,s.jsxs)("div",{className:"border-b px-6 py-4 bg-gray-50",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)(n.Z,{className:"text-lg font-semibold text-gray-900",children:"Current Team:"}),(0,s.jsxs)(la.Z,{className:"w-80",defaultValue:"personal",value:"personal"===y?"personal":y.team_id,onValueChange:e=>{if("personal"===e)b("personal");else{let l=null==g?void 0:g.find(l=>l.team_id===e);l&&b(l)}},children:[(0,s.jsx)(lr.Z,{value:"personal",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-blue-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:"Personal"})]})}),null==g?void 0:g.filter(e=>e.team_id).map(e=>(0,s.jsx)(lr.Z,{value:e.team_id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:e.team_alias?"".concat(e.team_alias.slice(0,30),"..."):"Team ".concat(e.team_id.slice(0,30),"...")})]})},e.team_id))]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)(n.Z,{className:"text-lg font-semibold text-gray-900",children:"View:"}),(0,s.jsxs)(la.Z,{className:"w-64",defaultValue:"current_team",value:v,onValueChange:e=>_(e),children:[(0,s.jsx)(lr.Z,{value:"current_team",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-purple-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:"Current Team Models"})]})}),(0,s.jsx)(lr.Z,{value:"all",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-gray-500 rounded-full"}),(0,s.jsx)("span",{className:"font-medium",children:"All Available Models"})]})})]})]})]}),"current_team"===v&&(0,s.jsxs)("div",{className:"flex items-start gap-2 mt-3",children:[(0,s.jsx)(eu.Z,{className:"text-gray-400 mt-0.5 flex-shrink-0 text-xs"}),(0,s.jsx)("div",{className:"text-xs text-gray-500",children:"personal"===y?(0,s.jsxs)("span",{children:["To access these models: Create a Virtual Key without selecting a team on the"," ",(0,s.jsx)("a",{href:"/public?login=success&page=api-keys",className:"text-gray-600 hover:text-gray-800 underline",children:"Virtual Keys page"})]}):(0,s.jsxs)("span",{children:['To access these models: Create a Virtual Key and select Team as "',"string"!=typeof y?y.team_alias||y.team_id:"",'" on the'," ",(0,s.jsx)("a",{href:"/public?login=success&page=api-keys",className:"text-gray-600 hover:text-gray-800 underline",children:"Virtual Keys page"})]})})]})]}),(0,s.jsx)("div",{className:"border-b px-6 py-4",children:(0,s.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,s.jsxs)("div",{className:"relative w-64",children:[(0,s.jsx)("input",{type:"text",placeholder:"Search model names...",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:f,onChange:e=>j(e.target.value)}),(0,s.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,s.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 ".concat(N?"bg-gray-100":""),onClick:()=>Z(!N),children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"})}),"Filters"]}),(0,s.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",onClick:()=>{j(""),t("all"),C(null),b("personal"),_("current_team"),E({pageIndex:0,pageSize:50})},children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),"Reset Filters"]})]}),N&&(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-3",children:[(0,s.jsx)("div",{className:"w-64",children:(0,s.jsxs)(la.Z,{value:null!=l?l:"all",onValueChange:e=>t("all"===e?"all":e),placeholder:"Filter by Public Model Name",children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Models"}),(0,s.jsx)(lr.Z,{value:"wildcard",children:"Wildcard Models (*)"}),a.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,children:e},l))]})}),(0,s.jsx)("div",{className:"w-64",children:(0,s.jsxs)(la.Z,{value:null!=w?w:"all",onValueChange:e=>C("all"===e?null:e),placeholder:"Filter by Model Access Group",children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Model Access Groups"}),r.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,children:e},l))]})})]}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("span",{className:"text-sm text-gray-700",children:I.length>0?"Showing ".concat(A.pageIndex*A.pageSize+1," - ").concat(Math.min((A.pageIndex+1)*A.pageSize,I.length)," of ").concat(I.length," results"):"Showing 0 results"}),I.length>A.pageSize&&(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("button",{onClick:()=>E(e=>({...e,pageIndex:e.pageIndex-1})),disabled:0===A.pageIndex,className:"px-3 py-1 text-sm border rounded-md ".concat(0===A.pageIndex?"bg-gray-100 text-gray-400 cursor-not-allowed":"hover:bg-gray-50"),children:"Previous"}),(0,s.jsx)("button",{onClick:()=>E(e=>({...e,pageIndex:e.pageIndex+1})),disabled:A.pageIndex>=Math.ceil(I.length/A.pageSize)-1,className:"px-3 py-1 text-sm border rounded-md ".concat(A.pageIndex>=Math.ceil(I.length/A.pageSize)-1?"bg-gray-100 text-gray-400 cursor-not-allowed":"hover:bg-gray-50"),children:"Next"})]})]})]})}),(0,s.jsx)(le.C,{columns:ls(x,h,p,d,c,W,()=>{},()=>{},m,S,k),data:F,isLoading:!1,table:M})]})})})})},ln=t(75105),lo=t(40278),ld=t(97765),lc=t(21626),lm=t(97214),lu=t(28241),lh=t(58834),lx=t(69552),lp=t(71876),lg=t(39789),lf=t(79326),lj=t(2356),lv=t(59664),l_=e=>{let{modelMetrics:l,modelMetricsCategories:t,customTooltip:a,premiumUser:r}=e;return(0,s.jsx)(lv.Z,{title:"Time to First token (s)",className:"h-72",data:l,index:"date",showLegend:!1,categories:t,colors:["indigo","rose"],connectNulls:!0,customTooltip:a})},ly=e=>{let{setSelectedAPIKey:l,keys:t,teams:a,setSelectedCustomer:r,allEndUsers:i}=e,{premiumUser:d}=(0,K.Z)(),[c,m]=(0,o.useState)(null);return(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"mb-1",children:"Select API Key Name"}),d?(0,s.jsxs)("div",{children:[(0,s.jsxs)(la.Z,{defaultValue:"all-keys",children:[(0,s.jsx)(lr.Z,{value:"all-keys",onClick:()=>{l(null)},children:"All Keys"},"all-keys"),null==t?void 0:t.map((e,t)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,s.jsx)(lr.Z,{value:String(t),onClick:()=>{l(e)},children:e.key_alias},t):null)]}),(0,s.jsx)(n.Z,{className:"mt-1",children:"Select Customer Name"}),(0,s.jsxs)(la.Z,{defaultValue:"all-customers",children:[(0,s.jsx)(lr.Z,{value:"all-customers",onClick:()=>{r(null)},children:"All Customers"},"all-customers"),null==i?void 0:i.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,onClick:()=>{r(e)},children:e},l))]}),(0,s.jsx)(n.Z,{className:"mt-1",children:"Select Team"}),(0,s.jsxs)(la.Z,{className:"w-64 relative z-50",defaultValue:"all",value:null!=c?c:"all",onValueChange:e=>m("all"===e?null:e),children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Teams"}),null==a?void 0:a.filter(e=>e.team_id).map(e=>(0,s.jsx)(lr.Z,{value:e.team_id,children:e.team_alias?"".concat(e.team_alias," (").concat(e.team_id.slice(0,8),"...)"):"Team ".concat(e.team_id.slice(0,8),"...")},e.team_id))]})]}):(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"mt-1",children:"Select Team"}),(0,s.jsxs)(la.Z,{className:"w-64 relative z-50",defaultValue:"all",value:null!=c?c:"all",onValueChange:e=>m("all"===e?null:e),children:[(0,s.jsx)(lr.Z,{value:"all",children:"All Teams"}),null==a?void 0:a.filter(e=>e.team_id).map(e=>(0,s.jsx)(lr.Z,{value:e.team_id,children:e.team_alias?"".concat(e.team_alias," (").concat(e.team_id.slice(0,8),"...)"):"Team ".concat(e.team_id.slice(0,8),"...")},e.team_id))]})]})]})},lb=e=>{let{dateValue:l,setDateValue:t,selectedModelGroup:a,availableModelGroups:d,setShowAdvancedFilters:m,modelMetrics:u,modelMetricsCategories:h,streamingModelMetrics:x,streamingModelMetricsCategories:p,customTooltip:g,slowResponsesData:f,modelExceptions:j,globalExceptionData:v,allExceptions:_,globalExceptionPerDeployment:y,setSelectedAPIKey:b,keys:N,setSelectedCustomer:Z,teams:w,allEndUsers:C,selectedAPIKey:S,selectedCustomer:k,selectedTeam:A,setSelectedModelGroup:E,setModelMetrics:M,setModelMetricsCategories:I,setStreamingModelMetrics:F,setStreamingModelMetricsCategories:P,setSlowResponsesData:L,setModelExceptions:T,setAllExceptions:R,setGlobalExceptionData:O,setGlobalExceptionPerDeployment:V}=e,{accessToken:D,userId:z,userRole:q,premiumUser:B}=(0,K.Z)();(0,o.useEffect)(()=>{U(a,l.from,l.to)},[S,k,A]);let U=async(e,l,t)=>{if(console.log("Updating model metrics for group:",e),!D||!z||!q||!l||!t)return;console.log("inside updateModelMetrics - startTime:",l,"endTime:",t),E(e);let s=null==S?void 0:S.token;void 0===s&&(s=null);let a=k;void 0===a&&(a=null);try{let r=await (0,c.modelMetricsCall)(D,z,q,e,l.toISOString(),t.toISOString(),s,a);console.log("Model metrics response:",r),M(r.data),I(r.all_api_bases);let i=await (0,c.streamingModelMetricsCall)(D,e,l.toISOString(),t.toISOString());F(i.data),P(i.all_api_bases);let n=await (0,c.modelExceptionsCall)(D,z,q,e,l.toISOString(),t.toISOString(),s,a);console.log("Model exceptions response:",n),T(n.data),R(n.exception_types);let o=await (0,c.modelMetricsSlowResponsesCall)(D,z,q,e,l.toISOString(),t.toISOString(),s,a);if(console.log("slowResponses:",o),L(o),e){let s=await (0,c.adminGlobalActivityExceptions)(D,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);O(s);let a=await (0,c.adminGlobalActivityExceptionsPerDeployment)(D,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);V(a)}}catch(e){console.error("Failed to fetch model metrics",e)}};return(0,s.jsxs)(el.Z,{children:[(0,s.jsx)("div",{className:"mb-4 rounded-md border border-red-500 bg-red-50 p-4",children:(0,s.jsx)(n.Z,{className:"font-semibold text-red-700",children:"This page is deprecated and will be removed in the future. Some functionality may not work as expected."})}),(0,s.jsxs)(i.Z,{numItems:4,className:"mt-2 mb-2",children:[(0,s.jsx)(r.Z,{children:(0,s.jsx)(lg.Z,{value:l,className:"mr-2",onValueChange:e=>{t(e),U(a,e.from,e.to)}})}),(0,s.jsxs)(r.Z,{className:"ml-2",children:[(0,s.jsx)(n.Z,{children:"Select Model Group"}),(0,s.jsx)(la.Z,{defaultValue:a||d[0],value:a||d[0],children:d.map((e,t)=>(0,s.jsx)(lr.Z,{value:e,onClick:()=>U(e,l.from,l.to),children:e},t))})]}),(0,s.jsx)(r.Z,{children:(0,s.jsx)(lf.Z,{trigger:"click",content:(0,s.jsx)(ly,{allEndUsers:C,keys:N,setSelectedAPIKey:b,setSelectedCustomer:Z,teams:w}),overlayStyle:{width:"20vw"},children:(0,s.jsx)(eY.Z,{icon:lj.Z,size:"md",variant:"secondary",className:"mt-4 ml-2",style:{border:"none"},onClick:()=>m(!0)})})})]}),(0,s.jsxs)(i.Z,{numItems:2,children:[(0,s.jsx)(r.Z,{children:(0,s.jsx)(e$.Z,{className:"mr-2 max-h-[400px] min-h-[400px]",children:(0,s.jsxs)(X.Z,{children:[(0,s.jsxs)(ee.Z,{variant:"line",defaultValue:"1",children:[(0,s.jsx)(Q.Z,{value:"1",children:"Avg. Latency per Token"}),(0,s.jsx)(Q.Z,{value:"2",children:"Time to first token"})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsxs)(el.Z,{children:[(0,s.jsx)("p",{className:"text-gray-500 italic",children:" (seconds/token)"}),(0,s.jsx)(n.Z,{className:"text-gray-500 italic mt-1 mb-1",children:"average Latency for successfull requests divided by the total tokens"}),u&&h&&(0,s.jsx)(ln.Z,{title:"Model Latency",className:"h-72",data:u,showLegend:!1,index:"date",categories:h,connectNulls:!0,customTooltip:g})]}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(l_,{modelMetrics:x,modelMetricsCategories:p,customTooltip:g,premiumUser:B})})]})]})})}),(0,s.jsx)(r.Z,{children:(0,s.jsx)(e$.Z,{className:"ml-2 max-h-[400px] min-h-[400px] overflow-y-auto",children:(0,s.jsxs)(lc.Z,{children:[(0,s.jsx)(lh.Z,{children:(0,s.jsxs)(lp.Z,{children:[(0,s.jsx)(lx.Z,{children:"Deployment"}),(0,s.jsx)(lx.Z,{children:"Success Responses"}),(0,s.jsxs)(lx.Z,{children:["Slow Responses ",(0,s.jsx)("p",{children:"Success Responses taking 600+s"})]})]})}),(0,s.jsx)(lm.Z,{children:f.map((e,l)=>(0,s.jsxs)(lp.Z,{children:[(0,s.jsx)(lu.Z,{children:e.api_base}),(0,s.jsx)(lu.Z,{children:e.total_count}),(0,s.jsx)(lu.Z,{children:e.slow_count})]},l))})]})})})]}),(0,s.jsx)(i.Z,{numItems:1,className:"gap-2 w-full mt-2",children:(0,s.jsxs)(e$.Z,{children:[(0,s.jsxs)(eX.Z,{children:["All Exceptions for ",a]}),(0,s.jsx)(lo.Z,{className:"h-60",data:j,index:"model",categories:_,stack:!0,yAxisWidth:30})]})}),(0,s.jsxs)(i.Z,{numItems:1,className:"gap-2 w-full mt-2",children:[(0,s.jsxs)(e$.Z,{children:[(0,s.jsxs)(eX.Z,{children:["All Up Rate Limit Errors (429) for ",a]}),(0,s.jsxs)(i.Z,{numItems:1,children:[(0,s.jsxs)(r.Z,{children:[(0,s.jsxs)(ld.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",v.sum_num_rate_limit_exceptions]}),(0,s.jsx)(lo.Z,{className:"h-40",data:v.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]}),(0,s.jsx)(r.Z,{})]})]}),B?(0,s.jsx)(s.Fragment,{children:y.map((e,l)=>(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(eX.Z,{children:e.api_base?e.api_base:"Unknown API Base"}),(0,s.jsx)(i.Z,{numItems:1,children:(0,s.jsxs)(r.Z,{children:[(0,s.jsxs)(ld.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors (429) ",e.sum_num_rate_limit_exceptions]}),(0,s.jsx)(lo.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]},l))}):(0,s.jsx)(s.Fragment,{children:y&&y.length>0&&y.slice(0,1).map((e,l)=>(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(eX.Z,{children:"✨ Rate Limit Errors by Deployment"}),(0,s.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see exceptions for all deployments"}),(0,s.jsx)(eY.Z,{variant:"primary",className:"mb-2",children:(0,s.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,s.jsxs)(e$.Z,{children:[(0,s.jsx)(eX.Z,{children:e.api_base}),(0,s.jsx)(i.Z,{numItems:1,children:(0,s.jsxs)(r.Z,{children:[(0,s.jsxs)(ld.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",e.sum_num_rate_limit_exceptions]}),(0,s.jsx)(lo.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]})]},l))})]})]})};let lN={"BadRequestError (400)":"BadRequestErrorRetries","AuthenticationError (401)":"AuthenticationErrorRetries","TimeoutError (408)":"TimeoutErrorRetries","RateLimitError (429)":"RateLimitErrorRetries","ContentPolicyViolationError (400)":"ContentPolicyViolationErrorRetries","InternalServerError (500)":"InternalServerErrorRetries"};var lZ=e=>{let{selectedModelGroup:l,setSelectedModelGroup:t,availableModelGroups:a,globalRetryPolicy:r,setGlobalRetryPolicy:i,defaultRetry:o,modelGroupRetryPolicy:d,setModelGroupRetryPolicy:c,handleSaveRetrySettings:m}=e;return(0,s.jsxs)(el.Z,{children:[(0,s.jsx)("div",{className:"flex items-center gap-4 mb-6",children:(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(n.Z,{children:"Retry Policy Scope:"}),(0,s.jsxs)(la.Z,{className:"ml-2 w-48",defaultValue:"global",value:"global"===l?"global":l||a[0],onValueChange:e=>t(e),children:[(0,s.jsx)(lr.Z,{value:"global",children:"Global Default"}),a.map((e,l)=>(0,s.jsx)(lr.Z,{value:e,onClick:()=>t(e),children:e},l))]})]})}),"global"===l?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eX.Z,{children:"Global Retry Policy"}),(0,s.jsx)(n.Z,{className:"mb-6",children:"Default retry settings applied to all model groups unless overridden"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(eX.Z,{children:["Retry Policy for ",l]}),(0,s.jsx)(n.Z,{className:"mb-6",children:"Model-specific retry settings. Falls back to global defaults if not set."})]}),lN&&(0,s.jsx)("table",{children:(0,s.jsx)("tbody",{children:Object.entries(lN).map((e,t)=>{var a,m,u,h;let x,[p,g]=e;if("global"===l)x=null!==(a=null==r?void 0:r[g])&&void 0!==a?a:o;else{let e=null==d?void 0:null===(m=d[l])||void 0===m?void 0:m[g];x=null!=e?e:null!==(u=null==r?void 0:r[g])&&void 0!==u?u:o}return(0,s.jsxs)("tr",{className:"flex justify-between items-center mt-2",children:[(0,s.jsxs)("td",{children:[(0,s.jsx)(n.Z,{children:p}),"global"!==l&&(0,s.jsxs)(n.Z,{className:"text-xs text-gray-500 ml-2",children:["(Global: ",null!==(h=null==r?void 0:r[g])&&void 0!==h?h:o,")"]})]}),(0,s.jsx)("td",{children:(0,s.jsx)(ej.Z,{className:"ml-5",value:x,min:0,step:1,onChange:e=>{"global"===l?i(l=>null==e?l:{...null!=l?l:{},[g]:e}):c(t=>{var s;let a=null!==(s=null==t?void 0:t[l])&&void 0!==s?s:{};return{...null!=t?t:{},[l]:{...a,[g]:e}}})}})})]},t)})})}),(0,s.jsx)(eY.Z,{className:"mt-6 mr-8",onClick:m,children:"Save"})]})},lw=t(58760),lC=t(867),lS=t(3810),lk=t(89245),lA=t(5540),lE=t(8881);let{Text:lM}=C.default;var lI=e=>{let{accessToken:l,onReloadSuccess:t,buttonText:a="Reload Price Data",showIcon:r=!0,size:i="middle",type:n="primary",className:m=""}=e,[u,h]=(0,o.useState)(!1),[x,p]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),[j,v]=(0,o.useState)(!1),[_,y]=(0,o.useState)(6),[b,N]=(0,o.useState)(null),[Z,w]=(0,o.useState)(!1);(0,o.useEffect)(()=>{C();let e=setInterval(()=>{C()},3e4);return()=>clearInterval(e)},[l]);let C=async()=>{if(l){w(!0);try{console.log("Fetching reload status...");let e=await (0,c.getModelCostMapReloadStatus)(l);console.log("Received status:",e),N(e)}catch(e){console.error("Failed to fetch reload status:",e),N({scheduled:!1,interval_hours:null,last_run:null,next_run:null})}finally{w(!1)}}},k=async()=>{if(!l){d.Z.fromBackend("No access token available");return}h(!0);try{let e=await (0,c.reloadModelCostMap)(l);"success"===e.status?(d.Z.success("Price data reloaded successfully! ".concat(e.models_count||0," models updated.")),null==t||t(),await C()):d.Z.fromBackend("Failed to reload price data")}catch(e){console.error("Error reloading price data:",e),d.Z.fromBackend("Failed to reload price data. Please try again.")}finally{h(!1)}},A=async()=>{if(!l){d.Z.fromBackend("No access token available");return}if(_<=0){d.Z.fromBackend("Hours must be greater than 0");return}p(!0);try{let e=await (0,c.scheduleModelCostMapReload)(l,_);"success"===e.status?(d.Z.success("Periodic reload scheduled for every ".concat(_," hours")),v(!1),await C()):d.Z.fromBackend("Failed to schedule periodic reload")}catch(e){console.error("Error scheduling reload:",e),d.Z.fromBackend("Failed to schedule periodic reload. Please try again.")}finally{p(!1)}},M=async()=>{if(!l){d.Z.fromBackend("No access token available");return}f(!0);try{let e=await (0,c.cancelModelCostMapReload)(l);"success"===e.status?(d.Z.success("Periodic reload cancelled successfully"),await C()):d.Z.fromBackend("Failed to cancel periodic reload")}catch(e){console.error("Error cancelling reload:",e),d.Z.fromBackend("Failed to cancel periodic reload. Please try again.")}finally{f(!1)}},I=e=>{if(!e)return"Never";try{return new Date(e).toLocaleString()}catch(l){return e}};return(0,s.jsxs)("div",{className:m,children:[(0,s.jsxs)(lw.Z,{direction:"horizontal",size:"middle",style:{marginBottom:16},children:[(0,s.jsx)(lC.Z,{title:"Hard Refresh Price Data",description:"This will immediately fetch the latest pricing information from the remote source. Continue?",onConfirm:k,okText:"Yes",cancelText:"No",okButtonProps:{style:{backgroundColor:"#6366f1",borderColor:"#6366f1",color:"white",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem",transition:"all 0.2s ease-in-out"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#4f46e5"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#6366f1"}},children:(0,s.jsx)(E.ZP,{type:n,size:i,loading:u,icon:r?(0,s.jsx)(lk.Z,{}):void 0,style:{backgroundColor:"#6366f1",borderColor:"#6366f1",color:"white",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem",transition:"all 0.2s ease-in-out"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#4f46e5"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#6366f1"},children:a})}),(null==b?void 0:b.scheduled)?(0,s.jsx)(E.ZP,{type:"default",size:i,danger:!0,icon:(0,s.jsx)(lE.Z,{}),loading:g,onClick:M,style:{borderColor:"#ff4d4f",color:"#ff4d4f",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem"},children:"Cancel Periodic Reload"}):(0,s.jsx)(E.ZP,{type:"default",size:i,icon:(0,s.jsx)(lA.Z,{}),onClick:()=>v(!0),style:{borderColor:"#d9d9d9",color:"#6366f1",fontWeight:"500",borderRadius:"0.375rem",padding:"0.375rem 0.75rem",height:"auto",fontSize:"0.875rem",lineHeight:"1.25rem"},children:"Set Up Periodic Reload"})]}),b&&(0,s.jsx)(er.Z,{size:"small",style:{backgroundColor:"#f8f9fa",border:"1px solid #e9ecef",borderRadius:8},children:(0,s.jsxs)(lw.Z,{direction:"vertical",size:"small",style:{width:"100%"},children:[b.scheduled?(0,s.jsx)("div",{children:(0,s.jsxs)(lS.Z,{color:"green",icon:(0,s.jsx)(lA.Z,{}),children:["Scheduled every ",b.interval_hours," hours"]})}):(0,s.jsx)(lM,{type:"secondary",children:"No periodic reload scheduled"}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(lM,{type:"secondary",style:{fontSize:"12px"},children:"Last run:"}),(0,s.jsx)(lM,{style:{fontSize:"12px"},children:I(b.last_run)})]}),b.scheduled&&(0,s.jsxs)(s.Fragment,{children:[b.next_run&&(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(lM,{type:"secondary",style:{fontSize:"12px"},children:"Next run:"}),(0,s.jsx)(lM,{style:{fontSize:"12px"},children:I(b.next_run)})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(lM,{type:"secondary",style:{fontSize:"12px"},children:"Status:"}),(0,s.jsx)(lS.Z,{color:(null==b?void 0:b.scheduled)?b.last_run?"success":"processing":"default",children:(null==b?void 0:b.scheduled)?b.last_run?"Active":"Ready":"Not scheduled"})]})]})]})}),(0,s.jsxs)(S.Z,{title:"Set Up Periodic Reload",open:j,onOk:A,onCancel:()=>v(!1),confirmLoading:x,okText:"Schedule",cancelText:"Cancel",okButtonProps:{style:{backgroundColor:"#6366f1",borderColor:"#6366f1",color:"white"}},children:[(0,s.jsx)("div",{style:{marginBottom:16},children:(0,s.jsx)(lM,{children:"Set up automatic reload of price data every:"})}),(0,s.jsx)("div",{style:{marginBottom:16},children:(0,s.jsx)(ej.Z,{min:1,max:168,value:_,onChange:e=>y(e||6),addonAfter:"hours",style:{width:"100%"}})}),(0,s.jsx)("div",{children:(0,s.jsxs)(lM,{type:"secondary",children:["This will automatically fetch the latest pricing data from the remote source every ",_," hours."]})})]})]})},lF=e=>{let{setModelMap:l}=e,{accessToken:t}=(0,K.Z)();return(0,s.jsx)(el.Z,{children:(0,s.jsxs)("div",{className:"p-6",children:[(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsx)(eX.Z,{children:"Price Data Management"}),(0,s.jsx)(n.Z,{className:"text-tremor-content",children:"Manage model pricing data and configure automatic reload schedules"})]}),(0,s.jsx)(lI,{accessToken:t,onReloadSuccess:()=>{(async()=>{l(await (0,c.modelCostMap)())})()},buttonText:"Reload Price Data",size:"middle",type:"primary",className:"w-full"})]})})},lP=t(55584),lL=t(61994),lT=t(15731),lR=t(91126);let lO=(e,l,t,a,r,i,n,o,d,c,m)=>[{header:()=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(lL.Z,{checked:t,indeterminate:l.length>0&&!t,onChange:e=>r(e.target.checked),onClick:e=>e.stopPropagation()}),(0,s.jsx)("span",{children:"Model ID"})]}),accessorKey:"model_info.id",enableSorting:!0,sortingFn:"alphanumeric",cell:e=>{let{row:t}=e,r=t.original,i=r.model_name,n=l.includes(i);return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(lL.Z,{checked:n,onChange:e=>a(i,e.target.checked),onClick:e=>e.stopPropagation()}),(0,s.jsx)(A.Z,{title:r.model_info.id,children:(0,s.jsx)("div",{className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",onClick:()=>m&&m(r.model_info.id),children:r.model_info.id})})]})}},{header:"Model Name",accessorKey:"model_name",enableSorting:!0,sortingFn:"alphanumeric",cell:e=>{let{row:l}=e,t=l.original,a=o(t)||t.model_name;return(0,s.jsx)("div",{className:"font-medium text-sm",children:(0,s.jsx)(A.Z,{title:a,children:(0,s.jsx)("div",{className:"truncate max-w-[200px]",children:a})})})}},{header:"Health Status",accessorKey:"health_status",enableSorting:!0,sortingFn:(e,l,t)=>{var s,a;let r=e.getValue("health_status")||"unknown",i=l.getValue("health_status")||"unknown",n={healthy:0,checking:1,unknown:2,unhealthy:3};return(null!==(s=n[r])&&void 0!==s?s:4)-(null!==(a=n[i])&&void 0!==a?a:4)},cell:l=>{var t;let{row:a}=l,r=a.original,i={status:r.health_status,loading:r.health_loading,error:r.health_error};if(i.loading)return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)("div",{className:"flex space-x-1",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-indigo-500 rounded-full animate-pulse"}),(0,s.jsx)("div",{className:"w-2 h-2 bg-indigo-500 rounded-full animate-pulse",style:{animationDelay:"0.2s"}}),(0,s.jsx)("div",{className:"w-2 h-2 bg-indigo-500 rounded-full animate-pulse",style:{animationDelay:"0.4s"}})]}),(0,s.jsx)(eb.x,{className:"text-gray-600 text-sm",children:"Checking..."})]});let o=r.model_name,d="healthy"===i.status&&(null===(t=e[o])||void 0===t?void 0:t.successResponse);return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[n(i.status),d&&c&&(0,s.jsx)(A.Z,{title:"View response details",placement:"top",children:(0,s.jsx)("button",{onClick:()=>{var l;return c(o,null===(l=e[o])||void 0===l?void 0:l.successResponse)},className:"p-1 text-green-600 hover:text-green-800 hover:bg-green-50 rounded cursor-pointer transition-colors",children:(0,s.jsx)(lT.Z,{className:"h-4 w-4"})})})]})}},{header:"Error Details",accessorKey:"health_error",enableSorting:!1,cell:l=>{let{row:t}=l,a=t.original.model_name,r=e[a];if(!(null==r?void 0:r.error))return(0,s.jsx)(eb.x,{className:"text-gray-400 text-sm",children:"No errors"});let i=r.error,n=r.fullError||r.error;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"max-w-[200px]",children:(0,s.jsx)(A.Z,{title:i,placement:"top",children:(0,s.jsx)(eb.x,{className:"text-red-600 text-sm truncate",children:i})})}),d&&n!==i&&(0,s.jsx)(A.Z,{title:"View full error details",placement:"top",children:(0,s.jsx)("button",{onClick:()=>d(a,i,n),className:"p-1 text-red-600 hover:text-red-800 hover:bg-red-50 rounded cursor-pointer transition-colors",children:(0,s.jsx)(lT.Z,{className:"h-4 w-4"})})})]})}},{header:"Last Check",accessorKey:"last_check",enableSorting:!0,sortingFn:(e,l,t)=>{let s=e.getValue("last_check")||"Never checked",a=l.getValue("last_check")||"Never checked";if("Never checked"===s&&"Never checked"===a)return 0;if("Never checked"===s)return 1;if("Never checked"===a)return -1;if("Check in progress..."===s&&"Check in progress..."===a)return 0;if("Check in progress..."===s)return -1;if("Check in progress..."===a)return 1;let r=new Date(s),i=new Date(a);return isNaN(r.getTime())&&isNaN(i.getTime())?0:isNaN(r.getTime())?1:isNaN(i.getTime())?-1:i.getTime()-r.getTime()},cell:e=>{let{row:l}=e,t=l.original;return(0,s.jsx)(eb.x,{className:"text-gray-600 text-sm",children:t.health_loading?"Check in progress...":t.last_check})}},{header:"Last Success",accessorKey:"last_success",enableSorting:!0,sortingFn:(e,l,t)=>{let s=e.getValue("last_success")||"Never succeeded",a=l.getValue("last_success")||"Never succeeded";if("Never succeeded"===s&&"Never succeeded"===a)return 0;if("Never succeeded"===s)return 1;if("Never succeeded"===a)return -1;if("None"===s&&"None"===a)return 0;if("None"===s)return 1;if("None"===a)return -1;let r=new Date(s),i=new Date(a);return isNaN(r.getTime())&&isNaN(i.getTime())?0:isNaN(r.getTime())?1:isNaN(i.getTime())?-1:i.getTime()-r.getTime()},cell:l=>{let{row:t}=l,a=e[t.original.model_name],r=(null==a?void 0:a.lastSuccess)||"None";return(0,s.jsx)(eb.x,{className:"text-gray-600 text-sm",children:r})}},{header:"Actions",id:"actions",cell:e=>{let{row:l}=e,t=l.original,a=t.model_name,r=t.health_status&&"none"!==t.health_status,n=t.health_loading?"Checking...":r?"Re-run Health Check":"Run Health Check";return(0,s.jsx)(A.Z,{title:n,placement:"top",children:(0,s.jsx)("button",{className:"p-2 rounded-md transition-colors ".concat(t.health_loading?"text-gray-400 cursor-not-allowed bg-gray-100":"text-indigo-600 hover:text-indigo-700 hover:bg-indigo-50"),onClick:()=>{t.health_loading||i(a)},disabled:t.health_loading,children:t.health_loading?(0,s.jsxs)("div",{className:"flex space-x-1",children:[(0,s.jsx)("div",{className:"w-1 h-1 bg-gray-400 rounded-full animate-pulse"}),(0,s.jsx)("div",{className:"w-1 h-1 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"0.2s"}}),(0,s.jsx)("div",{className:"w-1 h-1 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"0.4s"}})]}):r?(0,s.jsx)(Y.Z,{className:"h-4 w-4"}):(0,s.jsx)(lR.Z,{className:"h-4 w-4"})})})},enableSorting:!1}],lV=[{pattern:/Missing .* API Key/i,replacement:"Missing API Key"},{pattern:/Connection timeout/i,replacement:"Connection timeout"},{pattern:/Network.*not.*ok/i,replacement:"Network connection failed"},{pattern:/403.*Forbidden/i,replacement:"Access forbidden - check API key permissions"},{pattern:/401.*Unauthorized/i,replacement:"Unauthorized - invalid API key"},{pattern:/429.*rate limit/i,replacement:"Rate limit exceeded"},{pattern:/500.*Internal Server Error/i,replacement:"Provider internal server error"},{pattern:/litellm\.AuthenticationError/i,replacement:"Authentication failed"},{pattern:/litellm\.RateLimitError/i,replacement:"Rate limit exceeded"},{pattern:/litellm\.APIError/i,replacement:"API error"}];var lD=e=>{let{accessToken:l,modelData:t,all_models_on_proxy:a,getDisplayModelName:r,setSelectedModelId:i}=e,[d,m]=(0,o.useState)({}),[u,h]=(0,o.useState)([]),[x,p]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),[j,v]=(0,o.useState)(null),[_,y]=(0,o.useState)(!1),[b,N]=(0,o.useState)(null),Z=(0,o.useRef)(null);(0,o.useEffect)(()=>{l&&(null==t?void 0:t.data)&&(async()=>{let e={};t.data.forEach(l=>{e[l.model_name]={status:"none",lastCheck:"None",lastSuccess:"None",loading:!1,error:void 0,fullError:void 0,successResponse:void 0}});try{let s=await (0,c.latestHealthChecksCall)(l);s&&s.latest_health_checks&&"object"==typeof s.latest_health_checks&&Object.entries(s.latest_health_checks).forEach(l=>{let[s,a]=l;if(!a)return;let r=null,i=t.data.find(e=>e.model_name===s);if(i)r=i.model_name;else{let e=t.data.find(e=>e.model_info&&e.model_info.id===s);if(e)r=e.model_name;else if(a.model_name){let e=t.data.find(e=>e.model_name===a.model_name);e&&(r=e.model_name)}}if(r){let l=a.error_message||void 0;e[r]={status:a.status||"unknown",lastCheck:a.checked_at?new Date(a.checked_at).toLocaleString():"None",lastSuccess:"healthy"===a.status&&a.checked_at?new Date(a.checked_at).toLocaleString():"None",loading:!1,error:l?w(l):void 0,fullError:l,successResponse:"healthy"===a.status?a:void 0}}})}catch(e){console.warn("Failed to load health check history (using default states):",e)}m(e)})()},[l,t]);let w=e=>{var l;if(!e)return"Health check failed";let t="string"==typeof e?e:JSON.stringify(e),s=t.match(/(\w+Error):\s*(\d{3})/i);if(s)return"".concat(s[1],": ").concat(s[2]);let a=t.match(/(AuthenticationError|RateLimitError|BadRequestError|InternalServerError|TimeoutError|NotFoundError|ForbiddenError|ServiceUnavailableError|BadGatewayError|ContentPolicyViolationError|\w+Error)/i),r=t.match(/\b(400|401|403|404|408|429|500|502|503|504)\b/);if(a&&r)return"".concat(a[1],": ").concat(r[1]);if(r){let e=r[1];return"".concat({400:"BadRequestError",401:"AuthenticationError",403:"ForbiddenError",404:"NotFoundError",408:"TimeoutError",429:"RateLimitError",500:"InternalServerError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError"}[e],": ").concat(e)}if(a){let e=a[1],l={AuthenticationError:"401",RateLimitError:"429",BadRequestError:"400",InternalServerError:"500",TimeoutError:"408",NotFoundError:"404",ForbiddenError:"403",ServiceUnavailableError:"503",BadGatewayError:"502",GatewayTimeoutError:"504",ContentPolicyViolationError:"400"}[e];return l?"".concat(e,": ").concat(l):e}for(let{pattern:e,replacement:l}of lV)if(e.test(t))return l;if(/missing.*api.*key|invalid.*key|unauthorized/i.test(t))return"AuthenticationError: 401";if(/rate.*limit|too.*many.*requests/i.test(t))return"RateLimitError: 429";if(/timeout|timed.*out/i.test(t))return"TimeoutError: 408";if(/not.*found/i.test(t))return"NotFoundError: 404";if(/forbidden|access.*denied/i.test(t))return"ForbiddenError: 403";if(/internal.*server.*error/i.test(t))return"InternalServerError: 500";let i=t.replace(/[\n\r]+/g," ").replace(/\s+/g," ").trim(),n=null===(l=i.split(/[.!?]/)[0])||void 0===l?void 0:l.trim();return n&&n.length>0?n.length>100?n.substring(0,97)+"...":n:i.length>100?i.substring(0,97)+"...":i},C=async e=>{if(l){m(l=>({...l,[e]:{...l[e],loading:!0,status:"checking"}}));try{var s,a;let r=await (0,c.individualModelHealthCheckCall)(l,e),i=new Date().toLocaleString();if(r.unhealthy_count>0&&r.unhealthy_endpoints&&r.unhealthy_endpoints.length>0){let l=(null===(s=r.unhealthy_endpoints[0])||void 0===s?void 0:s.error)||"Health check failed",t=w(l);m(s=>{var a;return{...s,[e]:{status:"unhealthy",lastCheck:i,lastSuccess:(null===(a=s[e])||void 0===a?void 0:a.lastSuccess)||"None",loading:!1,error:t,fullError:l}}})}else m(l=>({...l,[e]:{status:"healthy",lastCheck:i,lastSuccess:i,loading:!1,successResponse:r}}));try{let s=await (0,c.latestHealthChecksCall)(l),r=t.data.find(l=>l.model_name===e);if(r){let l=r.model_info.id,t=null===(a=s.latest_health_checks)||void 0===a?void 0:a[l];if(t){let l=t.error_message||void 0;m(s=>{var a,r,i,n,o,d,c;return{...s,[e]:{status:t.status||(null===(a=s[e])||void 0===a?void 0:a.status)||"unknown",lastCheck:t.checked_at?new Date(t.checked_at).toLocaleString():(null===(r=s[e])||void 0===r?void 0:r.lastCheck)||"None",lastSuccess:"healthy"===t.status?t.checked_at?new Date(t.checked_at).toLocaleString():(null===(i=s[e])||void 0===i?void 0:i.lastSuccess)||"None":(null===(n=s[e])||void 0===n?void 0:n.lastSuccess)||"None",loading:!1,error:l?w(l):null===(o=s[e])||void 0===o?void 0:o.error,fullError:l||(null===(d=s[e])||void 0===d?void 0:d.fullError),successResponse:"healthy"===t.status?t:null===(c=s[e])||void 0===c?void 0:c.successResponse}}})}}}catch(e){console.debug("Could not fetch updated status from database (non-critical):",e)}}catch(a){let l=new Date().toLocaleString(),t=a instanceof Error?a.message:String(a),s=w(t);m(a=>{var r;return{...a,[e]:{status:"unhealthy",lastCheck:l,lastSuccess:(null===(r=a[e])||void 0===r?void 0:r.lastSuccess)||"None",loading:!1,error:s,fullError:t}}})}}},k=async()=>{let e=u.length>0?u:a,s=e.reduce((e,l)=>(e[l]={...d[l],loading:!0,status:"checking"},e),{});m(e=>({...e,...s}));let r={},i=e.map(async e=>{if(l)try{let s=await (0,c.individualModelHealthCheckCall)(l,e);r[e]=s;let a=new Date().toLocaleString();if(s.unhealthy_count>0&&s.unhealthy_endpoints&&s.unhealthy_endpoints.length>0){var t;let l=(null===(t=s.unhealthy_endpoints[0])||void 0===t?void 0:t.error)||"Health check failed",r=w(l);m(t=>{var s;return{...t,[e]:{status:"unhealthy",lastCheck:a,lastSuccess:(null===(s=t[e])||void 0===s?void 0:s.lastSuccess)||"None",loading:!1,error:r,fullError:l}}})}else m(l=>({...l,[e]:{status:"healthy",lastCheck:a,lastSuccess:a,loading:!1,successResponse:s}}))}catch(a){console.error("Health check failed for ".concat(e,":"),a);let l=new Date().toLocaleString(),t=a instanceof Error?a.message:String(a),s=w(t);m(a=>{var r;return{...a,[e]:{status:"unhealthy",lastCheck:l,lastSuccess:(null===(r=a[e])||void 0===r?void 0:r.lastSuccess)||"None",loading:!1,error:s,fullError:t}}})}});await Promise.allSettled(i);try{if(!l)return;let s=await (0,c.latestHealthChecksCall)(l);s.latest_health_checks&&Object.entries(s.latest_health_checks).forEach(l=>{let[s,a]=l,r=t.data.find(e=>e.model_info.id===s);if(r&&e.includes(r.model_name)&&a){let e=r.model_name,l=a.error_message||void 0;m(t=>{let s=t[e];return{...t,[e]:{status:a.status||(null==s?void 0:s.status)||"unknown",lastCheck:a.checked_at?new Date(a.checked_at).toLocaleString():(null==s?void 0:s.lastCheck)||"None",lastSuccess:"healthy"===a.status&&a.checked_at?new Date(a.checked_at).toLocaleString():(null==s?void 0:s.lastSuccess)||"None",loading:!1,error:l?w(l):null==s?void 0:s.error,fullError:l||(null==s?void 0:s.fullError),successResponse:"healthy"===a.status?a:null==s?void 0:s.successResponse}}})}})}catch(e){console.warn("Failed to fetch updated health statuses from database (non-critical):",e)}},A=e=>{p(e),e?h(a):h([])},M=()=>{f(!1),v(null)},I=()=>{y(!1),N(null)};return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"mb-6",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(eX.Z,{children:"Model Health Status"}),(0,s.jsx)(n.Z,{className:"text-gray-600 mt-1",children:"Run health checks on individual models to verify they are working correctly"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[u.length>0&&(0,s.jsx)(eY.Z,{size:"sm",variant:"light",onClick:()=>A(!1),className:"px-3 py-1 text-sm",children:"Clear Selection"}),(0,s.jsx)(eY.Z,{size:"sm",variant:"secondary",onClick:k,disabled:Object.values(d).some(e=>e.loading),className:"px-3 py-1 text-sm",children:u.length>0&&u.length{l?h(l=>[...l,e]):(h(l=>l.filter(l=>l!==e)),p(!1))},A,C,e=>{switch(e){case"healthy":return(0,s.jsx)(ll.Z,{color:"emerald",children:"healthy"});case"unhealthy":return(0,s.jsx)(ll.Z,{color:"red",children:"unhealthy"});case"checking":return(0,s.jsx)(ll.Z,{color:"blue",children:"checking"});case"none":return(0,s.jsx)(ll.Z,{color:"gray",children:"none"});default:return(0,s.jsx)(ll.Z,{color:"gray",children:"unknown"})}},r,(e,l,t)=>{v({modelName:e,cleanedError:l,fullError:t}),f(!0)},(e,l)=>{N({modelName:e,response:l}),y(!0)},i),data:t.data.map(e=>{let l=d[e.model_name]||{status:"none",lastCheck:"None",loading:!1};return{model_name:e.model_name,model_info:e.model_info,provider:e.provider,litellm_model_name:e.litellm_model_name,health_status:l.status,last_check:l.lastCheck,last_success:l.lastSuccess||"None",health_loading:l.loading,health_error:l.error,health_full_error:l.fullError}}),isLoading:!1,table:Z})}),(0,s.jsx)(S.Z,{title:j?"Health Check Error - ".concat(j.modelName):"Error Details",open:g,onCancel:M,footer:[(0,s.jsx)(E.ZP,{onClick:M,children:"Close"},"close")],width:800,children:j&&(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Error:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,s.jsx)(n.Z,{className:"text-red-800",children:j.cleanedError})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Full Error Details:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-gray-50 border border-gray-200 rounded-md max-h-96 overflow-y-auto",children:(0,s.jsx)("pre",{className:"text-sm text-gray-800 whitespace-pre-wrap",children:j.fullError})})]})]})}),(0,s.jsx)(S.Z,{title:b?"Health Check Response - ".concat(b.modelName):"Response Details",open:_,onCancel:I,footer:[(0,s.jsx)(E.ZP,{onClick:I,children:"Close"},"close")],width:800,children:b&&(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Status:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-green-50 border border-green-200 rounded-md",children:(0,s.jsx)(n.Z,{className:"text-green-800",children:"Health check passed successfully"})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(n.Z,{className:"font-medium",children:"Response Details:"}),(0,s.jsx)("div",{className:"mt-2 p-3 bg-gray-50 border border-gray-200 rounded-md max-h-96 overflow-y-auto",children:(0,s.jsx)("pre",{className:"text-sm text-gray-800 whitespace-pre-wrap",children:JSON.stringify(b.response,null,2)})})]})]})})]})},lz=t(86462),lq=t(47686),lB=t(77355),lU=t(93416),lG=t(95704),lH=e=>{let{accessToken:l,initialModelGroupAlias:t={},onAliasUpdate:a}=e,[r,i]=(0,o.useState)([]),[n,m]=(0,o.useState)({aliasName:"",targetModelGroup:""}),[u,h]=(0,o.useState)(null),[x,p]=(0,o.useState)(!0);(0,o.useEffect)(()=>{i(Object.entries(t).map((e,l)=>{var t;let[s,a]=e;return{id:"".concat(l,"-").concat(s),aliasName:s,targetModelGroup:"string"==typeof a?a:null!==(t=null==a?void 0:a.model)&&void 0!==t?t:""}}))},[t]);let g=async e=>{if(!l)return console.error("Access token is missing"),!1;try{let t={};return e.forEach(e=>{t[e.aliasName]=e.targetModelGroup}),console.log("Saving model group alias:",t),await (0,c.setCallbacksCall)(l,{router_settings:{model_group_alias:t}}),a&&a(t),!0}catch(e){return console.error("Failed to save model group alias settings:",e),d.Z.fromBackend("Failed to save model group alias settings"),!1}},f=async()=>{if(!n.aliasName||!n.targetModelGroup){d.Z.fromBackend("Please provide both alias name and target model group");return}if(r.some(e=>e.aliasName===n.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=[...r,{id:"".concat(Date.now(),"-").concat(n.aliasName),aliasName:n.aliasName,targetModelGroup:n.targetModelGroup}];await g(e)&&(i(e),m({aliasName:"",targetModelGroup:""}),d.Z.success("Alias added successfully"))},j=e=>{h({...e})},v=async()=>{if(!u)return;if(!u.aliasName||!u.targetModelGroup){d.Z.fromBackend("Please provide both alias name and target model group");return}if(r.some(e=>e.id!==u.id&&e.aliasName===u.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=r.map(e=>e.id===u.id?u:e);await g(e)&&(i(e),h(null),d.Z.success("Alias updated successfully"))},_=()=>{h(null)},b=async e=>{let l=r.filter(l=>l.id!==e);await g(l)&&(i(l),d.Z.success("Alias deleted successfully"))},N=r.reduce((e,l)=>(e[l.aliasName]=l.targetModelGroup,e),{});return(0,s.jsxs)(lG.Zb,{className:"mb-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between cursor-pointer",onClick:()=>p(!x),children:[(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)(lG.Dx,{className:"mb-0",children:"Model Group Alias Settings"}),(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Create aliases for your model groups to simplify API calls. For example, you can create an alias 'gpt-4o' that points to 'gpt-4o-mini-openai' model group."})]}),(0,s.jsx)("div",{className:"flex items-center",children:x?(0,s.jsx)(lz.Z,{className:"w-5 h-5 text-gray-500"}):(0,s.jsx)(lq.Z,{className:"w-5 h-5 text-gray-500"})})]}),x&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsx)(lG.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Add New Alias"}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Alias Name"}),(0,s.jsx)("input",{type:"text",value:n.aliasName,onChange:e=>m({...n,aliasName:e.target.value}),placeholder:"e.g., gpt-4o",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Target Model Group"}),(0,s.jsx)("input",{type:"text",value:n.targetModelGroup,onChange:e=>m({...n,targetModelGroup:e.target.value}),placeholder:"e.g., gpt-4o-mini-openai",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm"})]}),(0,s.jsx)("div",{className:"flex items-end",children:(0,s.jsxs)("button",{onClick:f,disabled:!n.aliasName||!n.targetModelGroup,className:"flex items-center px-4 py-2 rounded-md text-sm ".concat(n.aliasName&&n.targetModelGroup?"bg-green-600 text-white hover:bg-green-700":"bg-gray-300 text-gray-500 cursor-not-allowed"),children:[(0,s.jsx)(lB.Z,{className:"w-4 h-4 mr-1"}),"Add Alias"]})})]})]}),(0,s.jsx)(lG.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Manage Existing Aliases"}),(0,s.jsx)("div",{className:"rounded-lg custom-border relative mb-6",children:(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)(lG.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,s.jsx)(lG.ss,{children:(0,s.jsxs)(lG.SC,{children:[(0,s.jsx)(lG.xs,{className:"py-1 h-8",children:"Alias Name"}),(0,s.jsx)(lG.xs,{className:"py-1 h-8",children:"Target Model Group"}),(0,s.jsx)(lG.xs,{className:"py-1 h-8",children:"Actions"})]})}),(0,s.jsxs)(lG.RM,{children:[r.map(e=>(0,s.jsx)(lG.SC,{className:"h-8",children:u&&u.id===e.id?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(lG.pj,{className:"py-0.5",children:(0,s.jsx)("input",{type:"text",value:u.aliasName,onChange:e=>h({...u,aliasName:e.target.value}),className:"w-full px-2 py-1 border border-gray-300 rounded-md text-sm"})}),(0,s.jsx)(lG.pj,{className:"py-0.5",children:(0,s.jsx)("input",{type:"text",value:u.targetModelGroup,onChange:e=>h({...u,targetModelGroup:e.target.value}),className:"w-full px-2 py-1 border border-gray-300 rounded-md text-sm"})}),(0,s.jsx)(lG.pj,{className:"py-0.5 whitespace-nowrap",children:(0,s.jsxs)("div",{className:"flex space-x-2",children:[(0,s.jsx)("button",{onClick:v,className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:"Save"}),(0,s.jsx)("button",{onClick:_,className:"text-xs bg-gray-50 text-gray-600 px-2 py-1 rounded hover:bg-gray-100",children:"Cancel"})]})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(lG.pj,{className:"py-0.5 text-sm text-gray-900",children:e.aliasName}),(0,s.jsx)(lG.pj,{className:"py-0.5 text-sm text-gray-500",children:e.targetModelGroup}),(0,s.jsx)(lG.pj,{className:"py-0.5 whitespace-nowrap",children:(0,s.jsxs)("div",{className:"flex space-x-2",children:[(0,s.jsx)("button",{onClick:()=>j(e),className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:(0,s.jsx)(lU.Z,{className:"w-3 h-3"})}),(0,s.jsx)("button",{onClick:()=>b(e.id),className:"text-xs bg-red-50 text-red-600 px-2 py-1 rounded hover:bg-red-100",children:(0,s.jsx)(y.Z,{className:"w-3 h-3"})})]})})]})},e.id)),0===r.length&&(0,s.jsx)(lG.SC,{children:(0,s.jsx)(lG.pj,{colSpan:3,className:"py-0.5 text-sm text-gray-500 text-center",children:"No aliases added yet. Add a new alias above."})})]})]})})}),(0,s.jsxs)(lG.Zb,{children:[(0,s.jsx)(lG.Dx,{className:"mb-4",children:"Configuration Example"}),(0,s.jsx)(lG.xv,{className:"text-gray-600 mb-4",children:"Here's how your current aliases would look in the config.yaml:"}),(0,s.jsx)("div",{className:"bg-gray-100 rounded-lg p-4 font-mono text-sm",children:(0,s.jsxs)("div",{className:"text-gray-700",children:["router_settings:",(0,s.jsx)("br",{}),"\xa0\xa0model_group_alias:",0===Object.keys(N).length?(0,s.jsxs)("span",{className:"text-gray-500",children:[(0,s.jsx)("br",{}),"\xa0\xa0\xa0\xa0# No aliases configured yet"]}):Object.entries(N).map(e=>{let[l,t]=e;return(0,s.jsxs)("span",{children:[(0,s.jsx)("br",{}),'\xa0\xa0\xa0\xa0"',l,'": "',t,'"']},l)})]})})]})]})]})},lK=t(27593),lJ=e=>{var l,t,u,x;let{accessToken:p,token:g,userRole:j,userID:_,modelData:y={data:[]},keys:b,setModelData:Z,premiumUser:w,teams:S}=e,[k]=N.Z.useForm(),[A,E]=(0,o.useState)(null),[M,I]=(0,o.useState)(""),[F,P]=(0,o.useState)([]),[L,T]=(0,o.useState)([]),[R,O]=(0,o.useState)(m.Cl.Anthropic),[V,D]=(0,o.useState)(!1),[z,q]=(0,o.useState)(null),[B,U]=(0,o.useState)([]),[G,H]=(0,o.useState)([]),[K,ea]=(0,o.useState)(null),[er,ei]=(0,o.useState)([]),[en,eo]=(0,o.useState)([]),[ed,ec]=(0,o.useState)([]),[em,eu]=(0,o.useState)([]),[eh,ex]=(0,o.useState)([]),[ep,eg]=(0,o.useState)([]),[ef,ej]=(0,o.useState)([]),[ev,e_]=(0,o.useState)({from:new Date(Date.now()-6048e5),to:new Date}),[ey,eb]=(0,o.useState)(null),[eN,eZ]=(0,o.useState)(null),[ew,eC]=(0,o.useState)(0),[eS,ek]=(0,o.useState)({}),[eA,eE]=(0,o.useState)([]),[eM,eI]=(0,o.useState)(!1),[eF,eP]=(0,o.useState)(null),[eL,eT]=(0,o.useState)(null),[eR,eO]=(0,o.useState)([]),[eV,eD]=(0,o.useState)({}),[ez,eq]=(0,o.useState)(!1),[eB,eU]=(0,o.useState)(null),[eG,eH]=(0,o.useState)(!1),[eJ,eW]=(0,o.useState)(null),[eY,e$]=(0,o.useState)(null),[eQ,eX]=(0,o.useState)(!1),e0=(0,o.useRef)(null),[e1,e2]=(0,o.useState)(0),e4=(0,a.NL)(),{data:e5,isLoading:e6,refetch:e3}=v(p,_,j),{data:e7}=f(p),le=(null==e7?void 0:e7.credentials)||[],{data:ll}=(0,lP.L)(p||""),lt=j&&(0,es.P4)(j),ls=j&&es.lo.includes(j),la=_&&(0,es.yV)(S,_),lr=ls&&(null==ll?void 0:null===(l=ll.values)||void 0===l?void 0:l.disable_model_add_for_internal_users)===!0,ln=!lt&&(lr||!la);(0,o.useEffect)(()=>{let e=e=>{e0.current&&!e0.current.contains(e.target)&&eX(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let lo={name:"file",accept:".json",pastable:!1,beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;k.setFieldsValue({vertex_credentials:l})}},l.readAsText(e)}return!1},onChange(e){"done"===e.file.status?d.Z.success("".concat(e.file.name," file uploaded successfully")):"error"===e.file.status&&d.Z.fromBackend("".concat(e.file.name," file upload failed."))}},ld=()=>{I(new Date().toLocaleString()),e4.invalidateQueries({queryKey:["models","list"]}),e3()},lc=async()=>{if(p)try{let e={router_settings:{}};"global"===K?(eN&&(e.router_settings.retry_policy=eN),d.Z.success("Global retry settings saved successfully")):(ey&&(e.router_settings.model_group_retry_policy=ey),d.Z.success("Retry settings saved successfully for ".concat(K))),await (0,c.setCallbacksCall)(p,e)}catch(e){d.Z.fromBackend("Failed to save retry settings")}};if((0,o.useEffect)(()=>{if(!p||!g||!j||!_||!e5)return;let e=async()=>{try{var e,l,t,s,a,r,i,n,o,d,m,u;Z(e5);let h=await (0,c.modelSettingsCall)(p);h&&T(h);let x=new Set;for(let e=0;e0&&(v=g[g.length-1]);let y=await (0,c.modelMetricsCall)(p,_,j,v,null===(e=ev.from)||void 0===e?void 0:e.toISOString(),null===(l=ev.to)||void 0===l?void 0:l.toISOString(),null==eF?void 0:eF.token,eL);ei(y.data),eo(y.all_api_bases);let b=await (0,c.streamingModelMetricsCall)(p,v,null===(t=ev.from)||void 0===t?void 0:t.toISOString(),null===(s=ev.to)||void 0===s?void 0:s.toISOString());ec(b.data),eu(b.all_api_bases);let N=await (0,c.modelExceptionsCall)(p,_,j,v,null===(a=ev.from)||void 0===a?void 0:a.toISOString(),null===(r=ev.to)||void 0===r?void 0:r.toISOString(),null==eF?void 0:eF.token,eL);ex(N.data),eg(N.exception_types);let w=await (0,c.modelMetricsSlowResponsesCall)(p,_,j,v,null===(i=ev.from)||void 0===i?void 0:i.toISOString(),null===(n=ev.to)||void 0===n?void 0:n.toISOString(),null==eF?void 0:eF.token,eL),C=await (0,c.adminGlobalActivityExceptions)(p,null===(o=ev.from)||void 0===o?void 0:o.toISOString().split("T")[0],null===(d=ev.to)||void 0===d?void 0:d.toISOString().split("T")[0],v);ek(C);let S=await (0,c.adminGlobalActivityExceptionsPerDeployment)(p,null===(m=ev.from)||void 0===m?void 0:m.toISOString().split("T")[0],null===(u=ev.to)||void 0===u?void 0:u.toISOString().split("T")[0],v);eE(S),ej(w);let k=await (0,c.allEndUsersCall)(p);eO(null==k?void 0:k.map(e=>e.user_id));let A=(await (0,c.getCallbacksCall)(p,_,j)).router_settings,E=A.model_group_retry_policy,M=A.num_retries;eb(E),eZ(A.retry_policy),eC(M);let I=A.model_group_alias||{};eD(I)}catch(e){console.error("Error fetching model data:",e)}};p&&g&&j&&_&&e5&&e();let l=async()=>{let e=await (0,c.modelCostMap)();console.log("received model cost map data: ".concat(Object.keys(e))),E(e)};null==A&&l()},[p,g,j,_,e5]),!y||e6||!p||!g||!j||!_)return(0,s.jsx)("div",{children:"Loading..."});let lm=[],lu=[];for(let e=0;enull!=A&&"object"==typeof A&&e in A?A[e].litellm_provider:"openai";if(s){let e=s.split("/"),l=e[0];(i=a)||(i=1===e.length?h(s):l)}else i="-";r&&(n=null==r?void 0:r.input_cost_per_token,o=null==r?void 0:r.output_cost_per_token,d=null==r?void 0:r.max_tokens,c=null==r?void 0:r.max_input_tokens),(null==l?void 0:l.litellm_params)&&(m=Object.fromEntries(Object.entries(null==l?void 0:l.litellm_params).filter(e=>{let[l]=e;return"model"!==l&&"api_base"!==l}))),y.data[e].provider=i,y.data[e].input_cost=n,y.data[e].output_cost=o,y.data[e].litellm_model_name=s,lu.push(i),y.data[e].input_cost&&(y.data[e].input_cost=(1e6*Number(y.data[e].input_cost)).toFixed(2)),y.data[e].output_cost&&(y.data[e].output_cost=(1e6*Number(y.data[e].output_cost)).toFixed(2)),y.data[e].max_tokens=d,y.data[e].max_input_tokens=c,y.data[e].api_base=null==l?void 0:null===(x=l.litellm_params)||void 0===x?void 0:x.api_base,y.data[e].cleanedLitellmParams=m,lm.push(l.model_name)}if(j&&"Admin Viewer"==j){let{Title:e,Paragraph:l}=C.default;return(0,s.jsxs)("div",{children:[(0,s.jsx)(e,{level:1,children:"Access Denied"}),(0,s.jsx)(l,{children:"Ask your proxy admin for access to view all models"})]})}return(Object.keys(m.Cl).find(e=>m.Cl[e]===R),eJ)?(0,s.jsx)("div",{className:"w-full h-full",children:(0,s.jsx)(e9.Z,{teamId:eJ,onClose:()=>eW(null),accessToken:p,is_team_admin:"Admin"===j,is_proxy_admin:"Proxy Admin"===j,userModels:lm,editTeam:!1,onUpdate:ld,premiumUser:w})}):(0,s.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,s.jsx)(i.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,s.jsxs)(r.Z,{numColSpan:1,className:"flex flex-col gap-2",children:[(0,s.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:"Model Management"}),es.ZL.includes(j)?(0,s.jsx)("p",{className:"text-sm text-gray-600",children:"Add and manage models for the proxy"}):(0,s.jsx)("p",{className:"text-sm text-gray-600",children:"Add models for teams you are an admin for."})]})}),eB?(0,s.jsx)(e8,{modelId:eB,editModel:!0,onClose:()=>{eU(null),eH(!1)},modelData:y.data.find(e=>e.model_info.id===eB),accessToken:p,userID:_,userRole:j,setEditModalVisible:D,setSelectedModel:q,onModelUpdate:e=>{e.deleted?Z({...y,data:y.data.filter(l=>l.model_info.id!==e.model_info.id)}):Z({...y,data:y.data.map(l=>l.model_info.id===e.model_info.id?e:l)}),e4.invalidateQueries({queryKey:["models","list"]}),ld()},modelAccessGroups:G}):(0,s.jsxs)(X.Z,{index:e1,onIndexChange:e2,className:"gap-2 h-[75vh] w-full ",children:[(0,s.jsxs)(ee.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,s.jsxs)("div",{className:"flex",children:[es.ZL.includes(j)?(0,s.jsx)(Q.Z,{children:"All Models"}):(0,s.jsx)(Q.Z,{children:"Your Models"}),!ln&&(0,s.jsx)(Q.Z,{children:"Add Model"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"LLM Credentials"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Pass-Through Endpoints"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Health Status"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Model Analytics"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Model Retry Settings"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Model Group Alias"}),es.ZL.includes(j)&&(0,s.jsx)(Q.Z,{children:"Price Data Reload"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[M&&(0,s.jsxs)(n.Z,{children:["Last Refreshed: ",M]}),(0,s.jsx)($.Z,{icon:Y.Z,variant:"shadow",size:"xs",className:"self-center",onClick:ld})]})]}),(0,s.jsxs)(et.Z,{children:[(0,s.jsx)(li,{selectedModelGroup:K,setSelectedModelGroup:ea,availableModelGroups:B,availableModelAccessGroups:G,setSelectedModelId:eU,setSelectedTeamId:eW,setEditModel:eH,modelData:y}),!ln&&(0,s.jsx)(el.Z,{className:"h-full",children:(0,s.jsx)(eK,{form:k,handleOk:()=>{k.validateFields().then(e=>{h(e,p,k,ld)}).catch(e=>{var l;let t=(null===(l=e.errorFields)||void 0===l?void 0:l.map(e=>"".concat(e.name.join("."),": ").concat(e.errors.join(", "))).join(" | "))||"Unknown validation error";d.Z.fromBackend("Please fill in the following required fields: ".concat(t))})},selectedProvider:R,setSelectedProvider:O,providerModels:F,setProviderModelsFn:e=>{P((0,m.bK)(e,A))},getPlaceholder:m.ph,uploadProps:lo,showAdvancedSettings:ez,setShowAdvancedSettings:eq,teams:S,credentials:le,accessToken:p,userRole:j,premiumUser:w})}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(J,{uploadProps:lo})}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(lK.Z,{accessToken:p,userRole:j,userID:_,modelData:y,premiumUser:w})}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(lD,{accessToken:p,modelData:y,all_models_on_proxy:lm,getDisplayModelName:W,setSelectedModelId:eU})}),(0,s.jsx)(lb,{dateValue:ev,setDateValue:e_,selectedModelGroup:K,availableModelGroups:B,setShowAdvancedFilters:eI,modelMetrics:er,modelMetricsCategories:en,streamingModelMetrics:ed,streamingModelMetricsCategories:em,customTooltip:e=>{var l,t;let{payload:a,active:r}=e;if(!r||!a)return null;let i=null===(t=a[0])||void 0===t?void 0:null===(l=t.payload)||void 0===l?void 0:l.date,n=a.sort((e,l)=>l.value-e.value);if(n.length>5){let e=n.length-5;(n=n.slice(0,5)).push({dataKey:"".concat(e," other deployments"),value:a.slice(5).reduce((e,l)=>e+l.value,0),color:"gray"})}return(0,s.jsxs)("div",{className:"w-150 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[i&&(0,s.jsxs)("p",{className:"text-tremor-content-emphasis mb-2",children:["Date: ",i]}),n.map((e,l)=>{let t=parseFloat(e.value.toFixed(5)),a=0===t&&e.value>0?"<0.00001":t.toFixed(5);return(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 mt-1 rounded-full bg-".concat(e.color,"-500")}),(0,s.jsx)("p",{className:"text-tremor-content",children:e.dataKey})]}),(0,s.jsx)("p",{className:"font-medium text-tremor-content-emphasis text-righ ml-2",children:a})]},l)})]})},slowResponsesData:ef,modelExceptions:eh,globalExceptionData:eS,allExceptions:ep,globalExceptionPerDeployment:eA,allEndUsers:eR,keys:b,setSelectedAPIKey:eP,setSelectedCustomer:eT,teams:S,selectedAPIKey:eF,selectedCustomer:eL,selectedTeam:eY,setAllExceptions:eg,setGlobalExceptionData:ek,setGlobalExceptionPerDeployment:eE,setModelExceptions:ex,setModelMetrics:ei,setModelMetricsCategories:eo,setSelectedModelGroup:ea,setSlowResponsesData:ej,setStreamingModelMetrics:ec,setStreamingModelMetricsCategories:eu}),(0,s.jsx)(lZ,{selectedModelGroup:K,setSelectedModelGroup:ea,availableModelGroups:B,globalRetryPolicy:eN,setGlobalRetryPolicy:eZ,defaultRetry:ew,modelGroupRetryPolicy:ey,setModelGroupRetryPolicy:eb,handleSaveRetrySettings:lc}),(0,s.jsx)(el.Z,{children:(0,s.jsx)(lH,{accessToken:p,initialModelGroupAlias:eV,onAliasUpdate:eD})}),(0,s.jsx)(lF,{setModelMap:E})]})]})]})})})}},27593:function(e,l,t){t.d(l,{Z:function(){return Y}});var s=t(57437),a=t(2265),r=t(78489),i=t(47323),n=t(84264),o=t(96761),d=t(19250),c=t(99981),m=t(33866),u=t(15731),h=t(53410),x=t(74998),p=t(59341),g=t(49566),f=t(12514),j=t(97765),v=t(37592),_=t(10032),y=t(22116),b=t(51653),N=t(24199),Z=t(12660),w=t(15424),C=t(58760),S=t(5545),k=t(45246),A=t(96473),E=t(31283),M=e=>{let{value:l={},onChange:t}=e,[r,i]=(0,a.useState)(Object.entries(l)),n=e=>{let l=r.filter((l,t)=>t!==e);i(l),null==t||t(Object.fromEntries(l))},o=(e,l,s)=>{let a=[...r];a[e]=[l,s],i(a),null==t||t(Object.fromEntries(a))};return(0,s.jsxs)("div",{children:[r.map((e,l)=>{let[t,a]=e;return(0,s.jsxs)(C.Z,{style:{display:"flex",marginBottom:8},align:"center",children:[(0,s.jsx)(E.o,{placeholder:"Header Name",value:t,onChange:e=>o(l,e.target.value,a)}),(0,s.jsx)(E.o,{placeholder:"Header Value",value:a,onChange:e=>o(l,t,e.target.value)}),(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:(0,s.jsx)(k.Z,{onClick:()=>n(l),style:{cursor:"pointer"}})})]},l)}),(0,s.jsx)(S.ZP,{type:"dashed",onClick:()=>{i([...r,["",""]])},icon:(0,s.jsx)(A.Z,{}),children:"Add Header"})]})},I=t(77565),F=e=>{let{pathValue:l,targetValue:t,includeSubpath:a}=e,r=(0,d.getProxyBaseUrl)();return l&&t?(0,s.jsxs)(f.Z,{className:"p-5",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Route Preview"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-5",children:"How your requests will be routed"}),(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-base font-semibold text-gray-900 mb-3",children:"Basic routing:"}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Your endpoint"}),(0,s.jsx)("code",{className:"font-mono text-sm text-gray-900",children:l?"".concat(r).concat(l):""})]}),(0,s.jsx)("div",{className:"text-gray-400",children:(0,s.jsx)(I.Z,{className:"text-lg"})}),(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Forwards to"}),(0,s.jsx)("code",{className:"font-mono text-sm text-gray-900",children:t})]})]})]}),a&&(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-base font-semibold text-gray-900 mb-3",children:"With subpaths:"}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Your endpoint + subpath"}),(0,s.jsxs)("code",{className:"font-mono text-sm text-gray-900",children:[l&&"".concat(r).concat(l),(0,s.jsx)("span",{className:"text-blue-600",children:"/v1/text-to-image/base/model"})]})]}),(0,s.jsx)("div",{className:"text-gray-400",children:(0,s.jsx)(I.Z,{className:"text-lg"})}),(0,s.jsxs)("div",{className:"flex-1 bg-gray-50 border border-gray-200 rounded-lg p-3",children:[(0,s.jsx)("div",{className:"text-sm text-gray-600 mb-2",children:"Forwards to"}),(0,s.jsxs)("code",{className:"font-mono text-sm text-gray-900",children:[t,(0,s.jsx)("span",{className:"text-blue-600",children:"/v1/text-to-image/base/model"})]})]})]}),(0,s.jsxs)("div",{className:"mt-3 text-sm text-gray-600",children:["Any path after ",l," will be appended to the target URL"]})]})}),!a&&(0,s.jsx)("div",{className:"mt-4 p-3 bg-blue-50 rounded-md border border-blue-200",children:(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)(w.Z,{className:"text-blue-500 mt-0.5 mr-2 flex-shrink-0"}),(0,s.jsxs)("div",{className:"text-sm text-blue-700",children:[(0,s.jsx)("span",{className:"font-medium",children:"Not seeing the routing you wanted?"})," Try enabling - Include Subpaths - above - this allows subroutes like"," ",(0,s.jsx)("code",{className:"bg-blue-100 px-1 py-0.5 rounded font-mono text-xs",children:"/api/v1/models"})," to be forwarded automatically."]})]})})]})]}):null},P=t(9114),L=t(63709),T=e=>{let{premiumUser:l,authEnabled:t,onAuthChange:a}=e;return(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Security"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-4",children:"When enabled, requests to this endpoint will require a valid LiteLLM Virtual Key"}),l?(0,s.jsx)(_.Z.Item,{name:"auth",valuePropName:"checked",className:"mb-0",children:(0,s.jsx)(L.Z,{checked:t,onChange:e=>{a(e)}})}):(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center mb-3",children:[(0,s.jsx)(L.Z,{disabled:!0,checked:!1,style:{outline:"2px solid #d1d5db",outlineOffset:"2px"}}),(0,s.jsx)("span",{className:"ml-2 text-sm text-gray-400",children:"Authentication (Premium)"})]}),(0,s.jsx)("div",{className:"p-3 bg-yellow-50 border border-yellow-200 rounded-lg",children:(0,s.jsxs)(n.Z,{className:"text-sm text-yellow-800",children:["Setting authentication for pass-through endpoints is a LiteLLM Enterprise feature. Get a trial key"," ",(0,s.jsx)("a",{href:"https://www.litellm.ai/#pricing",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"here"}),"."]})})]})]})},R=t(67479),O=e=>{let{accessToken:l,value:t={},onChange:r,disabled:i=!1}=e,[n,d]=(0,a.useState)(Object.keys(t)),[m,u]=(0,a.useState)(t);(0,a.useEffect)(()=>{u(t),d(Object.keys(t))},[t]);let h=(e,l,t)=>{var s,a;let i=m[e]||{},n={...m,[e]:{...i,[l]:t.length>0?t:void 0}};(null===(s=n[e])||void 0===s?void 0:s.request_fields)||(null===(a=n[e])||void 0===a?void 0:a.response_fields)||(n[e]=null),u(n),r&&r(n)};return(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Guardrails"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-6",children:"Configure guardrails to enforce policies on requests and responses. Guardrails are opt-in for passthrough endpoints."}),(0,s.jsx)(b.Z,{message:(0,s.jsxs)("span",{children:["Field-Level Targeting"," ",(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/pass_through_guardrails#field-level-targeting",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:text-blue-800 underline",children:"(Learn More)"})]}),description:(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("div",{children:"Optionally specify which fields to check. If left empty, the entire request/response is sent to the guardrail."}),(0,s.jsxs)("div",{className:"text-xs space-y-1 mt-2",children:[(0,s.jsx)("div",{className:"font-medium",children:"Common Examples:"}),(0,s.jsxs)("div",{children:["• ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 rounded",children:"query"})," - Single field"]}),(0,s.jsxs)("div",{children:["• ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 rounded",children:"documents[*].text"})," - All text in documents array"]}),(0,s.jsxs)("div",{children:["• ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 rounded",children:"messages[*].content"})," - All message contents"]})]})]}),type:"info",showIcon:!0,className:"mb-4"}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Select Guardrails",(0,s.jsx)(c.Z,{title:"Choose which guardrails should run on this endpoint. Org/team/key level guardrails will also be included.",children:(0,s.jsx)(w.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),children:(0,s.jsx)(R.Z,{accessToken:l,value:n,onChange:e=>{d(e);let l={};e.forEach(e=>{l[e]=m[e]||null}),u(l),r&&r(l)},disabled:i})}),n.length>0&&(0,s.jsxs)("div",{className:"mt-6 space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Field Targeting (Optional)"}),(0,s.jsx)("div",{className:"text-xs text-gray-500",children:"\uD83D\uDCA1 Tip: Leave empty to check entire payload"})]}),n.map(e=>{var l,t;return(0,s.jsxs)(f.Z,{className:"p-4 bg-gray-50",children:[(0,s.jsx)("div",{className:"text-sm font-medium text-gray-900 mb-3",children:e}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,s.jsxs)("label",{className:"text-xs text-gray-600 flex items-center",children:["Request Fields (pre_call)",(0,s.jsx)(c.Z,{title:(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:"Specify which request fields to check"}),(0,s.jsxs)("div",{className:"text-xs space-y-1",children:[(0,s.jsx)("div",{children:"Examples:"}),(0,s.jsx)("div",{children:"• query"}),(0,s.jsx)("div",{children:"• documents[*].text"}),(0,s.jsx)("div",{children:"• messages[*].content"})]})]}),children:(0,s.jsx)(w.Z,{className:"ml-1 text-gray-400"})})]}),(0,s.jsxs)("div",{className:"flex gap-1",children:[(0,s.jsx)("button",{type:"button",onClick:()=>{var l;let t=(null===(l=m[e])||void 0===l?void 0:l.request_fields)||[];h(e,"request_fields",[...t,"query"])},className:"text-xs px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",disabled:i,children:"+ query"}),(0,s.jsx)("button",{type:"button",onClick:()=>{var l;let t=(null===(l=m[e])||void 0===l?void 0:l.request_fields)||[];h(e,"request_fields",[...t,"documents[*]"])},className:"text-xs px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",disabled:i,children:"+ documents[*]"})]})]}),(0,s.jsx)(v.default,{mode:"tags",style:{width:"100%"},placeholder:"Type field name or use + buttons above (e.g., query, documents[*].text)",value:(null===(l=m[e])||void 0===l?void 0:l.request_fields)||[],onChange:l=>h(e,"request_fields",l),disabled:i,tokenSeparators:[","]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,s.jsxs)("label",{className:"text-xs text-gray-600 flex items-center",children:["Response Fields (post_call)",(0,s.jsx)(c.Z,{title:(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:"Specify which response fields to check"}),(0,s.jsxs)("div",{className:"text-xs space-y-1",children:[(0,s.jsx)("div",{children:"Examples:"}),(0,s.jsx)("div",{children:"• results[*].text"}),(0,s.jsx)("div",{children:"• choices[*].message.content"})]})]}),children:(0,s.jsx)(w.Z,{className:"ml-1 text-gray-400"})})]}),(0,s.jsx)("div",{className:"flex gap-1",children:(0,s.jsx)("button",{type:"button",onClick:()=>{var l;let t=(null===(l=m[e])||void 0===l?void 0:l.response_fields)||[];h(e,"response_fields",[...t,"results[*]"])},className:"text-xs px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",disabled:i,children:"+ results[*]"})})]}),(0,s.jsx)(v.default,{mode:"tags",style:{width:"100%"},placeholder:"Type field name or use + buttons above (e.g., results[*].text)",value:(null===(t=m[e])||void 0===t?void 0:t.response_fields)||[],onChange:l=>h(e,"response_fields",l),disabled:i,tokenSeparators:[","]})]})]})]},e)})]})]})};let{Option:V}=v.default;var D=e=>{let{accessToken:l,setPassThroughItems:t,passThroughItems:i,premiumUser:n=!1}=e,[m]=_.Z.useForm(),[u,h]=(0,a.useState)(!1),[x,v]=(0,a.useState)(!1),[C,S]=(0,a.useState)(""),[k,A]=(0,a.useState)(""),[E,I]=(0,a.useState)(""),[L,R]=(0,a.useState)(!0),[V,D]=(0,a.useState)(!1),[z,q]=(0,a.useState)({}),B=()=>{m.resetFields(),A(""),I(""),R(!0),q({}),h(!1)},U=e=>{let l=e;e&&!e.startsWith("/")&&(l="/"+e),A(l),m.setFieldsValue({path:l})},G=async e=>{console.log("addPassThrough called with:",e),v(!0);try{!n&&"auth"in e&&delete e.auth,z&&Object.keys(z).length>0&&(e.guardrails=z),console.log("formValues: ".concat(JSON.stringify(e)));let s=(await (0,d.createPassThroughEndpoint)(l,e)).endpoints[0],a=[...i,s];t(a),P.Z.success("Pass-through endpoint created successfully"),m.resetFields(),A(""),I(""),R(!0),q({}),h(!1)}catch(e){P.Z.fromBackend("Error creating pass-through endpoint: "+e)}finally{v(!1)}};return(0,s.jsxs)("div",{children:[(0,s.jsx)(r.Z,{className:"mx-auto mb-4 mt-4",onClick:()=>h(!0),children:"+ Add Pass-Through Endpoint"}),(0,s.jsx)(y.Z,{title:(0,s.jsxs)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:[(0,s.jsx)(Z.Z,{className:"text-xl text-blue-500"}),(0,s.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add Pass-Through Endpoint"})]}),open:u,width:1e3,onCancel:B,footer:null,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:(0,s.jsxs)("div",{className:"mt-6",children:[(0,s.jsx)(b.Z,{message:"What is a Pass-Through Endpoint?",description:"Route requests from your LiteLLM proxy to any external API. Perfect for custom models, image generation APIs, or any service you want to proxy through LiteLLM.",type:"info",showIcon:!0,className:"mb-6"}),(0,s.jsxs)(_.Z,{form:m,onFinish:G,layout:"vertical",className:"space-y-6",initialValues:{include_subpath:!0,path:k,target:E},children:[(0,s.jsxs)(f.Z,{className:"p-5",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Route Configuration"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-5",children:"Configure how requests to your domain will be forwarded to the target API"}),(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)(_.Z.Item,{label:(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Path Prefix"}),name:"path",rules:[{required:!0,message:"Path is required",pattern:/^\//}],extra:(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-1",children:"Example: /bria, /adobe-photoshop, /elasticsearch"}),className:"mb-4",children:(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsx)(g.Z,{placeholder:"bria",value:k,onChange:e=>U(e.target.value),className:"flex-1"})})}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Target URL"}),name:"target",rules:[{required:!0,message:"Target URL is required"},{type:"url",message:"Please enter a valid URL"}],extra:(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-1",children:"Example:https://engine.prod.bria-api.com"}),className:"mb-4",children:(0,s.jsx)(g.Z,{placeholder:"https://engine.prod.bria-api.com",value:E,onChange:e=>{I(e.target.value),m.setFieldsValue({target:e.target.value})}})}),(0,s.jsxs)("div",{className:"flex items-center justify-between py-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Include Subpaths"}),(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-0.5",children:"Forward all subpaths to the target API (recommended for REST APIs)"})]}),(0,s.jsx)(_.Z.Item,{name:"include_subpath",valuePropName:"checked",className:"mb-0",children:(0,s.jsx)(p.Z,{checked:L,onChange:R})})]})]})]}),(0,s.jsx)(F,{pathValue:k,targetValue:E,includeSubpath:L}),(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Headers"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-6",children:"Add headers that will be sent with every request to the target API"}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Authentication Headers",(0,s.jsx)(c.Z,{title:"Authentication and other headers to forward with requests",children:(0,s.jsx)(w.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"headers",rules:[{required:!0,message:"Please configure the headers"}],extra:(0,s.jsxs)("div",{className:"text-xs text-gray-500 mt-2",children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:"Add authentication tokens and other required headers"}),(0,s.jsx)("div",{children:"Common examples: auth_token, Authorization, x-api-key"})]}),children:(0,s.jsx)(M,{})})]}),(0,s.jsx)(T,{premiumUser:n,authEnabled:V,onAuthChange:e=>{D(e),m.setFieldsValue({auth:e})}}),(0,s.jsx)(O,{accessToken:l,value:z,onChange:q}),(0,s.jsxs)(f.Z,{className:"p-6",children:[(0,s.jsx)(o.Z,{className:"text-lg font-semibold text-gray-900 mb-2",children:"Billing"}),(0,s.jsx)(j.Z,{className:"text-gray-600 mb-6",children:"Optional cost tracking for this endpoint"}),(0,s.jsx)(_.Z.Item,{label:(0,s.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Cost Per Request (USD)",(0,s.jsx)(c.Z,{title:"Optional: Track costs for requests to this endpoint",children:(0,s.jsx)(w.Z,{className:"ml-2 text-gray-400 hover:text-gray-600"})})]}),name:"cost_per_request",extra:(0,s.jsx)("div",{className:"text-xs text-gray-500 mt-2",children:"The cost charged for each request through this endpoint"}),children:(0,s.jsx)(N.Z,{min:0,step:.001,precision:4,placeholder:"2.0000",size:"large"})})]}),(0,s.jsxs)("div",{className:"flex items-center justify-end space-x-3 pt-6 border-t border-gray-100",children:[(0,s.jsx)(r.Z,{variant:"secondary",onClick:B,children:"Cancel"}),(0,s.jsx)(r.Z,{variant:"primary",loading:x,onClick:()=>{console.log("Submit button clicked"),m.submit()},children:x?"Creating...":"Add Pass-Through Endpoint"})]})]})]})})]})},z=t(30078),q=t(4260),B=t(19015),U=t(87769),G=t(42208);let H=e=>{let{value:l}=e,[t,r]=(0,a.useState)(!1),i=JSON.stringify(l,null,2);return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("pre",{className:"font-mono text-xs bg-gray-50 p-2 rounded max-w-md overflow-auto",children:t?i:"••••••••"}),(0,s.jsx)("button",{onClick:()=>r(!t),className:"p-1 hover:bg-gray-100 rounded",type:"button",children:t?(0,s.jsx)(U.Z,{className:"w-4 h-4 text-gray-500"}):(0,s.jsx)(G.Z,{className:"w-4 h-4 text-gray-500"})})]})};var K=e=>{let{endpointData:l,onClose:t,accessToken:r,isAdmin:i,premiumUser:n=!1,onEndpointUpdated:o}=e,[c,m]=(0,a.useState)(l),[u,h]=(0,a.useState)(!1),[x,p]=(0,a.useState)(!1),[g,f]=(0,a.useState)((null==l?void 0:l.auth)||!1),[j,v]=(0,a.useState)((null==l?void 0:l.guardrails)||{}),[y]=_.Z.useForm(),b=async e=>{try{if(!r||!(null==c?void 0:c.id))return;let l={};if(e.headers)try{l="string"==typeof e.headers?JSON.parse(e.headers):e.headers}catch(e){P.Z.fromBackend("Invalid JSON format for headers");return}let t={path:c.path,target:e.target,headers:l,include_subpath:e.include_subpath,cost_per_request:e.cost_per_request,auth:n?e.auth:void 0,guardrails:j&&Object.keys(j).length>0?j:void 0};await (0,d.updatePassThroughEndpoint)(r,c.id,t),m({...c,...t}),p(!1),o&&o()}catch(e){console.error("Error updating endpoint:",e),P.Z.fromBackend("Failed to update pass through endpoint")}},N=async()=>{try{if(!r||!(null==c?void 0:c.id))return;await (0,d.deletePassThroughEndpointsCall)(r,c.id),P.Z.success("Pass through endpoint deleted successfully"),t(),o&&o()}catch(e){console.error("Error deleting endpoint:",e),P.Z.fromBackend("Failed to delete pass through endpoint")}};return u?(0,s.jsx)("div",{className:"p-4",children:"Loading..."}):c?(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)("div",{className:"flex justify-between items-center mb-6",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(S.ZP,{onClick:t,className:"mb-4",children:"← Back"}),(0,s.jsxs)(z.Dx,{children:["Pass Through Endpoint: ",c.path]}),(0,s.jsx)(z.xv,{className:"text-gray-500 font-mono",children:c.id})]})}),(0,s.jsxs)(z.v0,{children:[(0,s.jsxs)(z.td,{className:"mb-4",children:[(0,s.jsx)(z.OK,{children:"Overview"},"overview"),i?(0,s.jsx)(z.OK,{children:"Settings"},"settings"):(0,s.jsx)(s.Fragment,{})]}),(0,s.jsxs)(z.nP,{children:[(0,s.jsxs)(z.x4,{children:[(0,s.jsxs)(z.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,s.jsxs)(z.Zb,{children:[(0,s.jsx)(z.xv,{children:"Path"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(z.Dx,{className:"font-mono",children:c.path})})]}),(0,s.jsxs)(z.Zb,{children:[(0,s.jsx)(z.xv,{children:"Target"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(z.Dx,{children:c.target})})]}),(0,s.jsxs)(z.Zb,{children:[(0,s.jsx)(z.xv,{children:"Configuration"}),(0,s.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,s.jsx)("div",{children:(0,s.jsx)(z.Ct,{color:c.include_subpath?"green":"gray",children:c.include_subpath?"Include Subpath":"Exact Path"})}),(0,s.jsx)("div",{children:(0,s.jsx)(z.Ct,{color:c.auth?"blue":"gray",children:c.auth?"Auth Required":"No Auth"})}),void 0!==c.cost_per_request&&(0,s.jsx)("div",{children:(0,s.jsxs)(z.xv,{children:["Cost per request: $",c.cost_per_request]})})]})]})]}),(0,s.jsx)("div",{className:"mt-6",children:(0,s.jsx)(F,{pathValue:c.path,targetValue:c.target,includeSubpath:c.include_subpath||!1})}),c.headers&&Object.keys(c.headers).length>0&&(0,s.jsxs)(z.Zb,{className:"mt-6",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Headers"}),(0,s.jsxs)(z.Ct,{color:"blue",children:[Object.keys(c.headers).length," headers configured"]})]}),(0,s.jsx)("div",{className:"mt-4",children:(0,s.jsx)(H,{value:c.headers})})]}),c.guardrails&&Object.keys(c.guardrails).length>0&&(0,s.jsxs)(z.Zb,{className:"mt-6",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Guardrails"}),(0,s.jsxs)(z.Ct,{color:"purple",children:[Object.keys(c.guardrails).length," guardrails configured"]})]}),(0,s.jsx)("div",{className:"mt-4 space-y-2",children:Object.entries(c.guardrails).map(e=>{let[l,t]=e;return(0,s.jsxs)("div",{className:"p-3 bg-gray-50 rounded",children:[(0,s.jsx)("div",{className:"font-medium text-sm",children:l}),t&&(t.request_fields||t.response_fields)&&(0,s.jsxs)("div",{className:"mt-2 text-xs text-gray-600 space-y-1",children:[t.request_fields&&(0,s.jsxs)("div",{children:["Request fields: ",t.request_fields.join(", ")]}),t.response_fields&&(0,s.jsxs)("div",{children:["Response fields: ",t.response_fields.join(", ")]})]}),!t&&(0,s.jsx)("div",{className:"text-xs text-gray-600 mt-1",children:"Uses entire payload"})]},l)})})]})]}),i&&(0,s.jsx)(z.x4,{children:(0,s.jsxs)(z.Zb,{children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,s.jsx)(z.Dx,{children:"Pass Through Endpoint Settings"}),(0,s.jsx)("div",{className:"space-x-2",children:!x&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z.zx,{onClick:()=>p(!0),children:"Edit Settings"}),(0,s.jsx)(z.zx,{onClick:N,variant:"secondary",color:"red",children:"Delete Endpoint"})]})})]}),x?(0,s.jsxs)(_.Z,{form:y,onFinish:b,initialValues:{target:c.target,headers:c.headers?JSON.stringify(c.headers,null,2):"",include_subpath:c.include_subpath||!1,cost_per_request:c.cost_per_request,auth:c.auth||!1},layout:"vertical",children:[(0,s.jsx)(_.Z.Item,{label:"Target URL",name:"target",rules:[{required:!0,message:"Please input a target URL"}],children:(0,s.jsx)(z.oi,{placeholder:"https://api.example.com"})}),(0,s.jsx)(_.Z.Item,{label:"Headers (JSON)",name:"headers",children:(0,s.jsx)(q.default.TextArea,{rows:5,placeholder:'{"Authorization": "Bearer your-token", "Content-Type": "application/json"}'})}),(0,s.jsx)(_.Z.Item,{label:"Include Subpath",name:"include_subpath",valuePropName:"checked",children:(0,s.jsx)(L.Z,{})}),(0,s.jsx)(_.Z.Item,{label:"Cost per Request",name:"cost_per_request",children:(0,s.jsx)(B.Z,{min:0,step:.01,precision:2,placeholder:"0.00",addonBefore:"$"})}),(0,s.jsx)(T,{premiumUser:n,authEnabled:g,onAuthChange:e=>{f(e),y.setFieldsValue({auth:e})}}),(0,s.jsx)("div",{className:"mt-4",children:(0,s.jsx)(O,{accessToken:r||"",value:j,onChange:v})}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 mt-6",children:[(0,s.jsx)(S.ZP,{onClick:()=>p(!1),children:"Cancel"}),(0,s.jsx)(z.zx,{children:"Save Changes"})]})]}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Path"}),(0,s.jsx)("div",{className:"font-mono",children:c.path})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Target URL"}),(0,s.jsx)("div",{children:c.target})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Include Subpath"}),(0,s.jsx)(z.Ct,{color:c.include_subpath?"green":"gray",children:c.include_subpath?"Yes":"No"})]}),void 0!==c.cost_per_request&&(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Cost per Request"}),(0,s.jsxs)("div",{children:["$",c.cost_per_request]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Authentication Required"}),(0,s.jsx)(z.Ct,{color:c.auth?"green":"gray",children:c.auth?"Yes":"No"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(z.xv,{className:"font-medium",children:"Headers"}),c.headers&&Object.keys(c.headers).length>0?(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(H,{value:c.headers})}):(0,s.jsx)("div",{className:"text-gray-500",children:"No headers configured"})]})]})]})})]})]})]}):(0,s.jsx)("div",{className:"p-4",children:"Pass through endpoint not found"})},J=t(12322);let W=e=>{let{value:l}=e,[t,r]=(0,a.useState)(!1),i=JSON.stringify(l);return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("span",{className:"font-mono text-xs",children:t?i:"••••••••"}),(0,s.jsx)("button",{onClick:()=>r(!t),className:"p-1 hover:bg-gray-100 rounded",type:"button",children:t?(0,s.jsx)(U.Z,{className:"w-4 h-4 text-gray-500"}):(0,s.jsx)(G.Z,{className:"w-4 h-4 text-gray-500"})})]})};var Y=e=>{let{accessToken:l,userRole:t,userID:p,modelData:g,premiumUser:f}=e,[j,v]=(0,a.useState)([]),[_,y]=(0,a.useState)(null),[b,N]=(0,a.useState)(!1),[Z,w]=(0,a.useState)(null);(0,a.useEffect)(()=>{l&&t&&p&&(0,d.getPassThroughEndpointsCall)(l).then(e=>{v(e.endpoints)})},[l,t,p]);let C=async e=>{w(e),N(!0)},S=async()=>{if(null!=Z&&l){try{await (0,d.deletePassThroughEndpointsCall)(l,Z);let e=j.filter(e=>e.id!==Z);v(e),P.Z.success("Endpoint deleted successfully.")}catch(e){console.error("Error deleting the endpoint:",e),P.Z.fromBackend("Error deleting the endpoint: "+e)}N(!1),w(null)}},k=(e,l)=>{C(e)},A=[{header:"ID",accessorKey:"id",cell:e=>(0,s.jsx)(c.Z,{title:e.row.original.id,children:(0,s.jsx)("div",{className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",onClick:()=>e.row.original.id&&y(e.row.original.id),children:e.row.original.id})})},{header:"Path",accessorKey:"path"},{header:"Target",accessorKey:"target",cell:e=>(0,s.jsx)(n.Z,{children:e.getValue()})},{header:()=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{children:"Authentication"}),(0,s.jsx)(c.Z,{title:"LiteLLM Virtual Key required to call endpoint",children:(0,s.jsx)(u.Z,{className:"w-4 h-4 text-gray-400 cursor-help"})})]}),accessorKey:"auth",cell:e=>(0,s.jsx)(m.Z,{color:e.getValue()?"green":"gray",children:e.getValue()?"Yes":"No"})},{header:"Headers",accessorKey:"headers",cell:e=>(0,s.jsx)(W,{value:e.getValue()||{}})},{header:"Actions",id:"actions",cell:e=>{let{row:l}=e;return(0,s.jsxs)("div",{className:"flex space-x-1",children:[(0,s.jsx)(i.Z,{icon:h.Z,size:"sm",onClick:()=>l.original.id&&y(l.original.id),title:"Edit"}),(0,s.jsx)(i.Z,{icon:x.Z,size:"sm",onClick:()=>k(l.original.id,l.index),title:"Delete"})]})}}];if(!l)return null;if(_){console.log("selectedEndpointId",_),console.log("generalSettings",j);let e=j.find(e=>e.id===_);return e?(0,s.jsx)(K,{endpointData:e,onClose:()=>y(null),accessToken:l,isAdmin:"Admin"===t||"admin"===t,premiumUser:f,onEndpointUpdated:()=>{l&&(0,d.getPassThroughEndpointsCall)(l).then(e=>{v(e.endpoints)})}}):(0,s.jsx)("div",{children:"Endpoint not found"})}return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(o.Z,{children:"Pass Through Endpoints"}),(0,s.jsx)(n.Z,{className:"text-tremor-content",children:"Configure and manage your pass-through endpoints"})]}),(0,s.jsx)(D,{accessToken:l,setPassThroughItems:v,passThroughItems:j,premiumUser:f}),(0,s.jsx)(J.w,{data:j,columns:A,renderSubComponent:()=>(0,s.jsx)("div",{}),getRowCanExpand:()=>!1,isLoading:!1,noDataMessage:"No pass-through endpoints configured"}),b&&(0,s.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,s.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,s.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,s.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,s.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,s.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,s.jsx)("div",{className:"sm:flex sm:items-start",children:(0,s.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,s.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Pass-Through Endpoint"}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this pass-through endpoint? This action cannot be undone."})})]})})}),(0,s.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,s.jsx)(r.Z,{onClick:S,color:"red",className:"ml-2",children:"Delete"}),(0,s.jsx)(r.Z,{onClick:()=>{N(!1),w(null)},children:"Cancel"})]})]})]})})]})}},39789:function(e,l,t){t.d(l,{Z:function(){return n}});var s=t(57437),a=t(2265),r=t(88237),i=t(84264),n=e=>{let{value:l,onValueChange:t,label:n="Select Time Range",className:o="",showTimeRange:d=!0}=e,[c,m]=(0,a.useState)(!1),u=(0,a.useRef)(null),h=(0,a.useCallback)(e=>{m(!0),setTimeout(()=>m(!1),1500),t(e),requestIdleCallback(()=>{if(e.from){let l;let s={...e},a=new Date(e.from);l=new Date(e.to?e.to:e.from),a.toDateString(),l.toDateString(),a.setHours(0,0,0,0),l.setHours(23,59,59,999),s.from=a,s.to=l,t(s)}},{timeout:100})},[t]),x=(0,a.useCallback)((e,l)=>{if(!e||!l)return"";let t=e=>e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});if(e.toDateString()!==l.toDateString())return"".concat(t(e)," - ").concat(t(l));{let t=e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),s=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),a=l.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});return"".concat(t,": ").concat(s," - ").concat(a)}},[]);return(0,s.jsxs)("div",{className:o,children:[n&&(0,s.jsx)(i.Z,{className:"mb-2",children:n}),(0,s.jsxs)("div",{className:"relative w-fit",children:[(0,s.jsx)("div",{ref:u,children:(0,s.jsx)(r.Z,{enableSelect:!0,value:l,onValueChange:h,placeholder:"Select date range",enableClear:!1,style:{zIndex:100}})}),c&&(0,s.jsx)("div",{className:"absolute top-1/2 animate-pulse",style:{left:"calc(100% + 8px)",transform:"translateY(-50%)",zIndex:110},children:(0,s.jsxs)("div",{className:"flex items-center gap-1 text-green-600 text-sm font-medium bg-white px-2 py-1 rounded-full border border-green-200 shadow-sm whitespace-nowrap",children:[(0,s.jsx)("div",{className:"w-3 h-3 bg-green-500 text-white rounded-full flex items-center justify-center text-xs",children:"✓"}),(0,s.jsx)("span",{className:"text-xs",children:"Selected"})]})})]}),d&&l.from&&l.to&&(0,s.jsx)(i.Z,{className:"mt-2 text-xs text-gray-500",children:x(l.from,l.to)})]})}},12322:function(e,l,t){t.d(l,{w:function(){return o}});var s=t(57437),a=t(2265),r=t(71594),i=t(24525),n=t(19130);function o(e){let{data:l=[],columns:t,getRowCanExpand:o,renderSubComponent:d,isLoading:c=!1,loadingMessage:m="\uD83D\uDE85 Loading logs...",noDataMessage:u="No logs found"}=e,h=(0,r.b7)({data:l,columns:t,getRowCanExpand:o,getRowId:(e,l)=>{var t;return null!==(t=null==e?void 0:e.request_id)&&void 0!==t?t:String(l)},getCoreRowModel:(0,i.sC)(),getExpandedRowModel:(0,i.rV)()});return(0,s.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,s.jsxs)(n.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,s.jsx)(n.ss,{children:h.getHeaderGroups().map(e=>(0,s.jsx)(n.SC,{children:e.headers.map(e=>(0,s.jsx)(n.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,r.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,s.jsx)(n.RM,{children:c?(0,s.jsx)(n.SC,{children:(0,s.jsx)(n.pj,{colSpan:t.length,className:"h-8 text-center",children:(0,s.jsx)("div",{className:"text-center text-gray-500",children:(0,s.jsx)("p",{children:m})})})}):h.getRowModel().rows.length>0?h.getRowModel().rows.map(e=>(0,s.jsxs)(a.Fragment,{children:[(0,s.jsx)(n.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,s.jsx)(n.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,r.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,s.jsx)(n.SC,{children:(0,s.jsx)(n.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,s.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:d({row:e})})})})]},e.id)):(0,s.jsx)(n.SC,{children:(0,s.jsx)(n.pj,{colSpan:t.length,className:"h-8 text-center",children:(0,s.jsx)("div",{className:"text-center text-gray-500",children:(0,s.jsx)("p",{children:u})})})})})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1253-2b34d3143d8d93c5.js b/litellm/proxy/_experimental/out/_next/static/chunks/1253-154d1dd5b99252f0.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/1253-2b34d3143d8d93c5.js rename to litellm/proxy/_experimental/out/_next/static/chunks/1253-154d1dd5b99252f0.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1301-1fba10f78d668785.js b/litellm/proxy/_experimental/out/_next/static/chunks/1301-1fba10f78d668785.js deleted file mode 100644 index 8d1c780648..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/1301-1fba10f78d668785.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1301,1623],{69993:function(e,t,r){r.d(t,{Z:function(){return s}});var n=r(1119),a=r(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},o=r(55015),s=a.forwardRef(function(e,t){return a.createElement(o.Z,(0,n.Z)({},e,{ref:t,icon:i}))})},58747:function(e,t,r){r.d(t,{Z:function(){return i}});var n=r(5853),a=r(2265);let i=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"}))}},4537:function(e,t,r){r.d(t,{Z:function(){return i}});var n=r(5853),a=r(2265);let i=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z"}))}},47323:function(e,t,r){r.d(t,{Z:function(){return p}});var n=r(5853),a=r(2265),i=r(47187),o=r(7084),s=r(13241),l=r(1153),u=r(26898);let d={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},c={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},h={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},f=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,s.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,l.bM)(t,u.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,s.q)((0,l.bM)(t,u.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},m=(0,l.fn)("Icon"),p=a.forwardRef((e,t)=>{let{icon:r,variant:u="simple",tooltip:p,size:g=o.u8.SM,color:b,className:v}=e,w=(0,n._T)(e,["icon","variant","tooltip","size","color","className"]),y=f(u,b),{tooltipProps:k,getReferenceProps:C}=(0,i.l)();return a.createElement("span",Object.assign({ref:(0,l.lq)([t,k.refs.setReference]),className:(0,s.q)(m("root"),"inline-flex shrink-0 items-center justify-center",y.bgColor,y.textColor,y.borderColor,y.ringColor,h[u].rounded,h[u].border,h[u].shadow,h[u].ring,d[g].paddingX,d[g].paddingY,v)},C,w),a.createElement(i.Z,Object.assign({text:p},k)),a.createElement(r,{className:(0,s.q)(m("icon"),"shrink-0",c[g].height,c[g].width)}))});p.displayName="Icon"},27281:function(e,t,r){r.d(t,{Z:function(){return m}});var n=r(5853),a=r(58747),i=r(2265),o=r(4537),s=r(13241),l=r(1153),u=r(96398),d=r(51975),c=r(85238),h=r(44140);let f=(0,l.fn)("Select"),m=i.forwardRef((e,t)=>{let{defaultValue:r="",value:l,onValueChange:m,placeholder:p="Select...",disabled:g=!1,icon:b,enableClear:v=!1,required:w,children:y,name:k,error:C=!1,errorMessage:x,className:E,id:M}=e,q=(0,n._T)(e,["defaultValue","value","onValueChange","placeholder","disabled","icon","enableClear","required","children","name","error","errorMessage","className","id"]),O=(0,i.useRef)(null),L=i.Children.toArray(y),[N,P]=(0,h.Z)(r,l),R=(0,i.useMemo)(()=>{let e=i.Children.toArray(y).filter(i.isValidElement);return(0,u.sl)(e)},[y]);return i.createElement("div",{className:(0,s.q)("w-full min-w-[10rem] text-tremor-default",E)},i.createElement("div",{className:"relative"},i.createElement("select",{title:"select-hidden",required:w,className:(0,s.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:N,onChange:e=>{e.preventDefault()},name:k,disabled:g,id:M,onFocus:()=>{let e=O.current;e&&e.focus()}},i.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},p),L.map(e=>{let t=e.props.value,r=e.props.children;return i.createElement("option",{className:"hidden",key:t,value:t},r)})),i.createElement(d.Ri,Object.assign({as:"div",ref:t,defaultValue:N,value:N,onChange:e=>{null==m||m(e),P(e)},disabled:g,id:M},q),e=>{var t;let{value:r}=e;return i.createElement(i.Fragment,null,i.createElement(d.Y4,{ref:O,className:(0,s.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-2","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",b?"pl-10":"pl-3",(0,u.um)((0,u.Uh)(r),g,C))},b&&i.createElement("span",{className:(0,s.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},i.createElement(b,{className:(0,s.q)(f("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),i.createElement("span",{className:"w-[90%] block truncate"},r&&null!==(t=R.get(r))&&void 0!==t?t:p),i.createElement("span",{className:(0,s.q)("absolute inset-y-0 right-0 flex items-center mr-3")},i.createElement(a.Z,{className:(0,s.q)(f("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),v&&N?i.createElement("button",{type:"button",className:(0,s.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),P(""),null==m||m("")}},i.createElement(o.Z,{className:(0,s.q)(f("clearIcon"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,i.createElement(c.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},i.createElement(d.O_,{anchor:"bottom start",className:(0,s.q)("z-10 w-[var(--button-width)] divide-y overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},y)))})),C&&x?i.createElement("p",{className:(0,s.q)("errorMessage","text-sm text-rose-500 mt-1")},x):null)});m.displayName="Select"},94789:function(e,t,r){r.d(t,{Z:function(){return u}});var n=r(5853),a=r(2265),i=r(26898),o=r(13241),s=r(1153);let l=(0,s.fn)("Callout"),u=a.forwardRef((e,t)=>{let{title:r,icon:u,color:d,className:c,children:h}=e,f=(0,n._T)(e,["title","icon","color","className","children"]);return a.createElement("div",Object.assign({ref:t,className:(0,o.q)(l("root"),"flex flex-col overflow-hidden rounded-tremor-default text-tremor-default border-l-4 py-3 pr-3 pl-4",d?(0,o.q)((0,s.bM)(d,i.K.background).bgColor,(0,s.bM)(d,i.K.darkBorder).borderColor,(0,s.bM)(d,i.K.darkText).textColor,"dark:bg-opacity-10 bg-opacity-10"):(0,o.q)("bg-tremor-brand-faint border-tremor-brand-emphasis text-tremor-brand-emphasis","dark:bg-dark-tremor-brand-muted/70 dark:border-dark-tremor-brand-emphasis dark:text-dark-tremor-brand-emphasis"),c)},f),a.createElement("div",{className:(0,o.q)(l("header"),"flex items-start")},u?a.createElement(u,{className:(0,o.q)(l("icon"),"flex-none h-5 w-5 mr-1.5")}):null,a.createElement("h4",{className:(0,o.q)(l("title"),"font-semibold")},r)),a.createElement("p",{className:(0,o.q)(l("body"),"overflow-y-auto",h?"mt-2":"")},h))});u.displayName="Callout"},44140:function(e,t,r){r.d(t,{Z:function(){return a}});var n=r(2265);let a=(e,t)=>{let r=void 0!==t,[a,i]=(0,n.useState)(e);return[r?t:a,e=>{r||i(e)}]}},32489:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},10900:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=a},91777:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"}))});t.Z=a},47686:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});t.Z=a},44633:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=a},58710:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=a},82182:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}))});t.Z=a},79814:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"}))});t.Z=a},2356:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"}))});t.Z=a},93416:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});t.Z=a},77355:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=a},22452:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"}))});t.Z=a},25327:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"}))});t.Z=a},49084:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});t.Z=a},3497:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"}))});t.Z=a},2894:function(e,t,r){r.d(t,{R:function(){return s},m:function(){return o}});var n=r(18238),a=r(7989),i=r(11255),o=class extends a.F{#e;#t;#r;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||s(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#a({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=(0,i.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let n="pending"===this.state.status,a=!this.#n.canStart();try{if(n)t();else{this.#a({type:"pending",variables:e,isPaused:a}),await this.#r.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#a({type:"pending",context:t,variables:e,isPaused:a})}let i=await this.#n.start();return await this.#r.config.onSuccess?.(i,e,this.state.context,this,r),await this.options.onSuccess?.(i,e,this.state.context,r),await this.#r.config.onSettled?.(i,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(i,null,e,this.state.context,r),this.#a({type:"success",data:i}),i}catch(t){try{throw await this.#r.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#a({type:"error",error:t})}}finally{this.#r.runNext(this)}}#a(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function s(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21623:function(e,t,r){r.d(t,{S:function(){return p}});var n=r(45345),a=r(21733),i=r(18238),o=r(24112),s=class extends o.l{constructor(e={}){super(),this.config=e,this.#i=new Map}#i;build(e,t,r){let i=t.queryKey,o=t.queryHash??(0,n.Rm)(i,t),s=this.get(o);return s||(s=new a.A({client:e,queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(s)),s}add(e){this.#i.has(e.queryHash)||(this.#i.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#i.get(e.queryHash);t&&(e.destroy(),t===e&&this.#i.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){i.Vr.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#i.get(e)}getAll(){return[...this.#i.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n._x)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n._x)(e,t)):t}notify(e){i.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){i.Vr.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){i.Vr.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=r(2894),u=class extends o.l{constructor(e={}){super(),this.config=e,this.#o=new Set,this.#s=new Map,this.#l=0}#o;#s;#l;build(e,t,r){let n=new l.m({client:e,mutationCache:this,mutationId:++this.#l,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#o.add(e);let t=d(e);if("string"==typeof t){let r=this.#s.get(t);r?r.push(e):this.#s.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#o.delete(e)){let t=d(e);if("string"==typeof t){let r=this.#s.get(t);if(r){if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#s.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=d(e);if("string"!=typeof t)return!0;{let r=this.#s.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=d(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#s.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){i.Vr.batch(()=>{this.#o.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#o.clear(),this.#s.clear()})}getAll(){return Array.from(this.#o)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.X7)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.X7)(e,t))}notify(e){i.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return i.Vr.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.ZT))))}};function d(e){return e.options.scope?.id}var c=r(87045),h=r(57853);function f(e){return{onFetch:(t,r)=>{let a=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],s=t.state.data?.pageParams||[],l={pages:[],pageParams:[]},u=0,d=async()=>{let r=!1,d=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)})},c=(0,n.cG)(t.options,t.fetchOptions),h=async(e,a,i)=>{if(r)return Promise.reject();if(null==a&&e.pages.length)return Promise.resolve(e);let o=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:a,direction:i?"backward":"forward",meta:t.options.meta};return d(e),e})(),s=await c(o),{maxPages:l}=t.options,u=i?n.Ht:n.VX;return{pages:u(e.pages,s,l),pageParams:u(e.pageParams,a,l)}};if(i&&o.length){let e="backward"===i,t={pages:o,pageParams:s},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:m)(a,t);l=await h(t,r,e)}else{let t=e??o.length;do{let e=0===u?s[0]??a.initialPageParam:m(a,l);if(u>0&&null==e)break;l=await h(l,e),u++}while(ut.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=d}}}function m(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var p=class{#u;#r;#d;#c;#h;#f;#m;#p;constructor(e={}){this.#u=e.queryCache||new s,this.#r=e.mutationCache||new u,this.#d=e.defaultOptions||{},this.#c=new Map,this.#h=new Map,this.#f=0}mount(){this.#f++,1===this.#f&&(this.#m=c.j.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#u.onFocus())}),this.#p=h.N.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#u.onOnline())}))}unmount(){this.#f--,0===this.#f&&(this.#m?.(),this.#m=void 0,this.#p?.(),this.#p=void 0)}isFetching(e){return this.#u.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#r.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#u.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#u.build(this,t),a=r.state.data;return void 0===a?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.KC)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(a))}getQueriesData(e){return this.#u.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let a=this.defaultQueryOptions({queryKey:e}),i=this.#u.get(a.queryHash),o=i?.state.data,s=(0,n.SE)(t,o);if(void 0!==s)return this.#u.build(this,a).setData(s,{...r,manual:!0})}setQueriesData(e,t,r){return i.Vr.batch(()=>this.#u.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#u.get(t.queryHash)?.state}removeQueries(e){let t=this.#u;i.Vr.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#u;return i.Vr.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(i.Vr.batch(()=>this.#u.findAll(e).map(e=>e.cancel(r)))).then(n.ZT).catch(n.ZT)}invalidateQueries(e,t={}){return i.Vr.batch(()=>(this.#u.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(i.Vr.batch(()=>this.#u.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.ZT)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.ZT)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#u.build(this,t);return r.isStaleByTime((0,n.KC)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.ZT).catch(n.ZT)}fetchInfiniteQuery(e){return e.behavior=f(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.ZT).catch(n.ZT)}ensureInfiniteQueryData(e){return e.behavior=f(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return h.N.isOnline()?this.#r.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#u}getMutationCache(){return this.#r}getDefaultOptions(){return this.#d}setDefaultOptions(e){this.#d=e}setQueryDefaults(e,t){this.#c.set((0,n.Ym)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#c.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#h.set((0,n.Ym)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#h.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#d.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.Rm)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.CN&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#d.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#u.clear(),this.#r.clear()}}},85238:function(e,t,r){let n;r.d(t,{u:function(){return L}});var a=r(2265),i=r(59456),o=r(93980),s=r(25289),l=r(73389),u=r(43507),d=r(180),c=r(67561),h=r(98218),f=r(28294),m=r(95504),p=r(72468),g=r(38929);function b(e){var t;return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||(null!=(t=e.as)?t:x)!==a.Fragment||1===a.Children.count(e.children)}let v=(0,a.createContext)(null);v.displayName="TransitionContext";var w=((n=w||{}).Visible="visible",n.Hidden="hidden",n);let y=(0,a.createContext)(null);function k(e){return"children"in e?k(e.children):e.current.filter(e=>{let{el:t}=e;return null!==t.current}).filter(e=>{let{state:t}=e;return"visible"===t}).length>0}function C(e,t){let r=(0,u.E)(e),n=(0,a.useRef)([]),l=(0,s.t)(),d=(0,i.G)(),c=(0,o.z)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g.l4.Hidden,a=n.current.findIndex(t=>{let{el:r}=t;return r===e});-1!==a&&((0,p.E)(t,{[g.l4.Unmount](){n.current.splice(a,1)},[g.l4.Hidden](){n.current[a].state="hidden"}}),d.microTask(()=>{var e;!k(n)&&l.current&&(null==(e=r.current)||e.call(r))}))}),h=(0,o.z)(e=>{let t=n.current.find(t=>{let{el:r}=t;return r===e});return t?"visible"!==t.state&&(t.state="visible"):n.current.push({el:e,state:"visible"}),()=>c(e,g.l4.Unmount)}),f=(0,a.useRef)([]),m=(0,a.useRef)(Promise.resolve()),b=(0,a.useRef)({enter:[],leave:[]}),v=(0,o.z)((e,r,n)=>{f.current.splice(0),t&&(t.chains.current[r]=t.chains.current[r].filter(t=>{let[r]=t;return r!==e})),null==t||t.chains.current[r].push([e,new Promise(e=>{f.current.push(e)})]),null==t||t.chains.current[r].push([e,new Promise(e=>{Promise.all(b.current[r].map(e=>{let[t,r]=e;return r})).then(()=>e())})]),"enter"===r?m.current=m.current.then(()=>null==t?void 0:t.wait.current).then(()=>n(r)):n(r)}),w=(0,o.z)((e,t,r)=>{Promise.all(b.current[t].splice(0).map(e=>{let[t,r]=e;return r})).then(()=>{var e;null==(e=f.current.shift())||e()}).then(()=>r(t))});return(0,a.useMemo)(()=>({children:n,register:h,unregister:c,onStart:v,onStop:w,wait:m,chains:b}),[h,c,n,v,w,b,m])}y.displayName="NestingContext";let x=a.Fragment,E=g.VN.RenderStrategy,M=(0,g.yV)(function(e,t){let{show:r,appear:n=!1,unmount:i=!0,...s}=e,u=(0,a.useRef)(null),h=b(e),m=(0,c.T)(...h?[u,t]:null===t?[]:[t]);(0,d.H)();let p=(0,f.oJ)();if(void 0===r&&null!==p&&(r=(p&f.ZM.Open)===f.ZM.Open),void 0===r)throw Error("A is used but it is missing a `show={true | false}` prop.");let[w,x]=(0,a.useState)(r?"visible":"hidden"),M=C(()=>{r||x("hidden")}),[O,L]=(0,a.useState)(!0),N=(0,a.useRef)([r]);(0,l.e)(()=>{!1!==O&&N.current[N.current.length-1]!==r&&(N.current.push(r),L(!1))},[N,r]);let P=(0,a.useMemo)(()=>({show:r,appear:n,initial:O}),[r,n,O]);(0,l.e)(()=>{r?x("visible"):k(M)||null===u.current||x("hidden")},[r,M]);let R={unmount:i},j=(0,o.z)(()=>{var t;O&&L(!1),null==(t=e.beforeEnter)||t.call(e)}),T=(0,o.z)(()=>{var t;O&&L(!1),null==(t=e.beforeLeave)||t.call(e)}),Z=(0,g.L6)();return a.createElement(y.Provider,{value:M},a.createElement(v.Provider,{value:P},Z({ourProps:{...R,as:a.Fragment,children:a.createElement(q,{ref:m,...R,...s,beforeEnter:j,beforeLeave:T})},theirProps:{},defaultTag:a.Fragment,features:E,visible:"visible"===w,name:"Transition"})))}),q=(0,g.yV)(function(e,t){var r,n;let{transition:i=!0,beforeEnter:s,afterEnter:u,beforeLeave:w,afterLeave:M,enter:q,enterFrom:O,enterTo:L,entered:N,leave:P,leaveFrom:R,leaveTo:j,...T}=e,[Z,D]=(0,a.useState)(null),Q=(0,a.useRef)(null),A=b(e),S=(0,c.T)(...A?[Q,t,D]:null===t?[]:[t]),V=null==(r=T.unmount)||r?g.l4.Unmount:g.l4.Hidden,{show:F,appear:z,initial:K}=function(){let e=(0,a.useContext)(v);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),[H,B]=(0,a.useState)(F?"visible":"hidden"),I=function(){let e=(0,a.useContext)(y);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),{register:_,unregister:W}=I;(0,l.e)(()=>_(Q),[_,Q]),(0,l.e)(()=>{if(V===g.l4.Hidden&&Q.current){if(F&&"visible"!==H){B("visible");return}return(0,p.E)(H,{hidden:()=>W(Q),visible:()=>_(Q)})}},[H,Q,_,W,F,V]);let Y=(0,d.H)();(0,l.e)(()=>{if(A&&Y&&"visible"===H&&null===Q.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[Q,H,Y,A]);let X=K&&!z,G=z&&F&&K,U=(0,a.useRef)(!1),J=C(()=>{U.current||(B("hidden"),W(Q))},I),$=(0,o.z)(e=>{U.current=!0,J.onStart(Q,e?"enter":"leave",e=>{"enter"===e?null==s||s():"leave"===e&&(null==w||w())})}),ee=(0,o.z)(e=>{let t=e?"enter":"leave";U.current=!1,J.onStop(Q,t,e=>{"enter"===e?null==u||u():"leave"===e&&(null==M||M())}),"leave"!==t||k(J)||(B("hidden"),W(Q))});(0,a.useEffect)(()=>{A&&i||($(F),ee(F))},[F,A,i]);let et=!(!i||!A||!Y||X),[,er]=(0,h.Y)(et,Z,F,{start:$,end:ee}),en=(0,g.oA)({ref:S,className:(null==(n=(0,m.A)(T.className,G&&q,G&&O,er.enter&&q,er.enter&&er.closed&&O,er.enter&&!er.closed&&L,er.leave&&P,er.leave&&!er.closed&&R,er.leave&&er.closed&&j,!er.transition&&F&&N))?void 0:n.trim())||void 0,...(0,h.X)(er)}),ea=0;"visible"===H&&(ea|=f.ZM.Open),"hidden"===H&&(ea|=f.ZM.Closed),er.enter&&(ea|=f.ZM.Opening),er.leave&&(ea|=f.ZM.Closing);let ei=(0,g.L6)();return a.createElement(y.Provider,{value:J},a.createElement(f.up,{value:ea},ei({ourProps:en,theirProps:T,defaultTag:x,features:E,visible:"visible"===H,name:"Transition.Child"})))}),O=(0,g.yV)(function(e,t){let r=null!==(0,a.useContext)(v),n=null!==(0,f.oJ)();return a.createElement(a.Fragment,null,!r&&n?a.createElement(M,{ref:t,...e}):a.createElement(q,{ref:t,...e}))}),L=Object.assign(M,{Child:O,Root:M})},92668:function(e,t,r){r.d(t,{I:function(){return s}});var n=r(59121),a=r(31091),i=r(63497),o=r(99649);function s(e,t){let{years:r=0,months:s=0,weeks:l=0,days:u=0,hours:d=0,minutes:c=0,seconds:h=0}=t,f=(0,o.Q)(e),m=s||r?(0,a.z)(f,s+12*r):f,p=u||l?(0,n.E)(m,u+7*l):m;return(0,i.L)(e,p.getTime()+1e3*(h+60*(c+60*d)))}},59121:function(e,t,r){r.d(t,{E:function(){return i}});var n=r(99649),a=r(63497);function i(e,t){let r=(0,n.Q)(e);return isNaN(t)?(0,a.L)(e,NaN):(t&&r.setDate(r.getDate()+t),r)}},31091:function(e,t,r){r.d(t,{z:function(){return i}});var n=r(99649),a=r(63497);function i(e,t){let r=(0,n.Q)(e);if(isNaN(t))return(0,a.L)(e,NaN);if(!t)return r;let i=r.getDate(),o=(0,a.L)(e,r.getTime());return(o.setMonth(r.getMonth()+t+1,0),i>=o.getDate())?o:(r.setFullYear(o.getFullYear(),o.getMonth(),i),r)}},63497:function(e,t,r){r.d(t,{L:function(){return n}});function n(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}},99649:function(e,t,r){r.d(t,{Q:function(){return n}});function n(e){let t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):new Date("number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?e:NaN)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1345-c68e14accc28d43b.js b/litellm/proxy/_experimental/out/_next/static/chunks/1345-c68e14accc28d43b.js deleted file mode 100644 index 6c03090144..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/1345-c68e14accc28d43b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1345,4546,7996],{88009:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},37527:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z"}}]},name:"bank",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},9775:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z"}}]},name:"bar-chart",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},11429:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z"}}]},name:"bg-colors",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},68208:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z"}}]},name:"block",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},49634:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},99458:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z"}}]},name:"credit-card",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},41169:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z"}}]},name:"experiment",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},10798:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z"}}]},name:"filter",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},64739:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},48231:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z"}}]},name:"line-chart",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},28595:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M719.4 499.1l-296.1-215A15.9 15.9 0 00398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 000-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z"}}]},name:"play-circle",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},34419:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},23907:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2a15.99 15.99 0 00-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-.9 3.7-.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 .7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-.8 4.2-2.6 5-5 1.4-4.2-.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z"}}]},name:"send",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},40312:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z"}}]},name:"shopping-cart",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},41361:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z"}}]},name:"team",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},47323:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=r(5853),o=r(2265),a=r(47187),l=r(7084),c=r(13241),i=r(1153),s=r(26898);let d={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},u={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},m={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},p=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,i.bM)(t,s.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,c.q)((0,i.bM)(t,s.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},h=(0,i.fn)("Icon"),f=o.forwardRef((e,t)=>{let{icon:r,variant:s="simple",tooltip:f,size:b=l.u8.SM,color:g,className:v}=e,k=(0,n._T)(e,["icon","variant","tooltip","size","color","className"]),x=p(s,g),{tooltipProps:y,getReferenceProps:w}=(0,a.l)();return o.createElement("span",Object.assign({ref:(0,i.lq)([t,y.refs.setReference]),className:(0,c.q)(h("root"),"inline-flex shrink-0 items-center justify-center",x.bgColor,x.textColor,x.borderColor,x.ringColor,m[s].rounded,m[s].border,m[s].shadow,m[s].ring,d[b].paddingX,d[b].paddingY,v)},w,k),o.createElement(a.Z,Object.assign({text:f},y)),o.createElement(r,{className:(0,c.q)(h("icon"),"shrink-0",u[b].height,u[b].width)}))});f.displayName="Icon"},92414:function(e,t,r){"use strict";r.d(t,{Z:function(){return g}});var n=r(5853),o=r(2265);r(42698),r(64016),r(8710);var a=r(33232),l=r(44140),c=r(58747);let i=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),o.createElement("path",{d:"M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z"}))};var s=r(4537);let d=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t),o.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))};var u=r(13241),m=r(1153),p=r(96398),h=r(51975),f=r(85238);let b=(0,m.fn)("MultiSelect"),g=o.forwardRef((e,t)=>{let{defaultValue:r=[],value:m,onValueChange:g,placeholder:v="Select...",placeholderSearch:k="Search",disabled:x=!1,icon:y,children:w,className:E,required:C,name:O,error:M=!1,errorMessage:j,id:N}=e,S=(0,n._T)(e,["defaultValue","value","onValueChange","placeholder","placeholderSearch","disabled","icon","children","className","required","name","error","errorMessage","id"]),Z=(0,o.useRef)(null),[z,H]=(0,l.Z)(r,m),{reactElementChildren:L,optionsAvailable:R}=(0,o.useMemo)(()=>{let e=o.Children.toArray(w).filter(o.isValidElement);return{reactElementChildren:e,optionsAvailable:(0,p.n0)("",e)}},[w]),[I,q]=(0,o.useState)(""),V=(null!=z?z:[]).length>0,T=(0,o.useMemo)(()=>I?(0,p.n0)(I,L):R,[I,L,R]),P=()=>{q("")};return o.createElement("div",{className:(0,u.q)("w-full min-w-[10rem] text-tremor-default",E)},o.createElement("div",{className:"relative"},o.createElement("select",{title:"multi-select-hidden",required:C,className:(0,u.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:z,onChange:e=>{e.preventDefault()},name:O,disabled:x,multiple:!0,id:N,onFocus:()=>{let e=Z.current;e&&e.focus()}},o.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},v),T.map(e=>{let t=e.props.value,r=e.props.children;return o.createElement("option",{className:"hidden",key:t,value:t},r)})),o.createElement(h.Ri,Object.assign({as:"div",ref:t,defaultValue:z,value:z,onChange:e=>{null==g||g(e),H(e)},disabled:x,id:N,multiple:!0},S),e=>{let{value:t}=e;return o.createElement(o.Fragment,null,o.createElement(h.Y4,{className:(0,u.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-1.5","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",y?"pl-11 -ml-0.5":"pl-3",(0,p.um)(t.length>0,x,M)),ref:Z},y&&o.createElement("span",{className:(0,u.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},o.createElement(y,{className:(0,u.q)(b("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),o.createElement("div",{className:"h-6 flex items-center"},t.length>0?o.createElement("div",{className:"flex flex-nowrap overflow-x-scroll [&::-webkit-scrollbar]:hidden [scrollbar-width:none] gap-x-1 mr-5 -ml-1.5 relative"},R.filter(e=>t.includes(e.props.value)).map((e,r)=>{var n;return o.createElement("div",{key:r,className:(0,u.q)("max-w-[100px] lg:max-w-[200px] flex justify-center items-center pl-2 pr-1.5 py-1 font-medium","rounded-tremor-small","bg-tremor-background-muted dark:bg-dark-tremor-background-muted","bg-tremor-background-subtle dark:bg-dark-tremor-background-subtle","text-tremor-content-default dark:text-dark-tremor-content-default","text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis")},o.createElement("div",{className:"text-xs truncate "},null!==(n=e.props.children)&&void 0!==n?n:e.props.value),o.createElement("div",{onClick:r=>{r.preventDefault();let n=t.filter(t=>t!==e.props.value);null==g||g(n),H(n)}},o.createElement(d,{className:(0,u.q)(b("clearIconItem"),"cursor-pointer rounded-tremor-full w-3.5 h-3.5 ml-2","text-tremor-content-subtle hover:text-tremor-content","dark:text-dark-tremor-content-subtle dark:hover:text-tremor-content")})))})):o.createElement("span",null,v)),o.createElement("span",{className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-2.5")},o.createElement(c.Z,{className:(0,u.q)(b("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),V&&!x?o.createElement("button",{type:"button",className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),H([]),null==g||g([])}},o.createElement(s.Z,{className:(0,u.q)(b("clearIconAllItems"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,o.createElement(f.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},o.createElement(h.O_,{anchor:"bottom start",className:(0,u.q)("z-10 divide-y w-[var(--button-width)] overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},o.createElement("div",{className:(0,u.q)("flex items-center w-full px-2.5","bg-tremor-background-muted","dark:bg-dark-tremor-background-muted")},o.createElement("span",null,o.createElement(i,{className:(0,u.q)("flex-none w-4 h-4 mr-2","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),o.createElement("input",{name:"search",type:"input",autoComplete:"off",placeholder:k,className:(0,u.q)("w-full focus:outline-none focus:ring-none bg-transparent text-tremor-default py-2","text-tremor-content-emphasis","dark:text-dark-tremor-content-subtle"),onKeyDown:e=>{"Space"===e.code&&""!==e.target.value&&e.stopPropagation()},onChange:e=>q(e.target.value),value:I})),o.createElement(a.Z.Provider,Object.assign({},{onBlur:{handleResetSearch:P}},{value:{selectedValue:t}}),T))))})),M&&j?o.createElement("p",{className:(0,u.q)("errorMessage","text-sm text-rose-500 mt-1")},j):null)});g.displayName="MultiSelect"},46030:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(5853);r(42698),r(64016),r(8710);var o=r(33232),a=r(2265),l=r(13241),c=r(1153),i=r(51975);let s=(0,c.fn)("MultiSelectItem"),d=a.forwardRef((e,t)=>{let{value:r,className:d,children:u}=e,m=(0,n._T)(e,["value","className","children"]),{selectedValue:p}=(0,a.useContext)(o.Z),h=(0,c.NZ)(r,p);return a.createElement(i.wt,Object.assign({className:(0,l.q)(s("root"),"flex justify-start items-center cursor-default text-tremor-default p-2.5","data-[focus]:bg-tremor-background-muted data-[focus]:text-tremor-content-strong data-[select]ed:text-tremor-content-strong text-tremor-content-emphasis","dark:data-[focus]:bg-dark-tremor-background-muted dark:data-[focus]:text-dark-tremor-content-strong dark:data-[select]ed:text-dark-tremor-content-strong dark:data-[select]ed:bg-dark-tremor-background-muted dark:text-dark-tremor-content-emphasis",d),ref:t,key:r,value:r},m),a.createElement("input",{type:"checkbox",className:(0,l.q)(s("checkbox"),"flex-none focus:ring-none focus:outline-none cursor-pointer mr-2.5","accent-tremor-brand","dark:accent-dark-tremor-brand"),checked:h,readOnly:!0}),a.createElement("span",{className:"whitespace-nowrap truncate"},null!=u?u:r))});d.displayName="MultiSelectItem"},30150:function(e,t,r){"use strict";r.d(t,{Z:function(){return m}});var n=r(5853),o=r(2265);let a=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),o.createElement("path",{d:"M12 4v16m8-8H4"}))},l=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),o.createElement("path",{d:"M20 12H4"}))};var c=r(13241),i=r(1153),s=r(69262);let d="flex mx-auto text-tremor-content-subtle dark:text-dark-tremor-content-subtle",u="cursor-pointer hover:text-tremor-content dark:hover:text-dark-tremor-content",m=o.forwardRef((e,t)=>{let{onSubmit:r,enableStepper:m=!0,disabled:p,onValueChange:h,onChange:f}=e,b=(0,n._T)(e,["onSubmit","enableStepper","disabled","onValueChange","onChange"]),g=(0,o.useRef)(null),[v,k]=o.useState(!1),x=o.useCallback(()=>{k(!0)},[]),y=o.useCallback(()=>{k(!1)},[]),[w,E]=o.useState(!1),C=o.useCallback(()=>{E(!0)},[]),O=o.useCallback(()=>{E(!1)},[]);return o.createElement(s.Z,Object.assign({type:"number",ref:(0,i.lq)([g,t]),disabled:p,makeInputClassName:(0,i.fn)("NumberInput"),onKeyDown:e=>{var t;if("Enter"===e.key&&!e.ctrlKey&&!e.altKey&&!e.shiftKey){let e=null===(t=g.current)||void 0===t?void 0:t.value;null==r||r(parseFloat(null!=e?e:""))}"ArrowDown"===e.key&&x(),"ArrowUp"===e.key&&C()},onKeyUp:e=>{"ArrowDown"===e.key&&y(),"ArrowUp"===e.key&&O()},onChange:e=>{p||(null==h||h(parseFloat(e.target.value)),null==f||f(e))},stepper:m?o.createElement("div",{className:(0,c.q)("flex justify-center align-middle")},o.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;p||(null===(e=g.current)||void 0===e||e.stepDown(),null===(t=g.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,c.q)(!p&&u,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},o.createElement(l,{"data-testid":"step-down",className:(v?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"})),o.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;p||(null===(e=g.current)||void 0===e||e.stepUp(),null===(t=g.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,c.q)(!p&&u,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},o.createElement(a,{"data-testid":"step-up",className:(w?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"}))):null},b))});m.displayName="NumberInput"},16853:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(5853),o=r(96398),a=r(44140),l=r(2265),c=r(13241),i=r(1153);let s=(0,i.fn)("Textarea"),d=l.forwardRef((e,t)=>{let{value:r,defaultValue:d="",placeholder:u="Type...",error:m=!1,errorMessage:p,disabled:h=!1,className:f,onChange:b,onValueChange:g,autoHeight:v=!1}=e,k=(0,n._T)(e,["value","defaultValue","placeholder","error","errorMessage","disabled","className","onChange","onValueChange","autoHeight"]),[x,y]=(0,a.Z)(d,r),w=(0,l.useRef)(null),E=(0,o.Uh)(x);return(0,l.useEffect)(()=>{let e=w.current;if(v&&e){e.style.height="60px";let t=e.scrollHeight;e.style.height=t+"px"}},[v,w,x]),l.createElement(l.Fragment,null,l.createElement("textarea",Object.assign({ref:(0,i.lq)([w,t]),value:x,placeholder:u,disabled:h,className:(0,c.q)(s("Textarea"),"w-full flex items-center outline-none rounded-tremor-default px-3 py-2 text-tremor-default focus:ring-2 transition duration-100 border","shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:shadow-dark-tremor-input focus:dark:border-dark-tremor-brand-subtle focus:dark:ring-dark-tremor-brand-muted",(0,o.um)(E,h,m),h?"placeholder:text-tremor-content-subtle dark:placeholder:text-dark-tremor-content-subtle":"placeholder:text-tremor-content dark:placeholder:text-dark-tremor-content",f),"data-testid":"text-area",onChange:e=>{null==b||b(e),y(e.target.value),null==g||g(e.target.value)}},k)),m&&p?l.createElement("p",{className:(0,c.q)(s("errorMessage"),"text-sm text-red-500 mt-1")},p):null)});d.displayName="Textarea"},87452:function(e,t,r){"use strict";r.d(t,{Z:function(){return u},r:function(){return d}});var n=r(5853),o=r(91054);r(42698),r(64016);var a=r(8710);r(33232);var l=r(13241),c=r(1153),i=r(2265);let s=(0,c.fn)("Accordion"),d=(0,i.createContext)({isOpen:!1}),u=i.forwardRef((e,t)=>{var r;let{defaultOpen:c=!1,children:u,className:m}=e,p=(0,n._T)(e,["defaultOpen","children","className"]),h=null!==(r=(0,i.useContext)(a.Z))&&void 0!==r?r:(0,l.q)("rounded-tremor-default border");return i.createElement(o.pJ,Object.assign({as:"div",ref:t,className:(0,l.q)(s("root"),"overflow-hidden","bg-tremor-background border-tremor-border","dark:bg-dark-tremor-background dark:border-dark-tremor-border",h,m),defaultOpen:c},p),e=>{let{open:t}=e;return i.createElement(d.Provider,{value:{isOpen:t}},u)})});u.displayName="Accordion"},88829:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(5853),o=r(2265),a=r(91054),l=r(13241);let c=(0,r(1153).fn)("AccordionBody"),i=o.forwardRef((e,t)=>{let{children:r,className:i}=e,s=(0,n._T)(e,["children","className"]);return o.createElement(a.pJ.Panel,Object.assign({ref:t,className:(0,l.q)(c("root"),"w-full text-tremor-default px-4 pb-3","text-tremor-content","dark:text-dark-tremor-content",i)},s),r)});i.displayName="AccordionBody"},72208:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(5853),o=r(2265),a=r(91054);let l=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),o.createElement("path",{d:"M11.9999 10.8284L7.0502 15.7782L5.63599 14.364L11.9999 8L18.3639 14.364L16.9497 15.7782L11.9999 10.8284Z"}))};var c=r(87452),i=r(13241);let s=(0,r(1153).fn)("AccordionHeader"),d=o.forwardRef((e,t)=>{let{children:r,className:d}=e,u=(0,n._T)(e,["children","className"]),{isOpen:m}=(0,o.useContext)(c.r);return o.createElement(a.pJ.Button,Object.assign({ref:t,className:(0,i.q)(s("root"),"w-full flex items-center justify-between px-4 py-3","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis",d)},u),o.createElement("div",{className:(0,i.q)(s("children"),"flex flex-1 text-inherit mr-4")},r),o.createElement("div",null,o.createElement(l,{className:(0,i.q)(s("arrowIcon"),"h-5 w-5 -mr-1","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle",m?"transition-all":"transition-all -rotate-180")})))});d.displayName="AccordionHeader"},67982:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(5853),o=r(13241),a=r(1153),l=r(2265);let c=(0,a.fn)("Divider"),i=l.forwardRef((e,t)=>{let{className:r,children:a}=e,i=(0,n._T)(e,["className","children"]);return l.createElement("div",Object.assign({ref:t,className:(0,o.q)(c("root"),"w-full mx-auto my-6 flex justify-between gap-3 items-center text-tremor-default","text-tremor-content","dark:text-dark-tremor-content",r)},i),a?l.createElement(l.Fragment,null,l.createElement("div",{className:(0,o.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")}),l.createElement("div",{className:(0,o.q)("text-inherit whitespace-nowrap")},a),l.createElement("div",{className:(0,o.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")})):l.createElement("div",{className:(0,o.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")}))});i.displayName="Divider"},49804:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(5853),o=r(13241),a=r(1153),l=r(2265),c=r(9496);let i=(0,a.fn)("Col"),s=l.forwardRef((e,t)=>{let{numColSpan:r=1,numColSpanSm:a,numColSpanMd:s,numColSpanLg:d,children:u,className:m}=e,p=(0,n._T)(e,["numColSpan","numColSpanSm","numColSpanMd","numColSpanLg","children","className"]),h=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"";return l.createElement("div",Object.assign({ref:t,className:(0,o.q)(i("root"),(()=>{let e=h(r,c.PT),t=h(a,c.SP),n=h(s,c.VS),l=h(d,c._w);return(0,o.q)(e,t,n,l)})(),m)},p),u)});s.displayName="Col"},94789:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(5853),o=r(2265),a=r(26898),l=r(13241),c=r(1153);let i=(0,c.fn)("Callout"),s=o.forwardRef((e,t)=>{let{title:r,icon:s,color:d,className:u,children:m}=e,p=(0,n._T)(e,["title","icon","color","className","children"]);return o.createElement("div",Object.assign({ref:t,className:(0,l.q)(i("root"),"flex flex-col overflow-hidden rounded-tremor-default text-tremor-default border-l-4 py-3 pr-3 pl-4",d?(0,l.q)((0,c.bM)(d,a.K.background).bgColor,(0,c.bM)(d,a.K.darkBorder).borderColor,(0,c.bM)(d,a.K.darkText).textColor,"dark:bg-opacity-10 bg-opacity-10"):(0,l.q)("bg-tremor-brand-faint border-tremor-brand-emphasis text-tremor-brand-emphasis","dark:bg-dark-tremor-brand-muted/70 dark:border-dark-tremor-brand-emphasis dark:text-dark-tremor-brand-emphasis"),u)},p),o.createElement("div",{className:(0,l.q)(i("header"),"flex items-start")},s?o.createElement(s,{className:(0,l.q)(i("icon"),"flex-none h-5 w-5 mr-1.5")}):null,o.createElement("h4",{className:(0,l.q)(i("title"),"font-semibold")},r)),o.createElement("p",{className:(0,l.q)(i("body"),"overflow-y-auto",m?"mt-2":"")},m))});s.displayName="Callout"},96889:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(5853),o=r(2265),a=r(26898),l=r(13241),c=r(1153);let i=(0,c.fn)("BarList");function s(e,t){let{data:r=[],color:s,valueFormatter:d=c.Cj,showAnimation:u=!1,onValueChange:m,sortOrder:p="descending",className:h}=e,f=(0,n._T)(e,["data","color","valueFormatter","showAnimation","onValueChange","sortOrder","className"]),b=m?"button":"div",g=o.useMemo(()=>"none"===p?r:[...r].sort((e,t)=>"ascending"===p?e.value-t.value:t.value-e.value),[r,p]),v=o.useMemo(()=>{let e=Math.max(...g.map(e=>e.value),0);return g.map(t=>0===t.value?0:Math.max(t.value/e*100,2))},[g]);return o.createElement("div",Object.assign({ref:t,className:(0,l.q)(i("root"),"flex justify-between space-x-6",h),"aria-sort":p},f),o.createElement("div",{className:(0,l.q)(i("bars"),"relative w-full space-y-1.5")},g.map((e,t)=>{var r,n,d;let p=e.icon;return o.createElement(b,{key:null!==(r=e.key)&&void 0!==r?r:t,onClick:()=>{null==m||m(e)},className:(0,l.q)(i("bar"),"group w-full flex items-center rounded-tremor-small",m?["cursor-pointer","hover:bg-tremor-background-muted dark:hover:bg-dark-tremor-background-subtle/40"]:"")},o.createElement("div",{className:(0,l.q)("flex items-center rounded transition-all bg-opacity-40","h-8",e.color||s?[(0,c.bM)(null!==(n=e.color)&&void 0!==n?n:s,a.K.background).bgColor,m?"group-hover:bg-opacity-30":""]:"bg-tremor-brand-subtle dark:bg-dark-tremor-brand-subtle/60",!m||e.color||s?"":"group-hover:bg-tremor-brand-subtle/30 group-hover:dark:bg-dark-tremor-brand-subtle/70",t===g.length-1?"mb-0":"",u?"duration-500":""),style:{width:"".concat(v[t],"%"),transition:u?"all 1s":""}},o.createElement("div",{className:(0,l.q)("absolute left-2 pr-4 flex max-w-full")},p?o.createElement(p,{className:(0,l.q)(i("barIcon"),"flex-none h-5 w-5 mr-2","text-tremor-content","dark:text-dark-tremor-content")}):null,e.href?o.createElement("a",{href:e.href,target:null!==(d=e.target)&&void 0!==d?d:"_blank",rel:"noreferrer",className:(0,l.q)(i("barLink"),"whitespace-nowrap hover:underline truncate text-tremor-default",m?"cursor-pointer":"","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis"),onClick:e=>e.stopPropagation()},e.name):o.createElement("p",{className:(0,l.q)(i("barText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name))))})),o.createElement("div",{className:i("labels")},g.map((e,t)=>{var r;return o.createElement("div",{key:null!==(r=e.key)&&void 0!==r?r:t,className:(0,l.q)(i("labelWrapper"),"flex justify-end items-center","h-8",t===g.length-1?"mb-0":"mb-1.5")},o.createElement("p",{className:(0,l.q)(i("labelText"),"whitespace-nowrap leading-none truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},d(e.value)))})))}s.displayName="BarList";let d=o.forwardRef(s)},51653:function(e,t,r){"use strict";r.d(t,{Z:function(){return q}});var n=r(2265),o=r(8900),a=r(39725),l=r(49638),c=r(54537),i=r(55726),s=r(36760),d=r.n(s),u=r(66632),m=r(18242),p=r(28791),h=r(19722),f=r(71744),b=r(93463),g=r(12918),v=r(99320);let k=(e,t,r,n,o)=>({background:e,border:"".concat((0,b.bf)(n.lineWidth)," ").concat(n.lineType," ").concat(t),["".concat(o,"-icon")]:{color:r}}),x=e=>{let{componentCls:t,motionDurationSlow:r,marginXS:n,marginSM:o,fontSize:a,fontSizeLG:l,lineHeight:c,borderRadiusLG:i,motionEaseInOutCirc:s,withDescriptionIconSize:d,colorText:u,colorTextHeading:m,withDescriptionPadding:p,defaultPadding:h}=e;return{[t]:Object.assign(Object.assign({},(0,g.Wf)(e)),{position:"relative",display:"flex",alignItems:"center",padding:h,wordWrap:"break-word",borderRadius:i,["&".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-content")]:{flex:1,minWidth:0},["".concat(t,"-icon")]:{marginInlineEnd:n,lineHeight:0},"&-description":{display:"none",fontSize:a,lineHeight:c},"&-message":{color:m},["&".concat(t,"-motion-leave")]:{overflow:"hidden",opacity:1,transition:"max-height ".concat(r," ").concat(s,", opacity ").concat(r," ").concat(s,",\n padding-top ").concat(r," ").concat(s,", padding-bottom ").concat(r," ").concat(s,",\n margin-bottom ").concat(r," ").concat(s)},["&".concat(t,"-motion-leave-active")]:{maxHeight:0,marginBottom:"0 !important",paddingTop:0,paddingBottom:0,opacity:0}}),["".concat(t,"-with-description")]:{alignItems:"flex-start",padding:p,["".concat(t,"-icon")]:{marginInlineEnd:o,fontSize:d,lineHeight:0},["".concat(t,"-message")]:{display:"block",marginBottom:n,color:m,fontSize:l},["".concat(t,"-description")]:{display:"block",color:u}},["".concat(t,"-banner")]:{marginBottom:0,border:"0 !important",borderRadius:0}}},y=e=>{let{componentCls:t,colorSuccess:r,colorSuccessBorder:n,colorSuccessBg:o,colorWarning:a,colorWarningBorder:l,colorWarningBg:c,colorError:i,colorErrorBorder:s,colorErrorBg:d,colorInfo:u,colorInfoBorder:m,colorInfoBg:p}=e;return{[t]:{"&-success":k(o,n,r,e,t),"&-info":k(p,m,u,e,t),"&-warning":k(c,l,a,e,t),"&-error":Object.assign(Object.assign({},k(d,s,i,e,t)),{["".concat(t,"-description > pre")]:{margin:0,padding:0}})}}},w=e=>{let{componentCls:t,iconCls:r,motionDurationMid:n,marginXS:o,fontSizeIcon:a,colorIcon:l,colorIconHover:c}=e;return{[t]:{"&-action":{marginInlineStart:o},["".concat(t,"-close-icon")]:{marginInlineStart:o,padding:0,overflow:"hidden",fontSize:a,lineHeight:(0,b.bf)(a),backgroundColor:"transparent",border:"none",outline:"none",cursor:"pointer",["".concat(r,"-close")]:{color:l,transition:"color ".concat(n),"&:hover":{color:c}}},"&-close-text":{color:l,transition:"color ".concat(n),"&:hover":{color:c}}}}};var E=(0,v.I$)("Alert",e=>[x(e),y(e),w(e)],e=>({withDescriptionIconSize:e.fontSizeHeading3,defaultPadding:"".concat(e.paddingContentVerticalSM,"px ").concat(12,"px"),withDescriptionPadding:"".concat(e.paddingMD,"px ").concat(e.paddingContentHorizontalLG,"px")})),C=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let O={success:o.Z,info:i.Z,error:a.Z,warning:c.Z},M=e=>{let{icon:t,prefixCls:r,type:o}=e,a=O[o]||null;return t?(0,h.wm)(t,n.createElement("span",{className:"".concat(r,"-icon")},t),()=>({className:d()("".concat(r,"-icon"),t.props.className)})):n.createElement(a,{className:"".concat(r,"-icon")})},j=e=>{let{isClosable:t,prefixCls:r,closeIcon:o,handleClose:a,ariaProps:c}=e,i=!0===o||void 0===o?n.createElement(l.Z,null):o;return t?n.createElement("button",Object.assign({type:"button",onClick:a,className:"".concat(r,"-close-icon"),tabIndex:0},c),i):null},N=n.forwardRef((e,t)=>{let{description:r,prefixCls:o,message:a,banner:l,className:c,rootClassName:i,style:s,onMouseEnter:h,onMouseLeave:b,onClick:g,afterClose:v,showIcon:k,closable:x,closeText:y,closeIcon:w,action:O,id:N}=e,S=C(e,["description","prefixCls","message","banner","className","rootClassName","style","onMouseEnter","onMouseLeave","onClick","afterClose","showIcon","closable","closeText","closeIcon","action","id"]),[Z,z]=n.useState(!1),H=n.useRef(null);n.useImperativeHandle(t,()=>({nativeElement:H.current}));let{getPrefixCls:L,direction:R,closable:I,closeIcon:q,className:V,style:T}=(0,f.dj)("alert"),P=L("alert",o),[B,_,D]=E(P),A=t=>{var r;z(!0),null===(r=e.onClose)||void 0===r||r.call(e,t)},F=n.useMemo(()=>void 0!==e.type?e.type:l?"warning":"info",[e.type,l]),K=n.useMemo(()=>"object"==typeof x&&!!x.closeIcon||!!y||("boolean"==typeof x?x:!1!==w&&null!=w||!!I),[y,w,x,I]),W=!!l&&void 0===k||k,X=d()(P,"".concat(P,"-").concat(F),{["".concat(P,"-with-description")]:!!r,["".concat(P,"-no-icon")]:!W,["".concat(P,"-banner")]:!!l,["".concat(P,"-rtl")]:"rtl"===R},V,c,i,D,_),G=(0,m.Z)(S,{aria:!0,data:!0}),U=n.useMemo(()=>"object"==typeof x&&x.closeIcon?x.closeIcon:y||(void 0!==w?w:"object"==typeof I&&I.closeIcon?I.closeIcon:q),[w,x,I,y,q]),Y=n.useMemo(()=>{let e=null!=x?x:I;if("object"==typeof e){let{closeIcon:t}=e;return C(e,["closeIcon"])}return{}},[x,I]);return B(n.createElement(u.ZP,{visible:!Z,motionName:"".concat(P,"-motion"),motionAppear:!1,motionEnter:!1,onLeaveStart:e=>({maxHeight:e.offsetHeight}),onLeaveEnd:v},(t,o)=>{let{className:l,style:c}=t;return n.createElement("div",Object.assign({id:N,ref:(0,p.sQ)(H,o),"data-show":!Z,className:d()(X,l),style:Object.assign(Object.assign(Object.assign({},T),s),c),onMouseEnter:h,onMouseLeave:b,onClick:g,role:"alert"},G),W?n.createElement(M,{description:r,icon:e.icon,prefixCls:P,type:F}):null,n.createElement("div",{className:"".concat(P,"-content")},a?n.createElement("div",{className:"".concat(P,"-message")},a):null,r?n.createElement("div",{className:"".concat(P,"-description")},r):null),O?n.createElement("div",{className:"".concat(P,"-action")},O):null,n.createElement(j,{isClosable:K,prefixCls:P,closeIcon:U,handleClose:A,ariaProps:Y}))}))});var S=r(76405),Z=r(25049),z=r(24995),H=r(63929),L=r(37977),R=r(41690);let I=function(e){function t(){var e,r,n;return(0,S.Z)(this,t),r=t,n=arguments,r=(0,z.Z)(r),(e=(0,L.Z)(this,(0,H.Z)()?Reflect.construct(r,n||[],(0,z.Z)(this).constructor):r.apply(this,n))).state={error:void 0,info:{componentStack:""}},e}return(0,R.Z)(t,e),(0,Z.Z)(t,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,info:t})}},{key:"render",value:function(){let{message:e,description:t,id:r,children:o}=this.props,{error:a,info:l}=this.state,c=(null==l?void 0:l.componentStack)||null,i=void 0===e?(a||"").toString():e;return a?n.createElement(N,{id:r,type:"error",message:i,description:n.createElement("pre",{style:{fontSize:"0.9em",overflowX:"auto"}},void 0===t?c:t)}):o}}])}(n.Component);N.ErrorBoundary=I;var q=N},76188:function(e,t,r){"use strict";r.d(t,{Z:function(){return Z}});var n=r(2265),o=r(36760),a=r.n(o),l=r(6543),c=r(71744),i=r(33759),s=r(28617),d={xxl:3,xl:3,lg:3,md:3,sm:2,xs:1};let u=n.createContext({});var m=r(45287),p=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let h=e=>(0,m.Z)(e).map(e=>Object.assign(Object.assign({},null==e?void 0:e.props),{key:e.key}));var f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r},b=(e,t)=>{let[r,o]=(0,n.useMemo)(()=>{let r,n,o,a;return r=[],n=[],o=!1,a=0,t.filter(e=>e).forEach(t=>{let{filled:l}=t,c=f(t,["filled"]);if(l){n.push(c),r.push(n),n=[],a=0;return}let i=e-a;(a+=t.span||1)>=e?(a>e?(o=!0,n.push(Object.assign(Object.assign({},c),{span:i}))):n.push(c),r.push(n),n=[],a=0):n.push(c)}),n.length>0&&r.push(n),[r=r.map(t=>{let r=t.reduce((e,t)=>e+(t.span||1),0);if(rnull!=e;var v=e=>{let{itemPrefixCls:t,component:r,span:o,className:l,style:c,labelStyle:i,contentStyle:s,bordered:d,label:m,content:p,colon:h,type:f,styles:b}=e,{classNames:v}=n.useContext(u),k=Object.assign(Object.assign({},i),null==b?void 0:b.label),x=Object.assign(Object.assign({},s),null==b?void 0:b.content);return d?n.createElement(r,{colSpan:o,style:c,className:a()(l,{["".concat(t,"-item-").concat(f)]:"label"===f||"content"===f,[null==v?void 0:v.label]:(null==v?void 0:v.label)&&"label"===f,[null==v?void 0:v.content]:(null==v?void 0:v.content)&&"content"===f})},g(m)&&n.createElement("span",{style:k},m),g(p)&&n.createElement("span",{style:x},p)):n.createElement(r,{colSpan:o,style:c,className:a()("".concat(t,"-item"),l)},n.createElement("div",{className:"".concat(t,"-item-container")},g(m)&&n.createElement("span",{style:k,className:a()("".concat(t,"-item-label"),null==v?void 0:v.label,{["".concat(t,"-item-no-colon")]:!h})},m),g(p)&&n.createElement("span",{style:x,className:a()("".concat(t,"-item-content"),null==v?void 0:v.content)},p)))};function k(e,t,r){let{colon:o,prefixCls:a,bordered:l}=t,{component:c,type:i,showLabel:s,showContent:d,labelStyle:u,contentStyle:m,styles:p}=r;return e.map((e,t)=>{let{label:r,children:h,prefixCls:f=a,className:b,style:g,labelStyle:k,contentStyle:x,span:y=1,key:w,styles:E}=e;return"string"==typeof c?n.createElement(v,{key:"".concat(i,"-").concat(w||t),className:b,style:g,styles:{label:Object.assign(Object.assign(Object.assign(Object.assign({},u),null==p?void 0:p.label),k),null==E?void 0:E.label),content:Object.assign(Object.assign(Object.assign(Object.assign({},m),null==p?void 0:p.content),x),null==E?void 0:E.content)},span:y,colon:o,component:c,itemPrefixCls:f,bordered:l,label:s?r:null,content:d?h:null,type:i}):[n.createElement(v,{key:"label-".concat(w||t),className:b,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},u),null==p?void 0:p.label),g),k),null==E?void 0:E.label),span:1,colon:o,component:c[0],itemPrefixCls:f,bordered:l,label:r,type:"label"}),n.createElement(v,{key:"content-".concat(w||t),className:b,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},m),null==p?void 0:p.content),g),x),null==E?void 0:E.content),span:2*y-1,component:c[1],itemPrefixCls:f,bordered:l,content:h,type:"content"})]})}var x=e=>{let t=n.useContext(u),{prefixCls:r,vertical:o,row:a,index:l,bordered:c}=e;return o?n.createElement(n.Fragment,null,n.createElement("tr",{key:"label-".concat(l),className:"".concat(r,"-row")},k(a,e,Object.assign({component:"th",type:"label",showLabel:!0},t))),n.createElement("tr",{key:"content-".concat(l),className:"".concat(r,"-row")},k(a,e,Object.assign({component:"td",type:"content",showContent:!0},t)))):n.createElement("tr",{key:l,className:"".concat(r,"-row")},k(a,e,Object.assign({component:c?["th","td"]:"td",type:"item",showLabel:!0,showContent:!0},t)))},y=r(93463),w=r(12918),E=r(99320),C=r(71140);let O=e=>{let{componentCls:t,labelBg:r}=e;return{["&".concat(t,"-bordered")]:{["> ".concat(t,"-view")]:{border:"".concat((0,y.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"> table":{tableLayout:"auto"},["".concat(t,"-row")]:{borderBottom:"".concat((0,y.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"&:first-child":{"> th:first-child, > td:first-child":{borderStartStartRadius:e.borderRadiusLG}},"&:last-child":{borderBottom:"none","> th:first-child, > td:first-child":{borderEndStartRadius:e.borderRadiusLG}},["> ".concat(t,"-item-label, > ").concat(t,"-item-content")]:{padding:"".concat((0,y.bf)(e.padding)," ").concat((0,y.bf)(e.paddingLG)),borderInlineEnd:"".concat((0,y.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"&:last-child":{borderInlineEnd:"none"}},["> ".concat(t,"-item-label")]:{color:e.colorTextSecondary,backgroundColor:r,"&::after":{display:"none"}}}},["&".concat(t,"-middle")]:{["".concat(t,"-row")]:{["> ".concat(t,"-item-label, > ").concat(t,"-item-content")]:{padding:"".concat((0,y.bf)(e.paddingSM)," ").concat((0,y.bf)(e.paddingLG))}}},["&".concat(t,"-small")]:{["".concat(t,"-row")]:{["> ".concat(t,"-item-label, > ").concat(t,"-item-content")]:{padding:"".concat((0,y.bf)(e.paddingXS)," ").concat((0,y.bf)(e.padding))}}}}}},M=e=>{let{componentCls:t,extraColor:r,itemPaddingBottom:n,itemPaddingEnd:o,colonMarginRight:a,colonMarginLeft:l,titleMarginBottom:c}=e;return{[t]:Object.assign(Object.assign(Object.assign({},(0,w.Wf)(e)),O(e)),{"&-rtl":{direction:"rtl"},["".concat(t,"-header")]:{display:"flex",alignItems:"center",marginBottom:c},["".concat(t,"-title")]:Object.assign(Object.assign({},w.vS),{flex:"auto",color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.fontSizeLG,lineHeight:e.lineHeightLG}),["".concat(t,"-extra")]:{marginInlineStart:"auto",color:r,fontSize:e.fontSize},["".concat(t,"-view")]:{width:"100%",borderRadius:e.borderRadiusLG,table:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse"}},["".concat(t,"-row")]:{"> th, > td":{paddingBottom:n,paddingInlineEnd:o},"> th:last-child, > td:last-child":{paddingInlineEnd:0},"&:last-child":{borderBottom:"none","> th, > td":{paddingBottom:0}}},["".concat(t,"-item-label")]:{color:e.labelColor,fontWeight:"normal",fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:"start","&::after":{content:'":"',position:"relative",top:-.5,marginInline:"".concat((0,y.bf)(l)," ").concat((0,y.bf)(a))},["&".concat(t,"-item-no-colon::after")]:{content:'""'}},["".concat(t,"-item-no-label")]:{"&::after":{margin:0,content:'""'}},["".concat(t,"-item-content")]:{display:"table-cell",flex:1,color:e.contentColor,fontSize:e.fontSize,lineHeight:e.lineHeight,wordBreak:"break-word",overflowWrap:"break-word"},["".concat(t,"-item")]:{paddingBottom:0,verticalAlign:"top","&-container":{display:"flex",["".concat(t,"-item-label")]:{display:"inline-flex",alignItems:"baseline"},["".concat(t,"-item-content")]:{display:"inline-flex",alignItems:"baseline",minWidth:"1em"}}},"&-middle":{["".concat(t,"-row")]:{"> th, > td":{paddingBottom:e.paddingSM}}},"&-small":{["".concat(t,"-row")]:{"> th, > td":{paddingBottom:e.paddingXS}}}})}};var j=(0,E.I$)("Descriptions",e=>M((0,C.IX)(e,{})),e=>({labelBg:e.colorFillAlter,labelColor:e.colorTextTertiary,titleColor:e.colorText,titleMarginBottom:e.fontSizeSM*e.lineHeightSM,itemPaddingBottom:e.padding,itemPaddingEnd:e.padding,colonMarginRight:e.marginXS,colonMarginLeft:e.marginXXS/2,contentColor:e.colorText,extraColor:e.colorText})),N=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let S=e=>{let{prefixCls:t,title:r,extra:o,column:m,colon:f=!0,bordered:g,layout:v,children:k,className:y,rootClassName:w,style:E,size:C,labelStyle:O,contentStyle:M,styles:S,items:Z,classNames:z}=e,H=N(e,["prefixCls","title","extra","column","colon","bordered","layout","children","className","rootClassName","style","size","labelStyle","contentStyle","styles","items","classNames"]),{getPrefixCls:L,direction:R,className:I,style:q,classNames:V,styles:T}=(0,c.dj)("descriptions"),P=L("descriptions",t),B=(0,s.Z)(),_=n.useMemo(()=>{var e;return"number"==typeof m?m:null!==(e=(0,l.m9)(B,Object.assign(Object.assign({},d),m)))&&void 0!==e?e:3},[B,m]),D=function(e,t,r){let o=n.useMemo(()=>t||h(r),[t,r]);return n.useMemo(()=>o.map(t=>{var{span:r}=t,n=p(t,["span"]);return"filled"===r?Object.assign(Object.assign({},n),{filled:!0}):Object.assign(Object.assign({},n),{span:"number"==typeof r?r:(0,l.m9)(e,r)})}),[o,e])}(B,Z,k),A=(0,i.Z)(C),F=b(_,D),[K,W,X]=j(P),G=n.useMemo(()=>({labelStyle:O,contentStyle:M,styles:{content:Object.assign(Object.assign({},T.content),null==S?void 0:S.content),label:Object.assign(Object.assign({},T.label),null==S?void 0:S.label)},classNames:{label:a()(V.label,null==z?void 0:z.label),content:a()(V.content,null==z?void 0:z.content)}}),[O,M,S,z,V,T]);return K(n.createElement(u.Provider,{value:G},n.createElement("div",Object.assign({className:a()(P,I,V.root,null==z?void 0:z.root,{["".concat(P,"-").concat(A)]:A&&"default"!==A,["".concat(P,"-bordered")]:!!g,["".concat(P,"-rtl")]:"rtl"===R},y,w,W,X),style:Object.assign(Object.assign(Object.assign(Object.assign({},q),T.root),null==S?void 0:S.root),E)},H),(r||o)&&n.createElement("div",{className:a()("".concat(P,"-header"),V.header,null==z?void 0:z.header),style:Object.assign(Object.assign({},T.header),null==S?void 0:S.header)},r&&n.createElement("div",{className:a()("".concat(P,"-title"),V.title,null==z?void 0:z.title),style:Object.assign(Object.assign({},T.title),null==S?void 0:S.title)},r),o&&n.createElement("div",{className:a()("".concat(P,"-extra"),V.extra,null==z?void 0:z.extra),style:Object.assign(Object.assign({},T.extra),null==S?void 0:S.extra)},o)),n.createElement("div",{className:"".concat(P,"-view")},n.createElement("table",null,n.createElement("tbody",null,F.map((e,t)=>n.createElement(x,{key:t,index:t,colon:f,prefixCls:P,vertical:"vertical"===v,bordered:g,row:e}))))))))};S.Item=e=>{let{children:t}=e;return t};var Z=S},13817:function(e,t,r){"use strict";r.d(t,{default:function(){return y}});var n=r(83145),o=r(2265),a=r(36760),l=r.n(a),c=r(18694),i=r(71744),s=r(80856),d=r(45287),u=r(32186),m=r(25437),p=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};function h(e){let{suffixCls:t,tagName:r,displayName:n}=e;return e=>o.forwardRef((n,a)=>o.createElement(e,Object.assign({ref:a,suffixCls:t,tagName:r},n)))}let f=o.forwardRef((e,t)=>{let{prefixCls:r,suffixCls:n,className:a,tagName:c}=e,s=p(e,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:d}=o.useContext(i.E_),u=d("layout",r),[h,f,b]=(0,m.ZP)(u),g=n?"".concat(u,"-").concat(n):u;return h(o.createElement(c,Object.assign({className:l()(r||g,a,f,b),ref:t},s)))}),b=o.forwardRef((e,t)=>{let{direction:r}=o.useContext(i.E_),[a,h]=o.useState([]),{prefixCls:f,className:b,rootClassName:g,children:v,hasSider:k,tagName:x,style:y}=e,w=p(e,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),E=(0,c.Z)(w,["suffixCls"]),{getPrefixCls:C,className:O,style:M}=(0,i.dj)("layout"),j=C("layout",f),N="boolean"==typeof k?k:!!a.length||(0,d.Z)(v).some(e=>e.type===u.Z),[S,Z,z]=(0,m.ZP)(j),H=l()(j,{["".concat(j,"-has-sider")]:N,["".concat(j,"-rtl")]:"rtl"===r},O,b,g,Z,z),L=o.useMemo(()=>({siderHook:{addSider:e=>{h(t=>[].concat((0,n.Z)(t),[e]))},removeSider:e=>{h(t=>t.filter(t=>t!==e))}}}),[]);return S(o.createElement(s.V.Provider,{value:L},o.createElement(x,Object.assign({ref:t,className:H,style:Object.assign(Object.assign({},M),y)},E),v)))}),g=h({tagName:"div",displayName:"Layout"})(b),v=h({suffixCls:"header",tagName:"header",displayName:"Header"})(f),k=h({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(f),x=h({suffixCls:"content",tagName:"main",displayName:"Content"})(f);g.Header=v,g.Footer=k,g.Content=x,g.Sider=u.Z,g._InternalSiderContext=u.D;var y=g},23910:function(e,t,r){var n=r(74288).Symbol;e.exports=n},54506:function(e,t,r){var n=r(23910),o=r(4479),a=r(80910),l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":l&&l in Object(e)?o(e):a(e)}},41087:function(e,t,r){var n=r(5035),o=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(o,""):e}},17071:function(e,t,r){var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},4479:function(e,t,r){var n=r(23910),o=Object.prototype,a=o.hasOwnProperty,l=o.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=l.call(e);return n&&(t?e[c]=r:delete e[c]),o}},80910:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},74288:function(e,t,r){var n=r(17071),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},5035:function(e){var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},7310:function(e,t,r){var n=r(28302),o=r(11121),a=r(6660),l=Math.max,c=Math.min;e.exports=function(e,t,r){var i,s,d,u,m,p,h=0,f=!1,b=!1,g=!0;if("function"!=typeof e)throw TypeError("Expected a function");function v(t){var r=i,n=s;return i=s=void 0,h=t,u=e.apply(n,r)}function k(e){var r=e-p,n=e-h;return void 0===p||r>=t||r<0||b&&n>=d}function x(){var e,r,n,a=o();if(k(a))return y(a);m=setTimeout(x,(e=a-p,r=a-h,n=t-e,b?c(n,d-r):n))}function y(e){return(m=void 0,g&&i)?v(e):(i=s=void 0,u)}function w(){var e,r=o(),n=k(r);if(i=arguments,s=this,p=r,n){if(void 0===m)return h=e=p,m=setTimeout(x,t),f?v(e):u;if(b)return clearTimeout(m),m=setTimeout(x,t),v(p)}return void 0===m&&(m=setTimeout(x,t)),u}return t=a(t)||0,n(r)&&(f=!!r.leading,d=(b="maxWait"in r)?l(a(r.maxWait)||0,t):d,g="trailing"in r?!!r.trailing:g),w.cancel=function(){void 0!==m&&clearTimeout(m),h=0,i=p=s=m=void 0},w.flush=function(){return void 0===m?u:y(o())},w}},28302:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},10303:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},78371:function(e,t,r){var n=r(54506),o=r(10303);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},11121:function(e,t,r){var n=r(74288);e.exports=function(){return n.Date.now()}},6660:function(e,t,r){var n=r(41087),o=r(28302),a=r(78371),l=0/0,c=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,s=/^0o[0-7]+$/i,d=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return l;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=i.test(e);return r||s.test(e)?d(e.slice(2),r?2:8):c.test(e)?l:+e}},82222:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},40875:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},22135:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},5136:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]])},64935:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]])},96362:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},29202:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},33245:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},54001:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},51817:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},21047:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},96137:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},80221:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},70525:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]])},76865:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},49663:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("user-check",[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},79862:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]])},95805:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},11239:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},1479:function(e,t){"use strict";t.Z={'code[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"]::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},prolog:{color:"hsl(230, 4%, 64%)"},cdata:{color:"hsl(230, 4%, 64%)"},doctype:{color:"hsl(230, 8%, 24%)"},punctuation:{color:"hsl(230, 8%, 24%)"},entity:{color:"hsl(230, 8%, 24%)",cursor:"help"},"attr-name":{color:"hsl(35, 99%, 36%)"},"class-name":{color:"hsl(35, 99%, 36%)"},boolean:{color:"hsl(35, 99%, 36%)"},constant:{color:"hsl(35, 99%, 36%)"},number:{color:"hsl(35, 99%, 36%)"},atrule:{color:"hsl(35, 99%, 36%)"},keyword:{color:"hsl(301, 63%, 40%)"},property:{color:"hsl(5, 74%, 59%)"},tag:{color:"hsl(5, 74%, 59%)"},symbol:{color:"hsl(5, 74%, 59%)"},deleted:{color:"hsl(5, 74%, 59%)"},important:{color:"hsl(5, 74%, 59%)"},selector:{color:"hsl(119, 34%, 47%)"},string:{color:"hsl(119, 34%, 47%)"},char:{color:"hsl(119, 34%, 47%)"},builtin:{color:"hsl(119, 34%, 47%)"},inserted:{color:"hsl(119, 34%, 47%)"},regex:{color:"hsl(119, 34%, 47%)"},"attr-value":{color:"hsl(119, 34%, 47%)"},"attr-value > .token.punctuation":{color:"hsl(119, 34%, 47%)"},variable:{color:"hsl(221, 87%, 60%)"},operator:{color:"hsl(221, 87%, 60%)"},function:{color:"hsl(221, 87%, 60%)"},url:{color:"hsl(198, 99%, 37%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(230, 8%, 24%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(230, 8%, 24%)"},".language-css .token.selector":{color:"hsl(5, 74%, 59%)"},".language-css .token.property":{color:"hsl(230, 8%, 24%)"},".language-css .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.string.url":{color:"hsl(119, 34%, 47%)"},".language-css .token.important":{color:"hsl(301, 63%, 40%)"},".language-css .token.atrule .token.rule":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.operator":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(344, 84%, 43%)"},".language-json .token.operator":{color:"hsl(230, 8%, 24%)"},".language-json .token.null.keyword":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.url":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.operator":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.content":{color:"hsl(221, 87%, 60%)"},".language-markdown .token.url > .token.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.url-reference.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(119, 34%, 47%)"},".language-markdown .token.bold .token.content":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.italic .token.content":{color:"hsl(301, 63%, 40%)"},".language-markdown .token.strike .token.content":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.list.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(5, 74%, 59%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.cr:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.lf:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.space:before":{color:"hsla(230, 8%, 24%, 0.2)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},".line-highlight.line-highlight":{background:"hsla(230, 8%, 24%, 0.05)"},".line-highlight.line-highlight:before":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(230, 8%, 24%, 0.05)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".command-line .command-line-prompt":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(230, 1%, 62%)"},".command-line .command-line-prompt > span:before":{color:"hsl(230, 1%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(301, 63%, 40%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(0, 0, 95%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(0, 0, 95%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(0, 0, 95%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(0, 0, 95%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(0, 0%, 100%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(230, 8%, 24%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(230, 8%, 24%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(230, 8%, 24%)"}}},82422:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"}))});t.Z=o},51853:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"}))});t.Z=o},3477:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});t.Z=o},71437:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"}))});t.Z=o},82376:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"}))});t.Z=o},23628:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});t.Z=o},17732:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});t.Z=o},3837:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))});t.Z=o},19616:function(e,t,r){"use strict";r.d(t,{G:function(){return l}});var n=r(2265);let o={enabled:!0,leading:!1,trailing:!0,wait:0,onExecute:()=>{}};class a{constructor(e,t){this.fn=e,this._canLeadingExecute=!0,this._isPending=!1,this._executionCount=0,this._options={...o,...t}}setOptions(e){return this._options={...this._options,...e},this._options.enabled||(this._isPending=!1),this._options}getOptions(){return this._options}maybeExecute(...e){this._options.leading&&this._canLeadingExecute&&(this.executeFunction(...e),this._canLeadingExecute=!1),(this._options.leading||this._options.trailing)&&(this._isPending=!0),this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=setTimeout(()=>{this._canLeadingExecute=!0,this._isPending=!1,this._options.trailing&&this.executeFunction(...e)},this._options.wait)}executeFunction(...e){this._options.enabled&&(this.fn(...e),this._executionCount++,this._options.onExecute(this))}cancel(){this._timeoutId&&(clearTimeout(this._timeoutId),this._canLeadingExecute=!0,this._isPending=!1)}getExecutionCount(){return this._executionCount}getIsPending(){return this._options.enabled&&this._isPending}}function l(e,t){let[r,o]=(0,n.useState)(e),l=function(e,t){let[r]=(0,n.useState)(()=>{var r;return Object.getOwnPropertyNames(Object.getPrototypeOf(r=new a(e,t))).filter(e=>"function"==typeof r[e]).reduce((e,t)=>{let n=r[t];return"function"==typeof n&&(e[t]=n.bind(r)),e},{})});return r.setOptions(t),r}(o,t);return[r,l.maybeExecute,l]}},21770:function(e,t,r){"use strict";r.d(t,{D:function(){return d}});var n=r(2265),o=r(2894),a=r(18238),l=r(24112),c=r(45345),i=class extends l.l{#e;#t=void 0;#r;#n;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#o()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,c.VS)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#r,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,c.Ym)(t.mutationKey)!==(0,c.Ym)(this.options.mutationKey)?this.reset():this.#r?.state.status==="pending"&&this.#r.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#r?.removeObserver(this)}onMutationUpdate(e){this.#o(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#r?.removeObserver(this),this.#r=void 0,this.#o(),this.#a()}mutate(e,t){return this.#n=t,this.#r?.removeObserver(this),this.#r=this.#e.getMutationCache().build(this.#e,this.options),this.#r.addObserver(this),this.#r.execute(e)}#o(){let e=this.#r?.state??(0,o.R)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#a(e){a.Vr.batch(()=>{if(this.#n&&this.hasListeners()){let t=this.#t.variables,r=this.#t.context,n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};e?.type==="success"?(this.#n.onSuccess?.(e.data,t,r,n),this.#n.onSettled?.(e.data,null,t,r,n)):e?.type==="error"&&(this.#n.onError?.(e.error,t,r,n),this.#n.onSettled?.(void 0,e.error,t,r,n))}this.listeners.forEach(e=>{e(this.#t)})})}},s=r(29827);function d(e,t){let r=(0,s.NL)(t),[o]=n.useState(()=>new i(r,e));n.useEffect(()=>{o.setOptions(e)},[o,e]);let l=n.useSyncExternalStore(n.useCallback(e=>o.subscribe(a.Vr.batchCalls(e)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),d=n.useCallback((e,t)=>{o.mutate(e,t).catch(c.ZT)},[o]);if(l.error&&(0,c.L3)(o.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:d,mutateAsync:l.mutate}}},91054:function(e,t,r){"use strict";let n,o;r.d(t,{pJ:function(){return H}});var a,l=r(71049),c=r(11323),i=r(2265),s=r(66797),d=r(93980),u=r(65573),m=r(67561),p=r(98218),h=r(33443),f=r(28294),b=r(31370),g=r(72468),v=r(5664),k=r(38929);let x=null!=(a=i.startTransition)?a:function(e){e()};var y=r(52724),w=((n=w||{})[n.Open=0]="Open",n[n.Closed=1]="Closed",n),E=((o=E||{})[o.ToggleDisclosure=0]="ToggleDisclosure",o[o.CloseDisclosure=1]="CloseDisclosure",o[o.SetButtonId=2]="SetButtonId",o[o.SetPanelId=3]="SetPanelId",o[o.SetButtonElement=4]="SetButtonElement",o[o.SetPanelElement=5]="SetPanelElement",o);let C={0:e=>({...e,disclosureState:(0,g.E)(e.disclosureState,{0:1,1:0})}),1:e=>1===e.disclosureState?e:{...e,disclosureState:1},2:(e,t)=>e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId},3:(e,t)=>e.panelId===t.panelId?e:{...e,panelId:t.panelId},4:(e,t)=>e.buttonElement===t.element?e:{...e,buttonElement:t.element},5:(e,t)=>e.panelElement===t.element?e:{...e,panelElement:t.element}},O=(0,i.createContext)(null);function M(e){let t=(0,i.useContext)(O);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,M),t}return t}O.displayName="DisclosureContext";let j=(0,i.createContext)(null);j.displayName="DisclosureAPIContext";let N=(0,i.createContext)(null);function S(e,t){return(0,g.E)(t.type,C,e,t)}N.displayName="DisclosurePanelContext";let Z=i.Fragment,z=k.VN.RenderStrategy|k.VN.Static,H=Object.assign((0,k.yV)(function(e,t){let{defaultOpen:r=!1,...n}=e,o=(0,i.useRef)(null),a=(0,m.T)(t,(0,m.h)(e=>{o.current=e},void 0===e.as||e.as===i.Fragment)),l=(0,i.useReducer)(S,{disclosureState:r?0:1,buttonElement:null,panelElement:null,buttonId:null,panelId:null}),[{disclosureState:c,buttonId:s},u]=l,p=(0,d.z)(e=>{u({type:1});let t=(0,v.r)(o);if(!t||!s)return;let r=e?e instanceof HTMLElement?e:e.current instanceof HTMLElement?e.current:t.getElementById(s):t.getElementById(s);null==r||r.focus()}),b=(0,i.useMemo)(()=>({close:p}),[p]),x=(0,i.useMemo)(()=>({open:0===c,close:p}),[c,p]),y=(0,k.L6)();return i.createElement(O.Provider,{value:l},i.createElement(j.Provider,{value:b},i.createElement(h.Z,{value:p},i.createElement(f.up,{value:(0,g.E)(c,{0:f.ZM.Open,1:f.ZM.Closed})},y({ourProps:{ref:a},theirProps:n,slot:x,defaultTag:Z,name:"Disclosure"})))))}),{Button:(0,k.yV)(function(e,t){let r=(0,i.useId)(),{id:n="headlessui-disclosure-button-".concat(r),disabled:o=!1,autoFocus:a=!1,...p}=e,[h,f]=M("Disclosure.Button"),g=(0,i.useContext)(N),v=null!==g&&g===h.panelId,x=(0,i.useRef)(null),w=(0,m.T)(x,t,(0,d.z)(e=>{if(!v)return f({type:4,element:e})}));(0,i.useEffect)(()=>{if(!v)return f({type:2,buttonId:n}),()=>{f({type:2,buttonId:null})}},[n,f,v]);let E=(0,d.z)(e=>{var t;if(v){if(1===h.disclosureState)return;switch(e.key){case y.R.Space:case y.R.Enter:e.preventDefault(),e.stopPropagation(),f({type:0}),null==(t=h.buttonElement)||t.focus()}}else switch(e.key){case y.R.Space:case y.R.Enter:e.preventDefault(),e.stopPropagation(),f({type:0})}}),C=(0,d.z)(e=>{e.key===y.R.Space&&e.preventDefault()}),O=(0,d.z)(e=>{var t;(0,b.P)(e.currentTarget)||o||(v?(f({type:0}),null==(t=h.buttonElement)||t.focus()):f({type:0}))}),{isFocusVisible:j,focusProps:S}=(0,l.F)({autoFocus:a}),{isHovered:Z,hoverProps:z}=(0,c.X)({isDisabled:o}),{pressed:H,pressProps:L}=(0,s.x)({disabled:o}),R=(0,i.useMemo)(()=>({open:0===h.disclosureState,hover:Z,active:H,disabled:o,focus:j,autofocus:a}),[h,Z,H,j,o,a]),I=(0,u.f)(e,h.buttonElement),q=v?(0,k.dG)({ref:w,type:I,disabled:o||void 0,autoFocus:a,onKeyDown:E,onClick:O},S,z,L):(0,k.dG)({ref:w,id:n,type:I,"aria-expanded":0===h.disclosureState,"aria-controls":h.panelElement?h.panelId:void 0,disabled:o||void 0,autoFocus:a,onKeyDown:E,onKeyUp:C,onClick:O},S,z,L);return(0,k.L6)()({ourProps:q,theirProps:p,slot:R,defaultTag:"button",name:"Disclosure.Button"})}),Panel:(0,k.yV)(function(e,t){let r=(0,i.useId)(),{id:n="headlessui-disclosure-panel-".concat(r),transition:o=!1,...a}=e,[l,c]=M("Disclosure.Panel"),{close:s}=function e(t){let r=(0,i.useContext)(j);if(null===r){let r=Error("<".concat(t," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(r,e),r}return r}("Disclosure.Panel"),[u,h]=(0,i.useState)(null),b=(0,m.T)(t,(0,d.z)(e=>{x(()=>c({type:5,element:e}))}),h);(0,i.useEffect)(()=>(c({type:3,panelId:n}),()=>{c({type:3,panelId:null})}),[n,c]);let g=(0,f.oJ)(),[v,y]=(0,p.Y)(o,u,null!==g?(g&f.ZM.Open)===f.ZM.Open:0===l.disclosureState),w=(0,i.useMemo)(()=>({open:0===l.disclosureState,close:s}),[l.disclosureState,s]),E={ref:b,id:n,...(0,p.X)(y)},C=(0,k.L6)();return i.createElement(f.uu,null,i.createElement(N.Provider,{value:l.panelId},C({ourProps:E,theirProps:a,slot:w,defaultTag:"div",features:z,visible:v,name:"Disclosure.Panel"})))})})},33443:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(2265);let o=(0,n.createContext)(()=>{});function a(e){let{value:t,children:r}=e;return n.createElement(o.Provider,{value:t},r)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/137-cbbf776473e39926.js b/litellm/proxy/_experimental/out/_next/static/chunks/137-cbbf776473e39926.js new file mode 100644 index 0000000000..40ab217416 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/137-cbbf776473e39926.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[137],{1309:function(e,l,a){a.d(l,{C:function(){return t.Z}});var t=a(41649)},10137:function(e,l,a){a.d(l,{Z:function(){return lF}});var t,i,r,s,n=a(57437),o=a(2265),d=a(78489),c=a(12485),u=a(18135),m=a(35242),x=a(29706),p=a(77991),h=a(19250),g=a(57840),f=a(37592),j=a(15690),v=a(10032),y=a(3810),_=a(22116),b=a(64504);(t=r||(r={})).PresidioPII="Presidio PII",t.Bedrock="Bedrock Guardrail",t.Lakera="Lakera";let N={},w=e=>{let l={};return l.PresidioPII="Presidio PII",l.Bedrock="Bedrock Guardrail",l.Lakera="Lakera",Object.entries(e).forEach(e=>{let[a,t]=e;t&&"object"==typeof t&&"ui_friendly_name"in t&&(l[a.split("_").map((e,l)=>e.charAt(0).toUpperCase()+e.slice(1)).join("")]=t.ui_friendly_name)}),N=l,l},k=()=>Object.keys(N).length>0?N:r,C={PresidioPII:"presidio",Bedrock:"bedrock",Lakera:"lakera_v2",LitellmContentFilter:"litellm_content_filter",ToolPermission:"tool_permission"},S=e=>{Object.entries(e).forEach(e=>{let[l,a]=e;a&&"object"==typeof a&&"ui_friendly_name"in a&&(C[l.split("_").map((e,l)=>e.charAt(0).toUpperCase()+e.slice(1)).join("")]=l)})},Z=e=>!!e&&"Presidio PII"===k()[e],P=e=>!!e&&"LiteLLM Content Filter"===k()[e],A="../ui/assets/logos/",O={"Presidio PII":"".concat(A,"presidio.png"),"Bedrock Guardrail":"".concat(A,"bedrock.svg"),Lakera:"".concat(A,"lakeraai.jpeg"),"Azure Content Safety Prompt Shield":"".concat(A,"presidio.png"),"Azure Content Safety Text Moderation":"".concat(A,"presidio.png"),"Aporia AI":"".concat(A,"aporia.png"),"PANW Prisma AIRS":"".concat(A,"palo_alto_networks.jpeg"),"Noma Security":"".concat(A,"noma_security.png"),"Javelin Guardrails":"".concat(A,"javelin.png"),"Pillar Guardrail":"".concat(A,"pillar.jpeg"),"Google Cloud Model Armor":"".concat(A,"google.svg"),"Guardrails AI":"".concat(A,"guardrails_ai.jpeg"),"Lasso Guardrail":"".concat(A,"lasso.png"),"Pangea Guardrail":"".concat(A,"pangea.png"),"AIM Guardrail":"".concat(A,"aim_security.jpeg"),"OpenAI Moderation":"".concat(A,"openai_small.svg"),EnkryptAI:"".concat(A,"enkrypt_ai.avif"),"Prompt Security":"".concat(A,"prompt_security.png"),"LiteLLM Content Filter":"".concat(A,"litellm_logo.jpg")},I=e=>{if(!e)return{logo:"",displayName:"-"};let l=Object.keys(C).find(l=>C[l].toLowerCase()===e.toLowerCase());if(!l)return{logo:"",displayName:e};let a=k()[l];return{logo:O[a]||"",displayName:a||e}};var L=a(99981),T=a(5545),z=a(61994),E=a(97416),B=a(8881),M=a(10798),F=a(49638);let{Text:G}=g.default,{Option:K}=f.default,D=e=>e.replace(/_/g," "),R=e=>{switch(e){case"MASK":return(0,n.jsx)(E.Z,{style:{marginRight:4}});case"BLOCK":return(0,n.jsx)(B.Z,{style:{marginRight:4}});default:return null}},J=e=>{let{categories:l,selectedCategories:a,onChange:t}=e;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center mb-2",children:[(0,n.jsx)(M.Z,{className:"text-gray-500 mr-1"}),(0,n.jsx)(G,{className:"text-gray-500 font-medium",children:"Filter by category"})]}),(0,n.jsx)(f.default,{mode:"multiple",placeholder:"Select categories to filter by",style:{width:"100%"},onChange:t,value:a,allowClear:!0,showSearch:!0,optionFilterProp:"children",className:"mb-4",tagRender:e=>(0,n.jsx)(y.Z,{color:"blue",closable:e.closable,onClose:e.onClose,className:"mr-2 mb-2",children:e.label}),children:l.map(e=>(0,n.jsx)(K,{value:e.category,children:e.category},e.category))})]})},V=e=>{let{onSelectAll:l,onUnselectAll:a,hasSelectedEntities:t}=e;return(0,n.jsxs)("div",{className:"bg-gray-50 p-5 rounded-lg mb-6 border border-gray-200 shadow-sm",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)(G,{strong:!0,className:"text-gray-700 text-base",children:"Quick Actions"}),(0,n.jsx)(L.Z,{title:"Apply action to all PII types at once",children:(0,n.jsx)("div",{className:"ml-2 text-gray-400 cursor-help text-xs",children:"ⓘ"})})]}),(0,n.jsx)(T.ZP,{color:"danger",variant:"outlined",onClick:a,disabled:!t,icon:(0,n.jsx)(F.Z,{}),children:"Unselect All"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsx)(T.ZP,{color:"primary",variant:"outlined",onClick:()=>l("MASK"),className:"h-10",block:!0,icon:(0,n.jsx)(E.Z,{}),children:"Select All & Mask"}),(0,n.jsx)(T.ZP,{color:"danger",variant:"outlined",onClick:()=>l("BLOCK"),className:"h-10 hover:bg-red-100",block:!0,icon:(0,n.jsx)(B.Z,{}),children:"Select All & Block"})]})]})},U=e=>{let{entities:l,selectedEntities:a,selectedActions:t,actions:i,onEntitySelect:r,onActionSelect:s,entityToCategoryMap:o}=e;return(0,n.jsxs)("div",{className:"border rounded-lg overflow-hidden shadow-sm",children:[(0,n.jsxs)("div",{className:"bg-gray-50 px-5 py-3 border-b flex",children:[(0,n.jsx)(G,{strong:!0,className:"flex-1 text-gray-700",children:"PII Type"}),(0,n.jsx)(G,{strong:!0,className:"w-32 text-right text-gray-700",children:"Action"})]}),(0,n.jsx)("div",{className:"max-h-[400px] overflow-y-auto",children:0===l.length?(0,n.jsx)("div",{className:"py-10 text-center text-gray-500",children:"No PII types match your filter criteria"}):l.map(e=>(0,n.jsxs)("div",{className:"px-5 py-3 flex items-center justify-between hover:bg-gray-50 border-b ".concat(a.includes(e)?"bg-blue-50":""),children:[(0,n.jsxs)("div",{className:"flex items-center flex-1",children:[(0,n.jsx)(z.Z,{checked:a.includes(e),onChange:()=>r(e),className:"mr-3"}),(0,n.jsx)(G,{className:a.includes(e)?"font-medium text-gray-900":"text-gray-700",children:D(e)}),o.get(e)&&(0,n.jsx)(y.Z,{className:"ml-2 text-xs",color:"blue",children:o.get(e)})]}),(0,n.jsx)("div",{className:"w-32",children:(0,n.jsx)(f.default,{value:a.includes(e)&&t[e]||"MASK",onChange:l=>s(e,l),style:{width:120},disabled:!a.includes(e),className:"".concat(a.includes(e)?"":"opacity-50"),dropdownMatchSelectWidth:!1,children:i.map(e=>(0,n.jsx)(K,{value:e,children:(0,n.jsxs)("div",{className:"flex items-center",children:[R(e),e]})},e))})})]},e))})]})},{Title:W,Text:Y}=g.default;var q=e=>{let{entities:l,actions:a,selectedEntities:t,selectedActions:i,onEntitySelect:r,onActionSelect:s,entityCategories:d=[]}=e,[c,u]=(0,o.useState)([]),m=new Map;d.forEach(e=>{e.entities.forEach(l=>{m.set(l,e.category)})});let x=l.filter(e=>0===c.length||c.includes(m.get(e)||""));return(0,n.jsxs)("div",{className:"pii-configuration",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-5",children:[(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsx)(W,{level:4,className:"!m-0 font-semibold text-gray-800",children:"Configure PII Protection"})}),(0,n.jsxs)(Y,{className:"text-gray-500",children:[t.length," items selected"]})]}),(0,n.jsxs)("div",{className:"mb-6",children:[(0,n.jsx)(J,{categories:d,selectedCategories:c,onChange:u}),(0,n.jsx)(V,{onSelectAll:e=>{l.forEach(l=>{t.includes(l)||r(l),s(l,e)})},onUnselectAll:()=>{t.forEach(e=>{r(e)})},hasSelectedEntities:t.length>0})]}),(0,n.jsx)(U,{entities:x,selectedEntities:t,selectedActions:i,actions:a,onEntitySelect:r,onActionSelect:s,entityToCategoryMap:m})]})},H=a(10353),$=a(31283),Q=a(24199),X=e=>{var l;let{selectedProvider:a,accessToken:t,providerParams:i=null,value:r=null}=e,[s,d]=(0,o.useState)(!1),[c,u]=(0,o.useState)(i),[m,x]=(0,o.useState)(null);if((0,o.useEffect)(()=>{if(i){u(i);return}let e=async()=>{if(t){d(!0),x(null);try{let e=await (0,h.getGuardrailProviderSpecificParams)(t);console.log("Provider params API response:",e),u(e),w(e),S(e)}catch(e){console.error("Error fetching provider params:",e),x("Failed to load provider parameters")}finally{d(!1)}}};i||e()},[t,i]),!a)return null;if(s)return(0,n.jsx)(H.Z,{tip:"Loading provider parameters..."});if(m)return(0,n.jsx)("div",{className:"text-red-500",children:m});let p=null===(l=C[a])||void 0===l?void 0:l.toLowerCase(),g=c&&c[p];if(console.log("Provider key:",p),console.log("Provider fields:",g),!g||0===Object.keys(g).length)return(0,n.jsx)("div",{children:"No configuration fields available for this provider."});console.log("Value:",r);let j=new Set(["patterns","blocked_words","blocked_words_file","categories","severity_threshold","pattern_redaction_format","keyword_redaction_tag"]),y=P(a),_=function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2?arguments[2]:void 0;return Object.entries(e).map(e=>{let[t,i]=e,s=l?"".concat(l,".").concat(t):t,o=a?a[t]:null==r?void 0:r[t];return(console.log("Field value:",o),"ui_friendly_name"===t||"optional_params"===t&&"nested"===i.type&&i.fields||y&&j.has(t))?null:"nested"===i.type&&i.fields?(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-2 font-medium",children:t}),(0,n.jsx)("div",{className:"ml-4 border-l-2 border-gray-200 pl-4",children:_(i.fields,s,o)})]},s):(0,n.jsx)(v.Z.Item,{name:s,label:t,tooltip:i.description,rules:i.required?[{required:!0,message:"".concat(t," is required")}]:void 0,children:"select"===i.type&&i.options?(0,n.jsx)(f.default,{placeholder:i.description,defaultValue:o||i.default_value,children:i.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"multiselect"===i.type&&i.options?(0,n.jsx)(f.default,{mode:"multiple",placeholder:i.description,defaultValue:o||i.default_value,children:i.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"bool"===i.type||"boolean"===i.type?(0,n.jsxs)(f.default,{placeholder:i.description,defaultValue:void 0!==o?String(o):i.default_value,children:[(0,n.jsx)(f.default.Option,{value:"true",children:"True"}),(0,n.jsx)(f.default.Option,{value:"false",children:"False"})]}):"number"===i.type?(0,n.jsx)(Q.Z,{step:1,width:400,placeholder:i.description,defaultValue:void 0!==o?Number(o):void 0}):t.includes("password")||t.includes("secret")||t.includes("key")?(0,n.jsx)($.o,{placeholder:i.description,type:"password",defaultValue:o||""}):(0,n.jsx)($.o,{placeholder:i.description,type:"text",defaultValue:o||""})},s)})};return(0,n.jsx)(n.Fragment,{children:_(g)})};let{Title:ee}=g.default,el=e=>{let{field:l,fieldKey:a,fullFieldKey:t,value:i}=e,[r,s]=o.useState([]),[d,c]=o.useState(l.dict_key_options||[]);o.useEffect(()=>{if(i&&"object"==typeof i){let e=Object.keys(i);s(e.map(e=>({key:e,id:"".concat(e,"_").concat(Date.now(),"_").concat(Math.random())}))),c((l.dict_key_options||[]).filter(l=>!e.includes(l)))}},[i,l.dict_key_options]);let u=e=>{e&&(s([...r,{key:e,id:"".concat(e,"_").concat(Date.now())}]),c(d.filter(l=>l!==e)))},m=(e,l)=>{s(r.filter(l=>l.id!==e)),c([...d,l].sort())};return(0,n.jsxs)("div",{className:"space-y-3",children:[r.map(e=>(0,n.jsxs)("div",{className:"flex items-center space-x-3 p-3 border rounded-lg",children:[(0,n.jsx)("div",{className:"w-24 font-medium text-sm",children:e.key}),(0,n.jsx)("div",{className:"flex-1",children:(0,n.jsx)(v.Z.Item,{name:Array.isArray(t)?[...t,e.key]:[t,e.key],style:{marginBottom:0},initialValue:i&&"object"==typeof i?i[e.key]:void 0,normalize:"number"===l.dict_value_type?e=>{if(null==e||""===e)return;let l=Number(e);return isNaN(l)?e:l}:void 0,children:"number"===l.dict_value_type?(0,n.jsx)(Q.Z,{step:1,width:200,placeholder:"Enter ".concat(e.key," value")}):"boolean"===l.dict_value_type?(0,n.jsxs)(f.default,{placeholder:"Select ".concat(e.key," value"),children:[(0,n.jsx)(f.default.Option,{value:!0,children:"True"}),(0,n.jsx)(f.default.Option,{value:!1,children:"False"})]}):(0,n.jsx)($.o,{placeholder:"Enter ".concat(e.key," value"),type:"text"})})}),(0,n.jsx)("button",{type:"button",className:"text-red-500 hover:text-red-700 text-sm",onClick:()=>m(e.id,e.key),children:"Remove"})]},e.id)),d.length>0&&(0,n.jsxs)("div",{className:"flex items-center space-x-3 mt-2",children:[(0,n.jsx)(f.default,{placeholder:"Select category to configure",style:{width:200},onSelect:e=>e&&u(e),value:void 0,children:d.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}),(0,n.jsx)("span",{className:"text-sm text-gray-500",children:"Select a category to add threshold configuration"})]})]})};var ea=e=>{let{optionalParams:l,parentFieldKey:a,values:t}=e,i=(e,l)=>{let i="".concat(a,".").concat(e),r=null==t?void 0:t[e];return(console.log("value",r),"dict"===l.type&&l.dict_key_options)?(0,n.jsxs)("div",{className:"mb-8 p-6 bg-gray-50 rounded-lg border border-gray-200",children:[(0,n.jsx)("div",{className:"mb-4 font-medium text-gray-900 text-base",children:e}),(0,n.jsx)("p",{className:"text-sm text-gray-600 mb-4",children:l.description}),(0,n.jsx)(el,{field:l,fieldKey:e,fullFieldKey:[a,e],value:r})]},i):(0,n.jsx)("div",{className:"mb-8 p-6 bg-white rounded-lg border border-gray-200 shadow-sm",children:(0,n.jsx)(v.Z.Item,{name:[a,e],label:(0,n.jsxs)("div",{className:"mb-2",children:[(0,n.jsx)("div",{className:"font-medium text-gray-900 text-base",children:e}),(0,n.jsx)("p",{className:"text-sm text-gray-600 mt-1",children:l.description})]}),rules:l.required?[{required:!0,message:"".concat(e," is required")}]:void 0,className:"mb-0",initialValue:void 0!==r?r:l.default_value,normalize:"number"===l.type?e=>{if(null==e||""===e)return;let l=Number(e);return isNaN(l)?e:l}:void 0,children:"select"===l.type&&l.options?(0,n.jsx)(f.default,{placeholder:l.description,children:l.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"multiselect"===l.type&&l.options?(0,n.jsx)(f.default,{mode:"multiple",placeholder:l.description,children:l.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"bool"===l.type||"boolean"===l.type?(0,n.jsxs)(f.default,{placeholder:l.description,children:[(0,n.jsx)(f.default.Option,{value:"true",children:"True"}),(0,n.jsx)(f.default.Option,{value:"false",children:"False"})]}):"number"===l.type?(0,n.jsx)(Q.Z,{step:1,width:400,placeholder:l.description}):e.includes("password")||e.includes("secret")||e.includes("key")?(0,n.jsx)($.o,{placeholder:l.description,type:"password"}):(0,n.jsx)($.o,{placeholder:l.description,type:"text"})})},i)};return l.fields&&0!==Object.keys(l.fields).length?(0,n.jsxs)("div",{className:"guardrail-optional-params",children:[(0,n.jsxs)("div",{className:"mb-8 pb-4 border-b border-gray-100",children:[(0,n.jsx)(ee,{level:3,className:"mb-2 font-semibold text-gray-900",children:"Optional Parameters"}),(0,n.jsx)("p",{className:"text-gray-600 text-sm",children:l.description||"Configure additional settings for this guardrail provider"})]}),(0,n.jsx)("div",{className:"space-y-8",children:Object.entries(l.fields).map(e=>{let[l,a]=e;return i(l,a)})})]}):null},et=a(9114),ei=a(5945),er=a(58760),es=a(65319),en=a(96473),eo=a(3632),ed=a(16312);let{Text:ec}=g.default,{Option:eu}=f.default;var em=e=>{let{visible:l,prebuiltPatterns:a,categories:t,selectedPatternName:i,patternAction:r,onPatternNameChange:s,onActionChange:o,onAdd:d,onCancel:c}=e;return(0,n.jsxs)(_.Z,{title:"Add prebuilt pattern",open:l,onCancel:c,footer:null,width:800,children:[(0,n.jsxs)(er.Z,{direction:"vertical",style:{width:"100%"},size:"large",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(ec,{strong:!0,children:"Pattern type"}),(0,n.jsx)(f.default,{placeholder:"Choose pattern type",value:i,onChange:s,style:{width:"100%",marginTop:8},showSearch:!0,filterOption:(e,l)=>{let t=a.find(e=>e.name===(null==l?void 0:l.value));return!!t&&(t.display_name.toLowerCase().includes(e.toLowerCase())||t.name.toLowerCase().includes(e.toLowerCase()))},children:t.map(e=>{let l=a.filter(l=>l.category===e);return 0===l.length?null:(0,n.jsx)(f.default.OptGroup,{label:e,children:l.map(e=>(0,n.jsx)(eu,{value:e.name,children:e.display_name},e.name))},e)})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ec,{strong:!0,children:"Action"}),(0,n.jsx)(ec,{type:"secondary",style:{display:"block",marginTop:4,marginBottom:8},children:"Choose what action the guardrail should take when this pattern is detected"}),(0,n.jsxs)(f.default,{value:r,onChange:o,style:{width:"100%"},children:[(0,n.jsx)(eu,{value:"BLOCK",children:"Block"}),(0,n.jsx)(eu,{value:"MASK",children:"Mask"})]})]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"24px"},children:[(0,n.jsx)(ed.z,{variant:"secondary",onClick:c,children:"Cancel"}),(0,n.jsx)(ed.z,{onClick:d,children:"Add"})]})]})};let{Text:ex}=g.default,{Option:ep}=f.default;var eh=e=>{let{visible:l,patternName:a,patternRegex:t,patternAction:i,onNameChange:r,onRegexChange:s,onActionChange:o,onAdd:d,onCancel:c}=e;return(0,n.jsxs)(_.Z,{title:"Add custom regex pattern",open:l,onCancel:c,footer:null,width:800,children:[(0,n.jsxs)(er.Z,{direction:"vertical",style:{width:"100%"},size:"large",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(ex,{strong:!0,children:"Pattern name"}),(0,n.jsx)(b.o,{placeholder:"e.g., internal_id, employee_code",value:a,onValueChange:r,style:{marginTop:8}})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ex,{strong:!0,children:"Regex pattern"}),(0,n.jsx)(b.o,{placeholder:"e.g., ID-[0-9]{6}",value:t,onValueChange:s,style:{marginTop:8}}),(0,n.jsx)(ex,{type:"secondary",style:{fontSize:12},children:"Enter a valid regular expression to match sensitive data"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ex,{strong:!0,children:"Action"}),(0,n.jsx)(ex,{type:"secondary",style:{display:"block",marginTop:4,marginBottom:8},children:"Choose what action the guardrail should take when this pattern is detected"}),(0,n.jsxs)(f.default,{value:i,onChange:o,style:{width:"100%"},children:[(0,n.jsx)(ep,{value:"BLOCK",children:"Block"}),(0,n.jsx)(ep,{value:"MASK",children:"Mask"})]})]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"24px"},children:[(0,n.jsx)(b.z,{variant:"secondary",onClick:c,children:"Cancel"}),(0,n.jsx)(b.z,{onClick:d,children:"Add"})]})]})},eg=a(49566),ef=a(16853);let{Text:ej}=g.default,{Option:ev}=f.default;var ey=e=>{let{visible:l,keyword:a,action:t,description:i,onKeywordChange:r,onActionChange:s,onDescriptionChange:o,onAdd:c,onCancel:u}=e;return(0,n.jsxs)(_.Z,{title:"Add blocked keyword",open:l,onCancel:u,footer:null,width:800,children:[(0,n.jsxs)(er.Z,{direction:"vertical",style:{width:"100%"},size:"large",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(ej,{strong:!0,children:"Keyword"}),(0,n.jsx)(eg.Z,{placeholder:"Enter sensitive keyword or phrase",value:a,onValueChange:r,style:{marginTop:8}})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ej,{strong:!0,children:"Action"}),(0,n.jsx)(ej,{type:"secondary",style:{display:"block",marginTop:4,marginBottom:8},children:"Choose what action the guardrail should take when this keyword is detected"}),(0,n.jsxs)(f.default,{value:t,onChange:s,style:{width:"100%"},children:[(0,n.jsx)(ev,{value:"BLOCK",children:"Block"}),(0,n.jsx)(ev,{value:"MASK",children:"Mask"})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ej,{strong:!0,children:"Description (optional)"}),(0,n.jsx)(ef.Z,{placeholder:"Explain why this keyword is sensitive",value:i,onValueChange:o,rows:3,style:{marginTop:8}})]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"24px"},children:[(0,n.jsx)(d.Z,{variant:"secondary",onClick:u,children:"Cancel"}),(0,n.jsx)(d.Z,{onClick:c,children:"Add"})]})]})},e_=a(56609),eb=a(26349);let{Text:eN}=g.default,{Option:ew}=f.default;var ek=e=>{let{patterns:l,onActionChange:a,onRemove:t}=e,i=[{title:"Type",dataIndex:"type",key:"type",width:100,render:e=>(0,n.jsx)(y.Z,{color:"prebuilt"===e?"blue":"green",children:"prebuilt"===e?"Prebuilt":"Custom"})},{title:"Pattern name",dataIndex:"name",key:"name",render:(e,l)=>l.display_name||l.name},{title:"Regex pattern",dataIndex:"pattern",key:"pattern",render:e=>e?(0,n.jsxs)(eN,{code:!0,style:{fontSize:12},children:[e.substring(0,40),"..."]}):"-"},{title:"Action",dataIndex:"action",key:"action",width:150,render:(e,l)=>(0,n.jsxs)(f.default,{value:e,onChange:e=>a(l.id,e),style:{width:120},size:"small",children:[(0,n.jsx)(ew,{value:"BLOCK",children:"Block"}),(0,n.jsx)(ew,{value:"MASK",children:"Mask"})]})},{title:"",key:"actions",width:100,render:(e,l)=>(0,n.jsx)(ed.z,{type:"button",variant:"light",color:"red",size:"xs",icon:eb.Z,onClick:()=>t(l.id),children:"Delete"})}];return 0===l.length?(0,n.jsx)("div",{style:{textAlign:"center",padding:"40px 0",color:"#999"},children:"No patterns added."}):(0,n.jsx)(e_.Z,{dataSource:l,columns:i,rowKey:"id",pagination:!1,size:"small"})};let{Text:eC}=g.default,{Option:eS}=f.default;var eZ=e=>{let{keywords:l,onActionChange:a,onRemove:t}=e,i=[{title:"Keyword",dataIndex:"keyword",key:"keyword"},{title:"Action",dataIndex:"action",key:"action",width:150,render:(e,l)=>(0,n.jsxs)(f.default,{value:e,onChange:e=>a(l.id,"action",e),style:{width:120},size:"small",children:[(0,n.jsx)(eS,{value:"BLOCK",children:"Block"}),(0,n.jsx)(eS,{value:"MASK",children:"Mask"})]})},{title:"Description",dataIndex:"description",key:"description",render:e=>e||"-"},{title:"",key:"actions",width:100,render:(e,l)=>(0,n.jsx)(ed.z,{type:"button",variant:"light",color:"red",size:"xs",icon:eb.Z,onClick:()=>t(l.id),children:"Delete"})}];return 0===l.length?(0,n.jsx)("div",{style:{textAlign:"center",padding:"40px 0",color:"#999"},children:"No keywords added."}):(0,n.jsx)(e_.Z,{dataSource:l,columns:i,rowKey:"id",pagination:!1,size:"small"})},eP=a(44851),eA=a(38434);let{Title:eO,Text:eI}=g.default,{Option:eL}=f.default,{Panel:eT}=eP.default;var ez=e=>{var l;let{availableCategories:a,selectedCategories:t,onCategoryAdd:i,onCategoryRemove:r,onCategoryUpdate:s,accessToken:d}=e,[c,u]=o.useState(""),[m,x]=o.useState({}),[p,g]=o.useState({}),[j,v]=o.useState([]),[_,b]=o.useState(""),[N,w]=o.useState(!1),k=async e=>{if(d&&!m[e]){g(l=>({...l,[e]:!0}));try{let l=await (0,h.getCategoryYaml)(d,e);x(a=>({...a,[e]:l.yaml_content}))}catch(l){console.error("Failed to fetch YAML for category ".concat(e,":"),l)}finally{g(l=>({...l,[e]:!1}))}}};o.useEffect(()=>{if(c&&d){let e=m[c];if(e){b(e);return}w(!0),console.log("Fetching YAML for category: ".concat(c),{accessToken:d?"present":"missing"}),(0,h.getCategoryYaml)(d,c).then(e=>{console.log("Successfully fetched YAML for ".concat(c,":"),e),b(e.yaml_content),x(l=>({...l,[c]:e.yaml_content}))}).catch(e=>{console.error("Failed to fetch preview YAML for category ".concat(c,":"),e),b("")}).finally(()=>{w(!1)})}else b(""),w(!1)},[c,d]);let C=[{title:"Category",dataIndex:"display_name",key:"display_name",render:(e,l)=>{let t=a.find(e=>e.name===l.category);return(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontWeight:500},children:e}),(null==t?void 0:t.description)&&(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888",marginTop:"4px"},children:t.description})]})}},{title:"Action",dataIndex:"action",key:"action",width:150,render:(e,l)=>(0,n.jsxs)(f.default,{value:e,onChange:e=>s(l.id,"action",e),style:{width:"100%"},children:[(0,n.jsx)(eL,{value:"BLOCK",children:(0,n.jsx)(y.Z,{color:"red",children:"BLOCK"})}),(0,n.jsx)(eL,{value:"MASK",children:(0,n.jsx)(y.Z,{color:"orange",children:"MASK"})})]})},{title:"Severity Threshold",dataIndex:"severity_threshold",key:"severity_threshold",width:180,render:(e,l)=>(0,n.jsxs)(f.default,{value:e,onChange:e=>s(l.id,"severity_threshold",e),style:{width:"100%"},children:[(0,n.jsx)(eL,{value:"low",children:"Low"}),(0,n.jsx)(eL,{value:"medium",children:"Medium"}),(0,n.jsx)(eL,{value:"high",children:"High"})]})},{title:"",key:"actions",width:80,render:(e,l)=>(0,n.jsx)(ed.z,{icon:eb.Z,onClick:()=>r(l.id),variant:"secondary",size:"xs",children:"Remove"})}],S=a.filter(e=>!t.some(l=>l.category===e.name));return(0,n.jsxs)(ei.Z,{title:(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsx)(eO,{level:5,style:{margin:0},children:"Content Categories"}),(0,n.jsx)(eI,{type:"secondary",style:{fontSize:14,fontWeight:400},children:"Detect harmful content, bias, and inappropriate advice using semantic analysis"})]}),size:"small",children:[(0,n.jsxs)("div",{style:{marginBottom:16,display:"flex",gap:8},children:[(0,n.jsx)(f.default,{placeholder:"Select a content category",value:c||void 0,onChange:u,style:{flex:1},showSearch:!0,optionLabelProp:"label",filterOption:(e,l)=>{var a,t;return(null!==(t=null==l?void 0:null===(a=l.label)||void 0===a?void 0:a.toString().toLowerCase())&&void 0!==t?t:"").includes(e.toLowerCase())},children:S.map(e=>(0,n.jsx)(eL,{value:e.name,label:e.display_name,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontWeight:500},children:e.display_name}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:e.description})]})},e.name))}),(0,n.jsx)(ed.z,{onClick:()=>{if(!c)return;let e=a.find(e=>e.name===c);!e||t.some(e=>e.category===c)||(i({id:"category-".concat(Date.now()),category:e.name,display_name:e.display_name,action:e.default_action,severity_threshold:"medium"}),u(""),b(""))},disabled:!c,icon:en.Z,children:"Add"})]}),c&&(0,n.jsxs)("div",{style:{marginBottom:16,padding:"12px",background:"#f9f9f9",border:"1px solid #e0e0e0",borderRadius:"4px"},children:[(0,n.jsxs)("div",{style:{marginBottom:8,fontWeight:500,fontSize:"14px"},children:["Preview: ",null===(l=a.find(e=>e.name===c))||void 0===l?void 0:l.display_name]}),N?(0,n.jsx)("div",{style:{padding:"16px",textAlign:"center",color:"#888"},children:"Loading YAML..."}):_?(0,n.jsx)("pre",{style:{background:"#fff",padding:"12px",borderRadius:"4px",overflow:"auto",maxHeight:"300px",fontSize:"12px",lineHeight:"1.5",margin:0,border:"1px solid #e0e0e0"},children:(0,n.jsx)("code",{children:_})}):(0,n.jsx)("div",{style:{padding:"8px",textAlign:"center",color:"#888",fontSize:"12px"},children:"Unable to load YAML content"})]}),t.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e_.Z,{dataSource:t,columns:C,pagination:!1,size:"small",rowKey:"id"}),(0,n.jsx)("div",{style:{marginTop:16},children:(0,n.jsx)(eP.default,{activeKey:j,onChange:e=>{let l=Array.isArray(e)?e:e?[e]:[],a=new Set(j);l.forEach(e=>{a.has(e)||m[e]||k(e)}),v(l)},ghost:!0,children:t.map(e=>(0,n.jsx)(eT,{header:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)(eA.Z,{}),(0,n.jsxs)("span",{children:["View YAML for ",e.display_name]})]}),children:p[e.category]?(0,n.jsx)("div",{style:{padding:"16px",textAlign:"center",color:"#888"},children:"Loading YAML..."}):m[e.category]?(0,n.jsx)("pre",{style:{background:"#f5f5f5",padding:"16px",borderRadius:"4px",overflow:"auto",maxHeight:"400px",fontSize:"12px",lineHeight:"1.5",margin:0},children:(0,n.jsx)("code",{children:m[e.category]})}):(0,n.jsx)("div",{style:{padding:"16px",textAlign:"center",color:"#888"},children:"YAML will load when expanded"})},e.category))})})]}):(0,n.jsx)("div",{style:{textAlign:"center",padding:"24px",color:"#888",border:"1px dashed #d9d9d9",borderRadius:"4px"},children:"No content categories selected. Add categories to detect harmful content, bias, or inappropriate advice."})]})};let{Title:eE,Text:eB}=g.default;var eM=e=>{let{prebuiltPatterns:l,categories:a,selectedPatterns:t,blockedWords:i,onPatternAdd:r,onPatternRemove:s,onPatternActionChange:d,onBlockedWordAdd:c,onBlockedWordRemove:u,onBlockedWordUpdate:m,onFileUpload:x,accessToken:p,showStep:g,contentCategories:f=[],selectedContentCategories:j=[],onContentCategoryAdd:v,onContentCategoryRemove:y,onContentCategoryUpdate:_}=e,[b,N]=(0,o.useState)(!1),[w,k]=(0,o.useState)(!1),[C,S]=(0,o.useState)(!1),[Z,P]=(0,o.useState)(""),[A,O]=(0,o.useState)("BLOCK"),[I,L]=(0,o.useState)(""),[T,z]=(0,o.useState)(""),[E,B]=(0,o.useState)("BLOCK"),[M,F]=(0,o.useState)(""),[G,K]=(0,o.useState)("BLOCK"),[D,R]=(0,o.useState)(""),[J,V]=(0,o.useState)(!1),U=async e=>{V(!0);try{let l=await e.text();if(p){let e=await (0,h.validateBlockedWordsFile)(p,l);if(e.valid)x&&x(l),et.Z.success(e.message||"File uploaded successfully");else{let l=e.error||e.errors&&e.errors.join(", ")||"Invalid file";et.Z.error("Validation failed: ".concat(l))}}}catch(e){et.Z.error("Failed to upload file: ".concat(e))}finally{V(!1)}return!1};return(0,n.jsxs)("div",{className:"space-y-6",children:[!g&&(0,n.jsx)("div",{children:(0,n.jsx)(eB,{type:"secondary",children:"Configure patterns, keywords, and content categories to detect and filter sensitive information in requests and responses."})}),(!g||"patterns"===g)&&(0,n.jsxs)(ei.Z,{title:(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsx)(eE,{level:5,style:{margin:0},children:"Pattern Detection"}),(0,n.jsx)(eB,{type:"secondary",style:{fontSize:14,fontWeight:400},children:"Detect sensitive information using regex patterns (SSN, credit cards, API keys, etc.)"})]}),size:"small",children:[(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)(er.Z,{children:[(0,n.jsx)(ed.z,{type:"button",onClick:()=>N(!0),icon:en.Z,children:"Add prebuilt pattern"}),(0,n.jsx)(ed.z,{type:"button",onClick:()=>S(!0),variant:"secondary",icon:en.Z,children:"Add custom regex"})]})}),(0,n.jsx)(ek,{patterns:t,onActionChange:d,onRemove:s})]}),(!g||"keywords"===g)&&(0,n.jsxs)(ei.Z,{title:(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsx)(eE,{level:5,style:{margin:0},children:"Blocked Keywords"}),(0,n.jsx)(eB,{type:"secondary",style:{fontSize:14,fontWeight:400},children:"Block or mask specific sensitive terms and phrases"})]}),size:"small",children:[(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)(er.Z,{children:[(0,n.jsx)(ed.z,{type:"button",onClick:()=>k(!0),icon:en.Z,children:"Add keyword"}),(0,n.jsx)(es.default,{beforeUpload:U,accept:".yaml,.yml",showUploadList:!1,children:(0,n.jsx)(ed.z,{type:"button",variant:"secondary",icon:eo.Z,loading:J,children:"Upload YAML file"})})]})}),(0,n.jsx)(eZ,{keywords:i,onActionChange:m,onRemove:u})]}),(!g||"categories"===g)&&f.length>0&&v&&y&&_&&(0,n.jsx)(ez,{availableCategories:f,selectedCategories:j,onCategoryAdd:v,onCategoryRemove:y,onCategoryUpdate:_,accessToken:p}),(0,n.jsx)(em,{visible:b,prebuiltPatterns:l,categories:a,selectedPatternName:Z,patternAction:A,onPatternNameChange:P,onActionChange:e=>O(e),onAdd:()=>{if(!Z){et.Z.error("Please select a pattern");return}let e=l.find(e=>e.name===Z);r({id:"pattern-".concat(Date.now()),type:"prebuilt",name:Z,display_name:null==e?void 0:e.display_name,action:A}),N(!1),P(""),O("BLOCK")},onCancel:()=>{N(!1),P(""),O("BLOCK")}}),(0,n.jsx)(eh,{visible:C,patternName:I,patternRegex:T,patternAction:E,onNameChange:L,onRegexChange:z,onActionChange:e=>B(e),onAdd:()=>{if(!I||!T){et.Z.error("Please provide pattern name and regex");return}r({id:"custom-".concat(Date.now()),type:"custom",name:I,pattern:T,action:E}),S(!1),L(""),z(""),B("BLOCK")},onCancel:()=>{S(!1),L(""),z(""),B("BLOCK")}}),(0,n.jsx)(ey,{visible:w,keyword:M,action:G,description:D,onKeywordChange:F,onActionChange:e=>K(e),onDescriptionChange:R,onAdd:()=>{if(!M){et.Z.error("Please enter a keyword");return}c({id:"word-".concat(Date.now()),keyword:M,action:G,description:D||void 0}),k(!1),F(""),R(""),K("BLOCK")},onCancel:()=>{k(!1),F(""),R(""),K("BLOCK")}})]})},eF=a(78801),eG=a(4260),eK=a(23496),eD=a(85180),eR=a(15424);let eJ={rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""},eV=e=>({...eJ,...e||{},rules:(null==e?void 0:e.rules)?[...e.rules]:[]});var eU=e=>{let{value:l,onChange:a,disabled:t=!1}=e,i=eV(l),r=e=>{let l={...i,...e};null==a||a(l)},s=(e,l)=>{r({rules:i.rules.map((a,t)=>t===e?{...a,...l}:a)})},o=e=>{r({rules:i.rules.filter((l,a)=>a!==e)})},d=(e,l)=>{let a=i.rules[e];if(!a)return;let t=Object.entries(a.allowed_param_patterns||{});l(t);let r={};t.forEach(e=>{let[l,a]=e;r[l]=a}),s(e,{allowed_param_patterns:Object.keys(r).length>0?r:void 0})},c=(e,l,a)=>{d(e,e=>{if(!e[l])return;let[,t]=e[l];e[l]=[a,t]})},u=(e,l,a)=>{d(e,e=>{if(!e[l])return;let[t]=e[l];e[l]=[t,a]})},m=(e,l)=>{let a=Object.entries(e.allowed_param_patterns||{});return 0===a.length?(0,n.jsx)(T.ZP,{disabled:t,size:"small",onClick:()=>s(l,{allowed_param_patterns:{"":""}}),children:"+ Restrict tool arguments (optional)"}):(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(eF.x,{className:"text-sm text-gray-600",children:"Argument constraints (dot or array paths)"}),a.map((a,i)=>{let[r,s]=a;return(0,n.jsxs)(er.Z,{align:"start",children:[(0,n.jsx)(eG.default,{disabled:t,placeholder:"messages[0].content",value:r,onChange:e=>c(l,i,e.target.value)}),(0,n.jsx)(eG.default,{disabled:t,placeholder:"^email@.*$",value:s,onChange:e=>u(l,i,e.target.value)}),(0,n.jsx)(T.ZP,{disabled:t,icon:(0,n.jsx)(eb.Z,{}),danger:!0,onClick:()=>d(l,e=>{e.splice(i,1)})})]},"".concat(e.id||l,"-").concat(i))}),(0,n.jsx)(T.ZP,{disabled:t,size:"small",onClick:()=>s(l,{allowed_param_patterns:{...e.allowed_param_patterns||{},"":""}}),children:"+ Add another constraint"})]})};return(0,n.jsxs)(eF.Z,{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(eF.x,{className:"text-lg font-semibold",children:"LiteLLM Tool Permission Guardrail"}),(0,n.jsx)(eF.x,{className:"text-sm text-gray-500",children:"Provide regex patterns (e.g., ^mcp__github_.*$) for tool names or types and optionally constrain payload fields."})]}),!t&&(0,n.jsx)(T.ZP,{icon:(0,n.jsx)(en.Z,{}),type:"primary",onClick:()=>{r({rules:[...i.rules,{id:"rule_".concat(Math.random().toString(36).slice(2,8)),decision:"allow",allowed_param_patterns:void 0}]})},className:"!bg-blue-600 !text-white hover:!bg-blue-500",children:"Add Rule"})]}),(0,n.jsx)(eK.Z,{}),0===i.rules.length?(0,n.jsx)(eD.Z,{description:"No tool rules added yet"}):(0,n.jsx)("div",{className:"space-y-4",children:i.rules.map((e,l)=>{var a,i;return(0,n.jsxs)(eF.Z,{className:"bg-gray-50",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsxs)(eF.x,{className:"font-semibold",children:["Rule ",l+1]}),(0,n.jsx)(T.ZP,{icon:(0,n.jsx)(eb.Z,{}),danger:!0,type:"text",disabled:t,onClick:()=>o(l),children:"Remove"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(eF.x,{className:"text-sm font-medium",children:"Rule ID"}),(0,n.jsx)(eG.default,{disabled:t,placeholder:"unique_rule_id",value:e.id,onChange:e=>s(l,{id:e.target.value})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(eF.x,{className:"text-sm font-medium",children:"Tool Name (optional)"}),(0,n.jsx)(eG.default,{disabled:t,placeholder:"^mcp__github_.*$",value:null!==(a=e.tool_name)&&void 0!==a?a:"",onChange:e=>s(l,{tool_name:""===e.target.value.trim()?void 0:e.target.value})})]})]}),(0,n.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 mt-4",children:(0,n.jsxs)("div",{children:[(0,n.jsx)(eF.x,{className:"text-sm font-medium",children:"Tool Type (optional)"}),(0,n.jsx)(eG.default,{disabled:t,placeholder:"^function$",value:null!==(i=e.tool_type)&&void 0!==i?i:"",onChange:e=>s(l,{tool_type:""===e.target.value.trim()?void 0:e.target.value})})]})}),(0,n.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[(0,n.jsx)(eF.x,{className:"text-sm font-medium",children:"Decision"}),(0,n.jsxs)(f.default,{disabled:t,value:e.decision,style:{width:200},onChange:e=>s(l,{decision:e}),children:[(0,n.jsx)(f.default.Option,{value:"allow",children:"Allow"}),(0,n.jsx)(f.default.Option,{value:"deny",children:"Deny"})]})]}),(0,n.jsx)("div",{className:"mt-4",children:m(e,l)})]},e.id||l)})}),(0,n.jsx)(eK.Z,{}),(0,n.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(eF.x,{className:"text-sm font-medium",children:"Default action"}),(0,n.jsxs)(f.default,{disabled:t,value:i.default_action,onChange:e=>r({default_action:e}),children:[(0,n.jsx)(f.default.Option,{value:"allow",children:"Allow"}),(0,n.jsx)(f.default.Option,{value:"deny",children:"Deny"})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)(eF.x,{className:"text-sm font-medium flex items-center gap-1",children:["On disallowed action",(0,n.jsx)(L.Z,{title:"Block returns an error when a forbidden tool is invoked. Rewrite strips the tool call but lets the rest of the response continue.",children:(0,n.jsx)(eR.Z,{})})]}),(0,n.jsxs)(f.default,{disabled:t,value:i.on_disallowed_action,onChange:e=>r({on_disallowed_action:e}),children:[(0,n.jsx)(f.default.Option,{value:"block",children:"Block"}),(0,n.jsx)(f.default.Option,{value:"rewrite",children:"Rewrite"})]})]})]}),(0,n.jsxs)("div",{className:"mt-4",children:[(0,n.jsx)(eF.x,{className:"text-sm font-medium",children:"Violation message (optional)"}),(0,n.jsx)(eG.default.TextArea,{disabled:t,rows:3,placeholder:"This violates our org policy...",value:i.violation_message_template,onChange:e=>r({violation_message_template:e.target.value})})]})]})};let{Title:eW,Text:eY,Link:eq}=g.default,{Option:eH}=f.default,{Step:e$}=j.default,eQ={pre_call:"Before LLM Call - Runs before the LLM call and checks the input (Recommended)",during_call:"During LLM Call - Runs in parallel with the LLM call, with response held until check completes",post_call:"After LLM Call - Runs after the LLM call and checks only the output",logging_only:"Logging Only - Only runs on logging callbacks without affecting the LLM call",pre_mcp_call:"Before MCP Tool Call - Runs before MCP tool execution and validates tool calls",during_mcp_call:"During MCP Tool Call - Runs in parallel with MCP tool execution for monitoring"};var eX=e=>{let{visible:l,onClose:a,accessToken:t,onSuccess:i}=e,[r]=v.Z.useForm(),[s,d]=(0,o.useState)(!1),[c,u]=(0,o.useState)(null),[m,x]=(0,o.useState)(null),[p,g]=(0,o.useState)([]),[N,A]=(0,o.useState)({}),[I,L]=(0,o.useState)(0),[T,z]=(0,o.useState)(null),[E,B]=(0,o.useState)([]),[M,F]=(0,o.useState)(2),[G,K]=(0,o.useState)({}),[D,R]=(0,o.useState)([]),[J,V]=(0,o.useState)([]),[U,W]=(0,o.useState)([]),[Y,H]=(0,o.useState)({rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""}),$=(0,o.useMemo)(()=>!!c&&"tool_permission"===(C[c]||"").toLowerCase(),[c]);(0,o.useEffect)(()=>{t&&(async()=>{try{let[e,l]=await Promise.all([(0,h.getGuardrailUISettings)(t),(0,h.getGuardrailProviderSpecificParams)(t)]);x(e),z(l),w(l),S(l)}catch(e){console.error("Error fetching guardrail data:",e),et.Z.fromBackend("Failed to load guardrail configuration")}})()},[t]);let Q=e=>{u(e),r.setFieldsValue({config:void 0,presidio_analyzer_api_base:void 0,presidio_anonymizer_api_base:void 0}),g([]),A({}),B([]),F(2),K({}),H({rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""})},ee=e=>{g(l=>l.includes(e)?l.filter(l=>l!==e):[...l,e])},el=(e,l)=>{A(a=>({...a,[e]:l}))},ei=async()=>{try{if(0===I&&(await r.validateFields(["guardrail_name","provider","mode","default_on"]),c)){let e=["guardrail_name","provider","mode","default_on"];"PresidioPII"===c&&e.push("presidio_analyzer_api_base","presidio_anonymizer_api_base"),await r.validateFields(e)}if(1===I&&Z(c)&&0===p.length){et.Z.fromBackend("Please select at least one PII entity to continue");return}L(I+1)}catch(e){console.error("Form validation failed:",e)}},er=()=>{L(I-1)},es=()=>{r.resetFields(),u(null),g([]),A({}),B([]),F(2),K({}),R([]),V([]),W([]),H({rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""}),L(0)},en=()=>{es(),a()},eo=async()=>{try{d(!0),await r.validateFields();let l=r.getFieldsValue(!0),s=C[l.provider],n={guardrail_name:l.guardrail_name,litellm_params:{guardrail:s,mode:l.mode,default_on:l.default_on},guardrail_info:{}};if("PresidioPII"===l.provider&&p.length>0){let e={};p.forEach(l=>{e[l]=N[l]||"MASK"}),n.litellm_params.pii_entities_config=e,l.presidio_analyzer_api_base&&(n.litellm_params.presidio_analyzer_api_base=l.presidio_analyzer_api_base),l.presidio_anonymizer_api_base&&(n.litellm_params.presidio_anonymizer_api_base=l.presidio_anonymizer_api_base)}if(P(l.provider))D.length>0&&(n.litellm_params.patterns=D.map(e=>({pattern_type:"prebuilt"===e.type?"prebuilt":"regex",pattern_name:"prebuilt"===e.type?e.name:void 0,pattern:"custom"===e.type?e.pattern:void 0,name:e.name,action:e.action}))),J.length>0&&(n.litellm_params.blocked_words=J.map(e=>({keyword:e.keyword,action:e.action,description:e.description}))),U.length>0&&(n.litellm_params.categories=U.map(e=>({category:e.category,enabled:!0,action:e.action,severity_threshold:e.severity_threshold||"medium"})));else if(l.config)try{let e=JSON.parse(l.config);n.guardrail_info=e}catch(e){et.Z.fromBackend("Invalid JSON in configuration"),d(!1);return}if("tool_permission"===s){if(0===Y.rules.length){et.Z.fromBackend("Add at least one tool permission rule"),d(!1);return}n.litellm_params.rules=Y.rules,n.litellm_params.default_action=Y.default_action,n.litellm_params.on_disallowed_action=Y.on_disallowed_action,Y.violation_message_template&&(n.litellm_params.violation_message_template=Y.violation_message_template)}if(console.log("values: ",JSON.stringify(l)),T&&c){var e;let a=null===(e=C[c])||void 0===e?void 0:e.toLowerCase();console.log("providerKey: ",a);let t=T[a]||{},i=new Set;console.log("providerSpecificParams: ",JSON.stringify(t)),Object.keys(t).forEach(e=>{"optional_params"!==e&&i.add(e)}),t.optional_params&&t.optional_params.fields&&Object.keys(t.optional_params.fields).forEach(e=>{i.add(e)}),console.log("allowedParams: ",i),i.forEach(e=>{let a=l[e];if(null==a||""===a){var t;a=null===(t=l.optional_params)||void 0===t?void 0:t[e]}null!=a&&""!==a&&(n.litellm_params[e]=a)})}if(!t)throw Error("No access token available");console.log("Sending guardrail data:",JSON.stringify(n)),await (0,h.createGuardrailCall)(t,n),et.Z.success("Guardrail created successfully"),es(),i(),a()}catch(e){console.error("Failed to create guardrail:",e),et.Z.fromBackend("Failed to create guardrail: "+(e instanceof Error?e.message:String(e)))}finally{d(!1)}},ed=()=>{var e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(v.Z.Item,{name:"guardrail_name",label:"Guardrail Name",rules:[{required:!0,message:"Please enter a guardrail name"}],children:(0,n.jsx)(b.o,{placeholder:"Enter a name for this guardrail"})}),(0,n.jsx)(v.Z.Item,{name:"provider",label:"Guardrail Provider",rules:[{required:!0,message:"Please select a provider"}],children:(0,n.jsx)(f.default,{placeholder:"Select a guardrail provider",onChange:Q,labelInValue:!1,optionLabelProp:"label",dropdownRender:e=>e,showSearch:!0,children:Object.entries(k()).map(e=>{let[l,a]=e;return(0,n.jsx)(eH,{value:l,label:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[O[a]&&(0,n.jsx)("img",{src:O[a],alt:"",style:{height:"20px",width:"20px",marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,n.jsx)("span",{children:a})]}),children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[O[a]&&(0,n.jsx)("img",{src:O[a],alt:"",style:{height:"20px",width:"20px",marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,n.jsx)("span",{children:a})]})},l)})})}),(0,n.jsx)(v.Z.Item,{name:"mode",label:"Mode",tooltip:"How the guardrail should be applied",rules:[{required:!0,message:"Please select a mode"}],children:(0,n.jsx)(f.default,{optionLabelProp:"label",mode:"multiple",children:(null==m?void 0:null===(e=m.supported_modes)||void 0===e?void 0:e.map(e=>(0,n.jsx)(eH,{value:e,label:e,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:e}),"pre_call"===e&&(0,n.jsx)(y.Z,{color:"green",style:{marginLeft:"8px"},children:"Recommended"})]}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eQ[e]})]})},e)))||(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eH,{value:"pre_call",label:"pre_call",children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"pre_call"})," ",(0,n.jsx)(y.Z,{color:"green",children:"Recommended"})]}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eQ.pre_call})]})}),(0,n.jsx)(eH,{value:"during_call",label:"during_call",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:(0,n.jsx)("strong",{children:"during_call"})}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eQ.during_call})]})}),(0,n.jsx)(eH,{value:"post_call",label:"post_call",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:(0,n.jsx)("strong",{children:"post_call"})}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eQ.post_call})]})}),(0,n.jsx)(eH,{value:"logging_only",label:"logging_only",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:(0,n.jsx)("strong",{children:"logging_only"})}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eQ.logging_only})]})})]})})}),(0,n.jsx)(v.Z.Item,{name:"default_on",label:"Always On",tooltip:"If enabled, this guardrail will be applied to all requests by default.",children:(0,n.jsxs)(f.default,{children:[(0,n.jsx)(f.default.Option,{value:!0,children:"Yes"}),(0,n.jsx)(f.default.Option,{value:!1,children:"No"})]})}),!$&&!P(c)&&(0,n.jsx)(X,{selectedProvider:c,accessToken:t,providerParams:T})]})},ec=()=>m&&"PresidioPII"===c?(0,n.jsx)(q,{entities:m.supported_entities,actions:m.supported_actions,selectedEntities:p,selectedActions:N,onEntitySelect:ee,onActionSelect:el,entityCategories:m.pii_entity_categories}):null,eu=e=>{if(!m||!P(c))return null;let l=m.content_filter_settings;return l?(0,n.jsx)(eM,{prebuiltPatterns:l.prebuilt_patterns||[],categories:l.pattern_categories||[],selectedPatterns:D,blockedWords:J,onPatternAdd:e=>R([...D,e]),onPatternRemove:e=>R(D.filter(l=>l.id!==e)),onPatternActionChange:(e,l)=>{R(D.map(a=>a.id===e?{...a,action:l}:a))},onBlockedWordAdd:e=>V([...J,e]),onBlockedWordRemove:e=>V(J.filter(l=>l.id!==e)),onBlockedWordUpdate:(e,l,a)=>{V(J.map(t=>t.id===e?{...t,[l]:a}:t))},contentCategories:l.content_categories||[],selectedContentCategories:U,onContentCategoryAdd:e=>W([...U,e]),onContentCategoryRemove:e=>W(U.filter(l=>l.id!==e)),onContentCategoryUpdate:(e,l,a)=>{W(U.map(t=>t.id===e?{...t,[l]:a}:t))},accessToken:t,showStep:e}):null},em=()=>{var e;if(!c)return null;if($)return(0,n.jsx)(eU,{value:Y,onChange:H});if(!T)return null;console.log("guardrail_provider_map: ",C),console.log("selectedProvider: ",c);let l=null===(e=C[c])||void 0===e?void 0:e.toLowerCase(),a=T&&T[l];return a&&a.optional_params?(0,n.jsx)(ea,{optionalParams:a.optional_params,parentFieldKey:"optional_params"}):null};return(0,n.jsx)(_.Z,{title:"Add Guardrail",open:l,onCancel:en,footer:null,width:800,children:(0,n.jsxs)(v.Z,{form:r,layout:"vertical",initialValues:{mode:"pre_call",default_on:!1},children:[(0,n.jsxs)(j.default,{current:I,className:"mb-6",style:{overflow:"visible"},children:[(0,n.jsx)(e$,{title:"Basic Info"}),(0,n.jsx)(e$,{title:Z(c)?"PII Configuration":P(c)?"Default Categories":"Provider Configuration"}),P(c)&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e$,{title:"Patterns"}),(0,n.jsx)(e$,{title:"Keywords"})]})]}),(()=>{switch(I){case 0:return ed();case 1:if(Z(c))return ec();if(P(c))return eu("categories");return em();case 2:if(P(c))return eu("patterns");return null;case 3:if(P(c))return eu("keywords");return null;default:return null}})(),(()=>{let e=I===(P(c)?4:2)-1;return(0,n.jsxs)("div",{className:"flex justify-end space-x-2 mt-4",children:[I>0&&(0,n.jsx)(b.z,{variant:"secondary",onClick:er,children:"Previous"}),!e&&(0,n.jsx)(b.z,{onClick:ei,children:"Next"}),e&&(0,n.jsx)(b.z,{onClick:eo,loading:s,children:"Create Guardrail"}),(0,n.jsx)(b.z,{variant:"secondary",onClick:en,children:"Cancel"})]})})()]})})},e0=a(47323),e1=a(21626),e4=a(97214),e2=a(28241),e8=a(58834),e5=a(69552),e6=a(71876),e3=a(74998),e9=a(44633),e7=a(86462),le=a(49084),ll=a(1309),la=a(71594),lt=a(24525),li=a(63709);let{Title:lr,Text:ls}=g.default,{Option:ln}=f.default;var lo=e=>{var l;let{visible:a,onClose:t,accessToken:i,onSuccess:r,guardrailId:s,initialValues:d}=e,[c]=v.Z.useForm(),[u,m]=(0,o.useState)(!1),[x,p]=(0,o.useState)((null==d?void 0:d.provider)||null),[g,j]=(0,o.useState)(null),[y,N]=(0,o.useState)([]),[w,S]=(0,o.useState)({});(0,o.useEffect)(()=>{(async()=>{try{if(!i)return;let e=await (0,h.getGuardrailUISettings)(i);j(e)}catch(e){console.error("Error fetching guardrail settings:",e),et.Z.fromBackend("Failed to load guardrail settings")}})()},[i]),(0,o.useEffect)(()=>{(null==d?void 0:d.pii_entities_config)&&Object.keys(d.pii_entities_config).length>0&&(N(Object.keys(d.pii_entities_config)),S(d.pii_entities_config))},[d]);let Z=e=>{N(l=>l.includes(e)?l.filter(l=>l!==e):[...l,e])},P=(e,l)=>{S(a=>({...a,[e]:l}))},A=async()=>{try{m(!0);let e=await c.validateFields(),l=C[e.provider],a={guardrail_id:s,guardrail:{guardrail_name:e.guardrail_name,litellm_params:{guardrail:l,mode:e.mode,default_on:e.default_on},guardrail_info:{}}};if("PresidioPII"===e.provider&&y.length>0){let e={};y.forEach(l=>{e[l]=w[l]||"MASK"}),a.guardrail.litellm_params.pii_entities_config=e}else if(e.config)try{let l=JSON.parse(e.config);"Bedrock"===e.provider&&l?(l.guardrail_id&&(a.guardrail.litellm_params.guardrailIdentifier=l.guardrail_id),l.guardrail_version&&(a.guardrail.litellm_params.guardrailVersion=l.guardrail_version)):a.guardrail.guardrail_info=l}catch(e){et.Z.fromBackend("Invalid JSON in configuration"),m(!1);return}if(!i)throw Error("No access token available");console.log("Sending guardrail update data:",JSON.stringify(a));let n=await fetch("/guardrails/".concat(s),{method:"PUT",headers:{Authorization:"Bearer ".concat(i),"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){let e=await n.text();throw Error(e||"Failed to update guardrail")}et.Z.success("Guardrail updated successfully"),r(),t()}catch(e){console.error("Failed to update guardrail:",e),et.Z.fromBackend("Failed to update guardrail: "+(e instanceof Error?e.message:String(e)))}finally{m(!1)}},I=()=>g&&x&&"PresidioPII"===x?(0,n.jsx)(q,{entities:g.supported_entities,actions:g.supported_actions,selectedEntities:y,selectedActions:w,onEntitySelect:Z,onActionSelect:P,entityCategories:g.pii_entity_categories}):null;return(0,n.jsx)(_.Z,{title:"Edit Guardrail",open:a,onCancel:t,footer:null,width:700,children:(0,n.jsxs)(v.Z,{form:c,layout:"vertical",initialValues:d,children:[(0,n.jsx)(v.Z.Item,{name:"guardrail_name",label:"Guardrail Name",rules:[{required:!0,message:"Please enter a guardrail name"}],children:(0,n.jsx)(b.o,{placeholder:"Enter a name for this guardrail"})}),(0,n.jsx)(v.Z.Item,{name:"provider",label:"Guardrail Provider",rules:[{required:!0,message:"Please select a provider"}],children:(0,n.jsx)(f.default,{placeholder:"Select a guardrail provider",onChange:e=>{p(e),c.setFieldsValue({config:void 0}),N([]),S({})},disabled:!0,optionLabelProp:"label",children:Object.entries(k()).map(e=>{let[l,a]=e;return(0,n.jsx)(ln,{value:l,label:a,children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[O[a]&&(0,n.jsx)("img",{src:O[a],alt:"",style:{height:"20px",width:"20px",marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,n.jsx)("span",{children:a})]})},l)})})}),(0,n.jsx)(v.Z.Item,{name:"mode",label:"Mode",tooltip:"How the guardrail should be applied",rules:[{required:!0,message:"Please select a mode"}],children:(0,n.jsx)(f.default,{children:(null==g?void 0:null===(l=g.supported_modes)||void 0===l?void 0:l.map(e=>(0,n.jsx)(ln,{value:e,children:e},e)))||(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ln,{value:"pre_call",children:"pre_call"}),(0,n.jsx)(ln,{value:"post_call",children:"post_call"})]})})}),(0,n.jsx)(v.Z.Item,{name:"default_on",label:"Always On",tooltip:"If enabled, this guardrail will be applied to all requests by default",valuePropName:"checked",children:(0,n.jsx)(li.Z,{})}),(()=>{if(!x)return null;if("PresidioPII"===x)return I();switch(x){case"Aporia":return(0,n.jsx)(v.Z.Item,{label:"Aporia Configuration",name:"config",tooltip:"JSON configuration for Aporia",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_aporia_api_key",\n "project_name": "your_project_name"\n}'})});case"AimSecurity":return(0,n.jsx)(v.Z.Item,{label:"Aim Security Configuration",name:"config",tooltip:"JSON configuration for Aim Security",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_aim_api_key"\n}'})});case"Bedrock":return(0,n.jsx)(v.Z.Item,{label:"Amazon Bedrock Configuration",name:"config",tooltip:"JSON configuration for Amazon Bedrock guardrails",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "guardrail_id": "your_guardrail_id",\n "guardrail_version": "your_guardrail_version"\n}'})});case"GuardrailsAI":return(0,n.jsx)(v.Z.Item,{label:"Guardrails.ai Configuration",name:"config",tooltip:"JSON configuration for Guardrails.ai",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_guardrails_api_key",\n "guardrail_id": "your_guardrail_id"\n}'})});case"LakeraAI":return(0,n.jsx)(v.Z.Item,{label:"Lakera AI Configuration",name:"config",tooltip:"JSON configuration for Lakera AI",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_lakera_api_key"\n}'})});case"PromptInjection":return(0,n.jsx)(v.Z.Item,{label:"Prompt Injection Configuration",name:"config",tooltip:"JSON configuration for prompt injection detection",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "threshold": 0.8\n}'})});default:return(0,n.jsx)(v.Z.Item,{label:"Custom Configuration",name:"config",tooltip:"JSON configuration for your custom guardrail",children:(0,n.jsx)(eG.default.TextArea,{rows:4,placeholder:'{\n "key1": "value1",\n "key2": "value2"\n}'})})}})(),(0,n.jsxs)("div",{className:"flex justify-end space-x-2 mt-4",children:[(0,n.jsx)(b.z,{variant:"secondary",onClick:t,children:"Cancel"}),(0,n.jsx)(b.z,{onClick:A,loading:u,children:"Update Guardrail"})]})]})})};(i=s||(s={})).DB="db",i.CONFIG="config";var ld=e=>{let{guardrailsList:l,isLoading:a,onDeleteClick:t,accessToken:i,onGuardrailUpdated:r,isAdmin:c=!1,onGuardrailClick:u}=e,[m,x]=(0,o.useState)([{id:"created_at",desc:!0}]),[p,h]=(0,o.useState)(!1),[g,f]=(0,o.useState)(null),j=e=>e?new Date(e).toLocaleString():"-",v=[{header:"Guardrail ID",accessorKey:"guardrail_id",cell:e=>(0,n.jsx)(L.Z,{title:String(e.getValue()||""),children:(0,n.jsx)(d.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>e.getValue()&&u(e.getValue()),children:e.getValue()?"".concat(String(e.getValue()).slice(0,7),"..."):""})})},{header:"Name",accessorKey:"guardrail_name",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)(L.Z,{title:a.guardrail_name,children:(0,n.jsx)("span",{className:"text-xs font-medium",children:a.guardrail_name||"-"})})}},{header:"Provider",accessorKey:"litellm_params.guardrail",cell:e=>{let{row:l}=e,{logo:a,displayName:t}=I(l.original.litellm_params.guardrail);return(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[a&&(0,n.jsx)("img",{src:a,alt:"".concat(t," logo"),className:"w-4 h-4",onError:e=>{e.target.style.display="none"}}),(0,n.jsx)("span",{className:"text-xs",children:t})]})}},{header:"Mode",accessorKey:"litellm_params.mode",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)("span",{className:"text-xs",children:a.litellm_params.mode})}},{header:"Default On",accessorKey:"litellm_params.default_on",cell:e=>{var l,a;let{row:t}=e,i=t.original;return(0,n.jsx)(ll.C,{color:(null===(l=i.litellm_params)||void 0===l?void 0:l.default_on)?"green":"gray",className:"text-xs font-normal",size:"xs",children:(null===(a=i.litellm_params)||void 0===a?void 0:a.default_on)?"Default On":"Default Off"})}},{header:"Created At",accessorKey:"created_at",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)(L.Z,{title:a.created_at,children:(0,n.jsx)("span",{className:"text-xs",children:j(a.created_at)})})}},{header:"Updated At",accessorKey:"updated_at",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)(L.Z,{title:a.updated_at,children:(0,n.jsx)("span",{className:"text-xs",children:j(a.updated_at)})})}},{id:"actions",header:"Actions",cell:e=>{let{row:l}=e,a=l.original,i=a.guardrail_definition_location===s.CONFIG;return(0,n.jsx)("div",{className:"flex space-x-2",children:i?(0,n.jsx)(L.Z,{title:"Config guardrail cannot be deleted on the dashboard. Please delete it from the config file.",children:(0,n.jsx)(e0.Z,{"data-testid":"config-delete-icon",icon:e3.Z,size:"sm",className:"cursor-not-allowed text-gray-400",title:"Config guardrail cannot be deleted on the dashboard. Please delete it from the config file.","aria-label":"Delete guardrail (config)"})}):(0,n.jsx)(L.Z,{title:"Delete guardrail",children:(0,n.jsx)(e0.Z,{icon:e3.Z,size:"sm",onClick:()=>a.guardrail_id&&t(a.guardrail_id,a.guardrail_name||"Unnamed Guardrail"),className:"cursor-pointer hover:text-red-500"})})})}}],y=(0,la.b7)({data:l,columns:v,state:{sorting:m},onSortingChange:x,getCoreRowModel:(0,lt.sC)(),getSortedRowModel:(0,lt.tj)(),enableSorting:!0});return(0,n.jsxs)("div",{className:"rounded-lg custom-border relative",children:[(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)(e1.Z,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,n.jsx)(e8.Z,{children:y.getHeaderGroups().map(e=>(0,n.jsx)(e6.Z,{children:e.headers.map(e=>(0,n.jsx)(e5.Z,{className:"py-1 h-8 ".concat("actions"===e.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),onClick:e.column.getToggleSortingHandler(),children:(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,n.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,la.ie)(e.column.columnDef.header,e.getContext())}),"actions"!==e.id&&(0,n.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,n.jsx)(e9.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,n.jsx)(e7.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,n.jsx)(le.Z,{className:"h-4 w-4 text-gray-400"})})]})},e.id))},e.id))}),(0,n.jsx)(e4.Z,{children:a?(0,n.jsx)(e6.Z,{children:(0,n.jsx)(e2.Z,{colSpan:v.length,className:"h-8 text-center",children:(0,n.jsx)("div",{className:"text-center text-gray-500",children:(0,n.jsx)("p",{children:"Loading..."})})})}):l.length>0?y.getRowModel().rows.map(e=>(0,n.jsx)(e6.Z,{className:"h-8",children:e.getVisibleCells().map(e=>(0,n.jsx)(e2.Z,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap ".concat("actions"===e.column.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),children:(0,la.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,n.jsx)(e6.Z,{children:(0,n.jsx)(e2.Z,{colSpan:v.length,className:"h-8 text-center",children:(0,n.jsx)("div",{className:"text-center text-gray-500",children:(0,n.jsx)("p",{children:"No guardrails found"})})})})})]})}),g&&(0,n.jsx)(lo,{visible:p,onClose:()=>h(!1),accessToken:i,onSuccess:()=>{h(!1),f(null),r()},guardrailId:g.guardrail_id||"",initialValues:{guardrail_name:g.guardrail_name||"",provider:Object.keys(C).find(e=>C[e]===(null==g?void 0:g.litellm_params.guardrail))||"",mode:g.litellm_params.mode,default_on:g.litellm_params.default_on,pii_entities_config:g.litellm_params.pii_entities_config,...g.guardrail_info}})]})},lc=a(20347),lu=a(30078),lm=a(41649),lx=a(12514),lp=a(84264),lh=e=>{let{patterns:l,blockedWords:a,readOnly:t=!0,onPatternActionChange:i,onPatternRemove:r,onBlockedWordUpdate:s,onBlockedWordRemove:o}=e;if(0===l.length&&0===a.length)return null;let d=()=>{};return(0,n.jsxs)(n.Fragment,{children:[l.length>0&&(0,n.jsxs)(lx.Z,{className:"mt-6",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,n.jsx)(lp.Z,{className:"text-lg font-semibold",children:"Pattern Detection"}),(0,n.jsxs)(lm.Z,{color:"blue",children:[l.length," patterns configured"]})]}),(0,n.jsx)(ek,{patterns:l,onActionChange:t?d:i||d,onRemove:t?d:r||d})]}),a.length>0&&(0,n.jsxs)(lx.Z,{className:"mt-6",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,n.jsx)(lp.Z,{className:"text-lg font-semibold",children:"Blocked Keywords"}),(0,n.jsxs)(lm.Z,{color:"blue",children:[a.length," keywords configured"]})]}),(0,n.jsx)(eZ,{keywords:a,onActionChange:t?d:s||d,onRemove:t?d:o||d})]})]})},lg=e=>{var l;let{guardrailData:a,guardrailSettings:t,isEditing:i,accessToken:r,onDataChange:s,onUnsavedChanges:d}=e,[c,u]=(0,o.useState)([]),[m,x]=(0,o.useState)([]),[p,h]=(0,o.useState)([]),[g,f]=(0,o.useState)([]);(0,o.useEffect)(()=>{var e,l;if(null==a?void 0:null===(e=a.litellm_params)||void 0===e?void 0:e.patterns){let e=a.litellm_params.patterns.map((e,l)=>({id:"pattern-".concat(l),type:"prebuilt"===e.pattern_type?"prebuilt":"custom",name:e.pattern_name||e.name,display_name:e.display_name,pattern:e.pattern,action:e.action||"BLOCK"}));u(e),h(e)}else u([]),h([]);if(null==a?void 0:null===(l=a.litellm_params)||void 0===l?void 0:l.blocked_words){let e=a.litellm_params.blocked_words.map((e,l)=>({id:"word-".concat(l),keyword:e.keyword,action:e.action||"BLOCK",description:e.description}));x(e),f(e)}else x([]),f([])},[a]),(0,o.useEffect)(()=>{s&&s(c,m)},[c,m,s]);let j=o.useMemo(()=>{let e=JSON.stringify(c)!==JSON.stringify(p),l=JSON.stringify(m)!==JSON.stringify(g);return e||l},[c,m,p,g]);return((0,o.useEffect)(()=>{i&&d&&d(j)},[j,i,d]),(null==a?void 0:null===(l=a.litellm_params)||void 0===l?void 0:l.guardrail)!=="litellm_content_filter")?null:i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eK.Z,{orientation:"left",children:"Content Filter Configuration"}),j&&(0,n.jsx)("div",{className:"mb-4 px-4 py-3 bg-yellow-50 border border-yellow-200 rounded-md",children:(0,n.jsx)("p",{className:"text-sm text-yellow-800 font-medium",children:'⚠️ You have unsaved changes to patterns or keywords. Remember to click "Save Changes" at the bottom.'})}),(0,n.jsx)("div",{className:"mb-6",children:t&&t.content_filter_settings&&(0,n.jsx)(eM,{prebuiltPatterns:t.content_filter_settings.prebuilt_patterns||[],categories:t.content_filter_settings.pattern_categories||[],selectedPatterns:c,blockedWords:m,onPatternAdd:e=>u([...c,e]),onPatternRemove:e=>u(c.filter(l=>l.id!==e)),onPatternActionChange:(e,l)=>u(c.map(a=>a.id===e?{...a,action:l}:a)),onBlockedWordAdd:e=>x([...m,e]),onBlockedWordRemove:e=>x(m.filter(l=>l.id!==e)),onBlockedWordUpdate:(e,l,a)=>x(m.map(t=>t.id===e?{...t,[l]:a}:t)),onFileUpload:e=>{console.log("File uploaded:",e)},accessToken:r})})]}):(0,n.jsx)(lh,{patterns:c,blockedWords:m,readOnly:!0})};let lf=(e,l)=>({patterns:e.map(e=>({pattern_type:"prebuilt"===e.type?"prebuilt":"regex",pattern_name:"prebuilt"===e.type?e.name:void 0,pattern:"custom"===e.type?e.pattern:void 0,name:e.name,action:e.action})),blocked_words:l.map(e=>({keyword:e.keyword,action:e.action,description:e.description}))});var lj=a(10900),lv=a(59872),ly=a(30401),l_=a(78867),lb=e=>{var l,a,t,i,r,s,d,c,u,m,x,p,g,j,y,_;let{guardrailId:b,onClose:N,accessToken:w,isAdmin:k}=e,[S,Z]=(0,o.useState)(null),[P,A]=(0,o.useState)(null),[O,z]=(0,o.useState)(!0),[M,F]=(0,o.useState)(!1),[G]=v.Z.useForm(),[K,D]=(0,o.useState)([]),[R,J]=(0,o.useState)({}),[V,U]=(0,o.useState)(null),[W,Y]=(0,o.useState)({}),[H,$]=(0,o.useState)(!1),Q={rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""},[ee,el]=(0,o.useState)(Q),[ei,er]=(0,o.useState)(!1),es=o.useRef({patterns:[],blockedWords:[]}),en=(0,o.useCallback)((e,l)=>{es.current={patterns:e,blockedWords:l}},[]),eo=async()=>{try{var e;if(z(!0),!w)return;let l=await (0,h.getGuardrailInfo)(w,b);if(Z(l),null===(e=l.litellm_params)||void 0===e?void 0:e.pii_entities_config){let e=l.litellm_params.pii_entities_config;if(D([]),J({}),Object.keys(e).length>0){let l=[],a={};Object.entries(e).forEach(e=>{let[t,i]=e;l.push(t),a[t]="string"==typeof i?i:"MASK"}),D(l),J(a)}}else D([]),J({})}catch(e){et.Z.fromBackend("Failed to load guardrail information"),console.error("Error fetching guardrail info:",e)}finally{z(!1)}},ed=async()=>{try{if(!w)return;let e=await (0,h.getGuardrailProviderSpecificParams)(w);A(e)}catch(e){console.error("Error fetching guardrail provider specific params:",e)}},ec=async()=>{try{if(!w)return;let e=await (0,h.getGuardrailUISettings)(w);U(e)}catch(e){console.error("Error fetching guardrail UI settings:",e)}};(0,o.useEffect)(()=>{ed()},[w]),(0,o.useEffect)(()=>{eo(),ec()},[b,w]),(0,o.useEffect)(()=>{if(S&&G){var e;G.setFieldsValue({guardrail_name:S.guardrail_name,...S.litellm_params,guardrail_info:S.guardrail_info?JSON.stringify(S.guardrail_info,null,2):"",...(null===(e=S.litellm_params)||void 0===e?void 0:e.optional_params)&&{optional_params:S.litellm_params.optional_params}})}},[S,P,G]);let eu=(0,o.useCallback)(()=>{var e,l,a,t,i;(null==S?void 0:null===(e=S.litellm_params)||void 0===e?void 0:e.guardrail)==="tool_permission"?el({rules:(null===(l=S.litellm_params)||void 0===l?void 0:l.rules)||[],default_action:((null===(a=S.litellm_params)||void 0===a?void 0:a.default_action)||"deny").toLowerCase(),on_disallowed_action:((null===(t=S.litellm_params)||void 0===t?void 0:t.on_disallowed_action)||"block").toLowerCase(),violation_message_template:(null===(i=S.litellm_params)||void 0===i?void 0:i.violation_message_template)||""}):el(Q),er(!1)},[S]);(0,o.useEffect)(()=>{eu()},[eu]);let em=async e=>{try{var l,a,t,i,r,s,n,o,d,c,u,m;if(!w)return;let x={litellm_params:{}};e.guardrail_name!==S.guardrail_name&&(x.guardrail_name=e.guardrail_name),e.default_on!==(null===(l=S.litellm_params)||void 0===l?void 0:l.default_on)&&(x.litellm_params.default_on=e.default_on);let p=S.guardrail_info,g=e.guardrail_info?JSON.parse(e.guardrail_info):void 0;JSON.stringify(p)!==JSON.stringify(g)&&(x.guardrail_info=g);let f=(null===(a=S.litellm_params)||void 0===a?void 0:a.pii_entities_config)||{},j={};if(K.forEach(e=>{j[e]=R[e]||"MASK"}),JSON.stringify(f)!==JSON.stringify(j)&&(x.litellm_params.pii_entities_config=j),(null===(t=S.litellm_params)||void 0===t?void 0:t.guardrail)==="litellm_content_filter"){let e=(null===(s=S.litellm_params)||void 0===s?void 0:s.patterns)||[],l=(null===(n=S.litellm_params)||void 0===n?void 0:n.blocked_words)||[],a=lf(es.current.patterns,es.current.blockedWords);JSON.stringify(e)!==JSON.stringify(a.patterns)&&(x.litellm_params.patterns=a.patterns),JSON.stringify(l)!==JSON.stringify(a.blocked_words)&&(x.litellm_params.blocked_words=a.blocked_words)}if((null===(i=S.litellm_params)||void 0===i?void 0:i.guardrail)==="tool_permission"){let e=(null===(o=S.litellm_params)||void 0===o?void 0:o.rules)||[],l=ee.rules||[],a=JSON.stringify(e)!==JSON.stringify(l),t=((null===(d=S.litellm_params)||void 0===d?void 0:d.default_action)||"deny").toLowerCase(),i=(ee.default_action||"deny").toLowerCase(),r=t!==i,s=((null===(c=S.litellm_params)||void 0===c?void 0:c.on_disallowed_action)||"block").toLowerCase(),n=(ee.on_disallowed_action||"block").toLowerCase(),m=s!==n,p=(null===(u=S.litellm_params)||void 0===u?void 0:u.violation_message_template)||"",h=ee.violation_message_template||"",g=p!==h;(ei||a||r||m||g)&&(x.litellm_params.rules=l,x.litellm_params.default_action=i,x.litellm_params.on_disallowed_action=n,x.litellm_params.violation_message_template=h||null)}let v=Object.keys(C).find(e=>{var l;return C[e]===(null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)});console.log("values: ",JSON.stringify(e)),console.log("currentProvider: ",v);let y=(null===(r=S.litellm_params)||void 0===r?void 0:r.guardrail)==="tool_permission";if(P&&v&&!y){let l=P[null===(m=C[v])||void 0===m?void 0:m.toLowerCase()]||{},a=new Set;console.log("providerSpecificParams: ",JSON.stringify(l)),Object.keys(l).forEach(e=>{"optional_params"!==e&&a.add(e)}),l.optional_params&&l.optional_params.fields&&Object.keys(l.optional_params.fields).forEach(e=>{a.add(e)}),console.log("allowedParams: ",a),a.forEach(l=>{var a,t;let i=e[l];(null==i||""===i)&&(i=null===(t=e.optional_params)||void 0===t?void 0:t[l]);let r=null===(a=S.litellm_params)||void 0===a?void 0:a[l];JSON.stringify(i)!==JSON.stringify(r)&&(null!=i&&""!==i?x.litellm_params[l]=i:null!=r&&""!==r&&(x.litellm_params[l]=null))})}if(0===Object.keys(x.litellm_params).length&&delete x.litellm_params,0===Object.keys(x).length){et.Z.info("No changes detected"),F(!1);return}await (0,h.updateGuardrailCall)(w,b,x),et.Z.success("Guardrail updated successfully"),$(!1),eo(),F(!1)}catch(e){console.error("Error updating guardrail:",e),et.Z.fromBackend("Failed to update guardrail")}};if(O)return(0,n.jsx)("div",{className:"p-4",children:"Loading..."});if(!S)return(0,n.jsx)("div",{className:"p-4",children:"Guardrail not found"});let ex=e=>e?new Date(e).toLocaleString():"-",{logo:ep,displayName:eh}=I((null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)||""),eg=async(e,l)=>{await (0,lv.vQ)(e)&&(Y(e=>({...e,[l]:!0})),setTimeout(()=>{Y(e=>({...e,[l]:!1}))},2e3))},ef="config"===S.guardrail_definition_location;return(0,n.jsxs)("div",{className:"p-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.zx,{icon:lj.Z,variant:"light",onClick:N,className:"mb-4",children:"Back to Guardrails"}),(0,n.jsx)(lu.Dx,{children:S.guardrail_name||"Unnamed Guardrail"}),(0,n.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,n.jsx)(lu.xv,{className:"text-gray-500 font-mono",children:S.guardrail_id}),(0,n.jsx)(T.ZP,{type:"text",size:"small",icon:W["guardrail-id"]?(0,n.jsx)(ly.Z,{size:12}):(0,n.jsx)(l_.Z,{size:12}),onClick:()=>eg(S.guardrail_id,"guardrail-id"),className:"left-2 z-10 transition-all duration-200 ".concat(W["guardrail-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]}),(0,n.jsxs)(lu.v0,{children:[(0,n.jsxs)(lu.td,{className:"mb-4",children:[(0,n.jsx)(lu.OK,{children:"Overview"},"overview"),k?(0,n.jsx)(lu.OK,{children:"Settings"},"settings"):(0,n.jsx)(n.Fragment,{})]}),(0,n.jsxs)(lu.nP,{children:[(0,n.jsxs)(lu.x4,{children:[(0,n.jsxs)(lu.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,n.jsxs)(lu.Zb,{children:[(0,n.jsx)(lu.xv,{children:"Provider"}),(0,n.jsxs)("div",{className:"mt-2 flex items-center space-x-2",children:[ep&&(0,n.jsx)("img",{src:ep,alt:"".concat(eh," logo"),className:"w-6 h-6",onError:e=>{e.target.style.display="none"}}),(0,n.jsx)(lu.Dx,{children:eh})]})]}),(0,n.jsxs)(lu.Zb,{children:[(0,n.jsx)(lu.xv,{children:"Mode"}),(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsx)(lu.Dx,{children:(null===(a=S.litellm_params)||void 0===a?void 0:a.mode)||"-"}),(0,n.jsx)(lu.Ct,{color:(null===(t=S.litellm_params)||void 0===t?void 0:t.default_on)?"green":"gray",children:(null===(i=S.litellm_params)||void 0===i?void 0:i.default_on)?"Default On":"Default Off"})]})]}),(0,n.jsxs)(lu.Zb,{children:[(0,n.jsx)(lu.xv,{children:"Created At"}),(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsx)(lu.Dx,{children:ex(S.created_at)}),(0,n.jsxs)(lu.xv,{children:["Last Updated: ",ex(S.updated_at)]})]})]})]}),(null===(r=S.litellm_params)||void 0===r?void 0:r.pii_entities_config)&&Object.keys(S.litellm_params.pii_entities_config).length>0&&(0,n.jsx)(lu.Zb,{className:"mt-6",children:(0,n.jsxs)("div",{className:"flex justify-between items-center",children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"PII Protection"}),(0,n.jsxs)(lu.Ct,{color:"blue",children:[Object.keys(S.litellm_params.pii_entities_config).length," PII entities configured"]})]})}),(null===(s=S.litellm_params)||void 0===s?void 0:s.pii_entities_config)&&Object.keys(S.litellm_params.pii_entities_config).length>0&&(0,n.jsxs)(lu.Zb,{className:"mt-6",children:[(0,n.jsx)(lu.xv,{className:"mb-4 text-lg font-semibold",children:"PII Entity Configuration"}),(0,n.jsxs)("div",{className:"border rounded-lg overflow-hidden shadow-sm",children:[(0,n.jsxs)("div",{className:"bg-gray-50 px-5 py-3 border-b flex",children:[(0,n.jsx)(lu.xv,{className:"flex-1 font-semibold text-gray-700",children:"Entity Type"}),(0,n.jsx)(lu.xv,{className:"flex-1 font-semibold text-gray-700",children:"Configuration"})]}),(0,n.jsx)("div",{className:"max-h-[400px] overflow-y-auto",children:Object.entries(null===(d=S.litellm_params)||void 0===d?void 0:d.pii_entities_config).map(e=>{let[l,a]=e;return(0,n.jsxs)("div",{className:"px-5 py-3 flex border-b hover:bg-gray-50 transition-colors",children:[(0,n.jsx)(lu.xv,{className:"flex-1 font-medium text-gray-900",children:l}),(0,n.jsx)(lu.xv,{className:"flex-1",children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 ".concat("MASK"===a?"text-blue-600":"text-red-600"),children:["MASK"===a?(0,n.jsx)(E.Z,{}):(0,n.jsx)(B.Z,{}),String(a)]})})]},l)})})]})]}),(null===(c=S.litellm_params)||void 0===c?void 0:c.guardrail)==="tool_permission"&&(0,n.jsx)(lu.Zb,{className:"mt-6",children:(0,n.jsx)(eU,{value:ee,disabled:!0})}),(0,n.jsx)(lg,{guardrailData:S,guardrailSettings:V,isEditing:!1,accessToken:w})]}),k&&(0,n.jsx)(lu.x4,{children:(0,n.jsxs)(lu.Zb,{children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,n.jsx)(lu.Dx,{children:"Guardrail Settings"}),ef&&(0,n.jsx)(L.Z,{title:"Guardrail is defined in the config file and cannot be edited.",children:(0,n.jsx)(eR.Z,{})}),!M&&!ef&&(0,n.jsx)(lu.zx,{onClick:()=>F(!0),children:"Edit Settings"})]}),M?(0,n.jsxs)(v.Z,{form:G,onFinish:em,initialValues:{guardrail_name:S.guardrail_name,...S.litellm_params,guardrail_info:S.guardrail_info?JSON.stringify(S.guardrail_info,null,2):"",...(null===(u=S.litellm_params)||void 0===u?void 0:u.optional_params)&&{optional_params:S.litellm_params.optional_params}},layout:"vertical",children:[(0,n.jsx)(v.Z.Item,{label:"Guardrail Name",name:"guardrail_name",rules:[{required:!0,message:"Please input a guardrail name"}],children:(0,n.jsx)(lu.oi,{})}),(0,n.jsx)(v.Z.Item,{label:"Default On",name:"default_on",children:(0,n.jsxs)(f.default,{children:[(0,n.jsx)(f.default.Option,{value:!0,children:"Yes"}),(0,n.jsx)(f.default.Option,{value:!1,children:"No"})]})}),(null===(m=S.litellm_params)||void 0===m?void 0:m.guardrail)==="presidio"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eK.Z,{orientation:"left",children:"PII Protection"}),(0,n.jsx)("div",{className:"mb-6",children:V&&(0,n.jsx)(q,{entities:V.supported_entities,actions:V.supported_actions,selectedEntities:K,selectedActions:R,onEntitySelect:e=>{D(l=>l.includes(e)?l.filter(l=>l!==e):[...l,e])},onActionSelect:(e,l)=>{J(a=>({...a,[e]:l}))},entityCategories:V.pii_entity_categories})})]}),(0,n.jsx)(lg,{guardrailData:S,guardrailSettings:V,isEditing:!0,accessToken:w,onDataChange:en,onUnsavedChanges:$}),(0,n.jsx)(eK.Z,{orientation:"left",children:"Provider Settings"}),(null===(x=S.litellm_params)||void 0===x?void 0:x.guardrail)==="tool_permission"?(0,n.jsx)(eU,{value:ee,onChange:el}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(X,{selectedProvider:Object.keys(C).find(e=>{var l;return C[e]===(null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)})||null,accessToken:w,providerParams:P,value:S.litellm_params}),P&&(()=>{var e;let l=Object.keys(C).find(e=>{var l;return C[e]===(null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)});if(!l)return null;let a=P[null===(e=C[l])||void 0===e?void 0:e.toLowerCase()];return a&&a.optional_params?(0,n.jsx)(ea,{optionalParams:a.optional_params,parentFieldKey:"optional_params",values:S.litellm_params}):null})()]}),(0,n.jsx)(eK.Z,{orientation:"left",children:"Advanced Settings"}),(0,n.jsx)(v.Z.Item,{label:"Guardrail Information",name:"guardrail_info",children:(0,n.jsx)(eG.default.TextArea,{rows:5})}),(0,n.jsxs)("div",{className:"flex justify-end gap-2 mt-6",children:[(0,n.jsx)(T.ZP,{onClick:()=>{F(!1),$(!1),eu()},children:"Cancel"}),(0,n.jsx)(lu.zx,{children:"Save Changes"})]})]}):(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Guardrail ID"}),(0,n.jsx)("div",{className:"font-mono",children:S.guardrail_id})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Guardrail Name"}),(0,n.jsx)("div",{children:S.guardrail_name||"Unnamed Guardrail"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Provider"}),(0,n.jsx)("div",{children:eh})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Mode"}),(0,n.jsx)("div",{children:(null===(p=S.litellm_params)||void 0===p?void 0:p.mode)||"-"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Default On"}),(0,n.jsx)(lu.Ct,{color:(null===(g=S.litellm_params)||void 0===g?void 0:g.default_on)?"green":"gray",children:(null===(j=S.litellm_params)||void 0===j?void 0:j.default_on)?"Yes":"No"})]}),(null===(y=S.litellm_params)||void 0===y?void 0:y.pii_entities_config)&&Object.keys(S.litellm_params.pii_entities_config).length>0&&(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"PII Protection"}),(0,n.jsx)("div",{className:"mt-2",children:(0,n.jsxs)(lu.Ct,{color:"blue",children:[Object.keys(S.litellm_params.pii_entities_config).length," PII entities configured"]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Created At"}),(0,n.jsx)("div",{children:ex(S.created_at)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(lu.xv,{className:"font-medium",children:"Last Updated"}),(0,n.jsx)("div",{children:ex(S.updated_at)})]}),(null===(_=S.litellm_params)||void 0===_?void 0:_.guardrail)==="tool_permission"&&(0,n.jsx)(eU,{value:ee,disabled:!0})]})]})})]})]})]})},lN=a(96761),lw=a(35631),lk=a(29436),lC=a(41169),lS=a(23639),lZ=a(77565),lP=a(70464),lA=a(83669),lO=a(5540);let{Text:lI}=g.default;var lL=function(e){let{results:l,errors:a}=e,[t,i]=(0,o.useState)(new Set),r=e=>{let l=new Set(t);l.has(e)?l.delete(e):l.add(e),i(l)},s=async e=>{try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0;{let l=document.createElement("textarea");l.value=e,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.focus(),l.select();let a=document.execCommand("copy");if(document.body.removeChild(l),!a)throw Error("execCommand failed");return!0}}catch(e){return console.error("Copy failed:",e),!1}};return l||a?(0,n.jsxs)("div",{className:"space-y-3 pt-4 border-t border-gray-200",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-900",children:"Results"}),l&&l.map(e=>{let l=t.has(e.guardrailName);return(0,n.jsx)(lx.Z,{className:"bg-green-50 border-green-200",children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center space-x-2 cursor-pointer flex-1",onClick:()=>r(e.guardrailName),children:[l?(0,n.jsx)(lZ.Z,{className:"text-gray-500 text-xs"}):(0,n.jsx)(lP.Z,{className:"text-gray-500 text-xs"}),(0,n.jsx)(lA.Z,{className:"text-green-600 text-lg"}),(0,n.jsx)("span",{className:"text-sm font-medium text-green-800",children:e.guardrailName})]}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsxs)("div",{className:"flex items-center space-x-1 text-xs text-gray-600",children:[(0,n.jsx)(lO.Z,{}),(0,n.jsxs)("span",{className:"font-medium",children:[e.latency,"ms"]})]}),!l&&(0,n.jsx)(d.Z,{size:"xs",variant:"secondary",icon:lS.Z,onClick:async()=>{await s(e.response_text)?et.Z.success("Result copied to clipboard"):et.Z.fromBackend("Failed to copy result")},children:"Copy"})]})]}),!l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"bg-white border border-green-200 rounded p-3",children:[(0,n.jsx)("label",{className:"text-xs font-medium text-gray-600 mb-2 block",children:"Output Text"}),(0,n.jsx)("div",{className:"font-mono text-sm text-gray-900 whitespace-pre-wrap break-words",children:e.response_text})]}),(0,n.jsxs)("div",{className:"text-xs text-gray-600",children:[(0,n.jsx)("span",{className:"font-medium",children:"Characters:"})," ",e.response_text.length]})]})]})},e.guardrailName)}),a&&a.map(e=>{let l=t.has(e.guardrailName);return(0,n.jsx)(lx.Z,{className:"bg-red-50 border-red-200",children:(0,n.jsxs)("div",{className:"flex items-start space-x-2",children:[(0,n.jsx)("div",{className:"cursor-pointer mt-0.5",onClick:()=>r(e.guardrailName),children:l?(0,n.jsx)(lZ.Z,{className:"text-gray-500 text-xs"}):(0,n.jsx)(lP.Z,{className:"text-gray-500 text-xs"})}),(0,n.jsx)("div",{className:"text-red-600 mt-0.5",children:(0,n.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,n.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,n.jsxs)("p",{className:"text-sm font-medium text-red-800 cursor-pointer",onClick:()=>r(e.guardrailName),children:[e.guardrailName," - Error"]}),(0,n.jsxs)("div",{className:"flex items-center space-x-1 text-xs text-gray-600",children:[(0,n.jsx)(lO.Z,{}),(0,n.jsxs)("span",{className:"font-medium",children:[e.latency,"ms"]})]})]}),!l&&(0,n.jsx)("p",{className:"text-sm text-red-700 mt-1",children:e.error.message})]})]})},e.guardrailName)})]}):null};let{TextArea:lT}=eG.default,{Text:lz}=g.default;var lE=function(e){let{guardrailNames:l,onSubmit:a,isLoading:t,results:i,errors:r,onClose:s}=e,[d,c]=(0,o.useState)(""),u=()=>{if(!d.trim()){et.Z.fromBackend("Please enter text to test");return}a(d)},m=async e=>{try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0;{let l=document.createElement("textarea");l.value=e,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.focus(),l.select();let a=document.execCommand("copy");if(document.body.removeChild(l),!a)throw Error("execCommand failed");return!0}}catch(e){return console.error("Copy failed:",e),!1}},x=async()=>{await m(d)?et.Z.success("Input copied to clipboard"):et.Z.fromBackend("Failed to copy input")};return(0,n.jsxs)("div",{className:"space-y-4 h-full flex flex-col",children:[(0,n.jsx)("div",{className:"flex items-center justify-between pb-3 border-b border-gray-200",children:(0,n.jsx)("div",{className:"flex items-center space-x-3",children:(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center space-x-2 mb-1",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-gray-900",children:"Test Guardrails:"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:l.map(e=>(0,n.jsx)("div",{className:"inline-flex items-center space-x-1 bg-blue-50 px-3 py-1 rounded-md border border-blue-200",children:(0,n.jsx)("span",{className:"font-mono text-blue-700 font-medium text-sm",children:e})},e))})]}),(0,n.jsxs)("p",{className:"text-sm text-gray-500",children:["Test ",l.length>1?"guardrails":"guardrail"," and compare results"]})]})})}),(0,n.jsxs)("div",{className:"flex-1 overflow-auto space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Input Text"}),(0,n.jsx)(L.Z,{title:"Press Enter to submit. Use Shift+Enter for new line.",children:(0,n.jsx)(eR.Z,{className:"text-gray-400 cursor-help"})})]}),d&&(0,n.jsx)(ed.z,{size:"xs",variant:"secondary",icon:lS.Z,onClick:x,children:"Copy Input"})]}),(0,n.jsx)(lT,{value:d,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),u())},placeholder:"Enter text to test with guardrails...",rows:8,className:"font-mono text-sm"}),(0,n.jsxs)("div",{className:"flex justify-between items-center mt-1",children:[(0,n.jsxs)(lz,{className:"text-xs text-gray-500",children:["Press ",(0,n.jsx)("kbd",{className:"px-1 py-0.5 bg-gray-100 border border-gray-300 rounded text-xs",children:"Enter"})," to submit • ",(0,n.jsx)("kbd",{className:"px-1 py-0.5 bg-gray-100 border border-gray-300 rounded text-xs",children:"Shift+Enter"})," for new line"]}),(0,n.jsxs)(lz,{className:"text-xs text-gray-500",children:["Characters: ",d.length]})]})]}),(0,n.jsx)("div",{className:"pt-2",children:(0,n.jsx)(ed.z,{onClick:u,loading:t,disabled:!d.trim(),className:"w-full",children:t?"Testing ".concat(l.length," guardrail").concat(l.length>1?"s":"","..."):"Test ".concat(l.length," guardrail").concat(l.length>1?"s":"")})})]}),(0,n.jsx)(lL,{results:i,errors:r})]})]})},lB=e=>{let{guardrailsList:l,isLoading:a,accessToken:t,onClose:i}=e,[r,s]=(0,o.useState)(new Set),[d,c]=(0,o.useState)(""),[u,m]=(0,o.useState)([]),[x,p]=(0,o.useState)([]),[g,f]=(0,o.useState)(!1),j=l.filter(e=>{var l;return null===(l=e.guardrail_name)||void 0===l?void 0:l.toLowerCase().includes(d.toLowerCase())}),v=e=>{let l=new Set(r);l.has(e)?l.delete(e):l.add(e),s(l)},y=async e=>{if(0===r.size||!t)return;f(!0),m([]),p([]);let l=[],a=[];await Promise.all(Array.from(r).map(async i=>{let r=Date.now();try{let a=await (0,h.applyGuardrail)(t,i,e,null,null),s=Date.now()-r;l.push({guardrailName:i,response_text:a.response_text,latency:s})}catch(l){let e=Date.now()-r;console.error("Error testing guardrail ".concat(i,":"),l),a.push({guardrailName:i,error:l,latency:e})}})),m(l),p(a),f(!1),l.length>0&&et.Z.success("".concat(l.length," guardrail").concat(l.length>1?"s":""," applied successfully")),a.length>0&&et.Z.fromBackend("".concat(a.length," guardrail").concat(a.length>1?"s":""," failed"))};return(0,n.jsx)("div",{className:"w-full h-[calc(100vh-200px)]",children:(0,n.jsx)(lx.Z,{className:"h-full",children:(0,n.jsxs)("div",{className:"flex h-full",children:[(0,n.jsxs)("div",{className:"w-1/4 border-r border-gray-200 flex flex-col overflow-hidden",children:[(0,n.jsx)("div",{className:"p-4 border-b border-gray-200",children:(0,n.jsxs)("div",{className:"mb-3",children:[(0,n.jsx)(lN.Z,{className:"text-lg font-semibold mb-3",children:"Guardrails"}),(0,n.jsx)(eg.Z,{icon:lk.Z,placeholder:"Search guardrails...",value:d,onValueChange:c})]})}),(0,n.jsx)("div",{className:"flex-1 overflow-auto",children:a?(0,n.jsx)("div",{className:"flex items-center justify-center h-32",children:(0,n.jsx)(H.Z,{})}):0===j.length?(0,n.jsx)("div",{className:"p-4",children:(0,n.jsx)(eD.Z,{description:d?"No guardrails match your search":"No guardrails available"})}):(0,n.jsx)(lw.Z,{dataSource:j,renderItem:e=>(0,n.jsx)(lw.Z.Item,{onClick:()=>{e.guardrail_name&&v(e.guardrail_name)},className:"cursor-pointer hover:bg-gray-50 transition-colors px-4 ".concat(r.has(e.guardrail_name||"")?"bg-blue-50 border-l-4 border-l-blue-500":"border-l-4 border-l-transparent"),children:(0,n.jsx)(lw.Z.Item.Meta,{avatar:(0,n.jsx)(z.Z,{checked:r.has(e.guardrail_name||""),onClick:l=>{l.stopPropagation(),e.guardrail_name&&v(e.guardrail_name)}}),title:(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,n.jsx)(lC.Z,{className:"text-gray-400"}),(0,n.jsx)("span",{className:"font-medium text-gray-900",children:e.guardrail_name})]}),description:(0,n.jsxs)("div",{className:"text-xs space-y-1 mt-1",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"font-medium",children:"Type: "}),(0,n.jsx)("span",{className:"text-gray-600",children:e.litellm_params.guardrail})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"font-medium",children:"Mode: "}),(0,n.jsx)("span",{className:"text-gray-600",children:e.litellm_params.mode})]})]})})})})}),(0,n.jsx)("div",{className:"p-3 border-t border-gray-200 bg-gray-50",children:(0,n.jsxs)(lp.Z,{className:"text-xs text-gray-600",children:[r.size," of ",j.length," selected"]})})]}),(0,n.jsxs)("div",{className:"w-3/4 flex flex-col bg-white",children:[(0,n.jsx)("div",{className:"p-4 border-b border-gray-200 flex justify-between items-center",children:(0,n.jsx)(lN.Z,{className:"text-xl font-semibold mb-0",children:"Guardrail Testing Playground"})}),(0,n.jsx)("div",{className:"flex-1 overflow-auto p-4",children:0===r.size?(0,n.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-gray-400",children:[(0,n.jsx)(lC.Z,{style:{fontSize:"48px",marginBottom:"16px"}}),(0,n.jsx)(lp.Z,{className:"text-lg font-medium text-gray-600 mb-2",children:"Select Guardrails to Test"}),(0,n.jsx)(lp.Z,{className:"text-center text-gray-500 max-w-md",children:"Choose one or more guardrails from the left sidebar to start testing and comparing results."})]}):(0,n.jsx)("div",{className:"h-full",children:(0,n.jsx)(lE,{guardrailNames:Array.from(r),onSubmit:y,results:u.length>0?u:null,errors:x.length>0?x:null,isLoading:g,onClose:()=>s(new Set)})})})]})]})})})},lM=a(21609),lF=e=>{let{accessToken:l,userRole:a}=e,[t,i]=(0,o.useState)([]),[r,s]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),[j,v]=(0,o.useState)(!1),[y,_]=(0,o.useState)(null),[b,N]=(0,o.useState)(!1),[w,k]=(0,o.useState)(null),[C,S]=(0,o.useState)(0),Z=!!a&&(0,lc.tY)(a),P=async()=>{if(l){f(!0);try{let e=await (0,h.getGuardrailsList)(l);console.log("guardrails: ".concat(JSON.stringify(e))),i(e.guardrails)}catch(e){console.error("Error fetching guardrails:",e)}finally{f(!1)}}};(0,o.useEffect)(()=>{P()},[l]);let A=async()=>{if(y&&l){v(!0);try{await (0,h.deleteGuardrailCall)(l,y.guardrail_id),et.Z.success('Guardrail "'.concat(y.guardrail_name,'" deleted successfully')),await P()}catch(e){console.error("Error deleting guardrail:",e),et.Z.fromBackend("Failed to delete guardrail")}finally{v(!1),N(!1),_(null)}}},O=y&&y.litellm_params?I(y.litellm_params.guardrail).displayName:void 0;return(0,n.jsx)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:(0,n.jsxs)(u.Z,{index:C,onIndexChange:S,children:[(0,n.jsxs)(m.Z,{className:"mb-4",children:[(0,n.jsx)(c.Z,{children:"Guardrails"}),(0,n.jsx)(c.Z,{disabled:!l||0===t.length,children:"Test Playground"})]}),(0,n.jsxs)(p.Z,{children:[(0,n.jsxs)(x.Z,{children:[(0,n.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,n.jsx)(d.Z,{onClick:()=>{w&&k(null),s(!0)},disabled:!l,children:"+ Add New Guardrail"})}),w?(0,n.jsx)(lb,{guardrailId:w,onClose:()=>k(null),accessToken:l,isAdmin:Z}):(0,n.jsx)(ld,{guardrailsList:t,isLoading:g,onDeleteClick:(e,l)=>{_(t.find(l=>l.guardrail_id===e)||null),N(!0)},accessToken:l,onGuardrailUpdated:P,isAdmin:Z,onGuardrailClick:e=>k(e)}),(0,n.jsx)(eX,{visible:r,onClose:()=>{s(!1)},accessToken:l,onSuccess:()=>{P()}}),(0,n.jsx)(lM.Z,{isOpen:b,title:"Delete Guardrail",message:"Are you sure you want to delete guardrail: ".concat(null==y?void 0:y.guardrail_name,"? This action cannot be undone."),resourceInformationTitle:"Guardrail Information",resourceInformation:[{label:"Name",value:null==y?void 0:y.guardrail_name},{label:"ID",value:null==y?void 0:y.guardrail_id,code:!0},{label:"Provider",value:O},{label:"Mode",value:null==y?void 0:y.litellm_params.mode},{label:"Default On",value:(null==y?void 0:y.litellm_params.default_on)?"Yes":"No"}],onCancel:()=>{N(!1),_(null)},onOk:A,confirmLoading:j})]}),(0,n.jsx)(x.Z,{children:(0,n.jsx)(lB,{guardrailsList:t,isLoading:g,accessToken:l,onClose:()=>S(0)})})]})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1385-7a20fecf18a7fb6a.js b/litellm/proxy/_experimental/out/_next/static/chunks/1385-7a20fecf18a7fb6a.js new file mode 100644 index 0000000000..bd168004c0 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/1385-7a20fecf18a7fb6a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1385],{62338:function(e,s,t){t.d(s,{v:function(){return a.Z}});var a=t(40278)},16312:function(e,s,t){t.d(s,{z:function(){return a.Z}});var a=t(78489)},32176:function(e,s,t){t.d(s,{Z:function(){return g}});var a=t(57437),r=t(2265),l=t(62338),n=t(94292),i=t(19250);let c=e=>{let{key:s,info:t}=e;return{token:s,...t}};var o=t(12322),d=t(99981),u=t(16312),m=t(59872),x=t(44633),h=t(86462),p=t(39760),g=e=>{let{topKeys:s,teams:t,showTags:g=!1}=e,{accessToken:j,userRole:f,userId:_,premiumUser:y}=(0,p.Z)(),[v,k]=(0,r.useState)(!1),[b,Z]=(0,r.useState)(null),[N,w]=(0,r.useState)(void 0),[q,S]=(0,r.useState)("table"),[C,T]=(0,r.useState)(new Set),D=e=>{T(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t})},L=async e=>{if(j)try{let s=await (0,i.keyInfoV1Call)(j,e.api_key),t=c(s);w(t),Z(e.api_key),k(!0)}catch(e){console.error("Error fetching key info:",e)}},E=()=>{k(!1),Z(null),w(void 0)};r.useEffect(()=>{let e=e=>{"Escape"===e.key&&v&&E()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[v]);let A=[{header:"Key ID",accessorKey:"api_key",cell:e=>(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsx)(d.Z,{title:e.getValue(),children:(0,a.jsx)(u.z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>L(e.row.original),children:e.getValue()?"".concat(e.getValue().slice(0,7),"..."):"-"})})})},{header:"Key Alias",accessorKey:"key_alias",cell:e=>e.getValue()||"-"}],F={header:"Spend (USD)",accessorKey:"spend",cell:e=>{let s=e.getValue();return s>0&&s<.01?"<$0.01":"$".concat((0,m.pw)(s,2))}},O=g?[...A,{header:"Tags",accessorKey:"tags",cell:e=>{let s=e.getValue(),t=e.row.original.api_key,r=C.has(t);if(!s||0===s.length)return"-";let l=s.sort((e,s)=>s.usage-e.usage),n=r?l:l.slice(0,2),i=s.length>2;return(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[n.map((e,s)=>(0,a.jsx)(d.Z,{title:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Tag Name:"})," ",e.tag]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend:"})," ",e.usage>0&&e.usage<.01?"<$0.01":"$".concat((0,m.pw)(e.usage,2))]})]}),children:(0,a.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[e.tag.slice(0,7),"..."]})},s)),i&&(0,a.jsx)("button",{onClick:()=>D(t),className:"ml-1 p-1 hover:bg-gray-200 rounded-full transition-colors",title:r?"Show fewer tags":"Show all tags",children:r?(0,a.jsx)(x.Z,{className:"h-3 w-3 text-gray-500"}):(0,a.jsx)(h.Z,{className:"h-3 w-3 text-gray-500"})})]})})}},F]:[...A,F],M=s.map(e=>({...e,display_key_alias:e.key_alias&&e.key_alias.length>10?"".concat(e.key_alias.slice(0,10),"..."):e.key_alias||"-"}));return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end items-center",children:(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>S("table"),className:"px-3 py-1 text-sm rounded-md ".concat("table"===q?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Table View"}),(0,a.jsx)("button",{onClick:()=>S("chart"),className:"px-3 py-1 text-sm rounded-md ".concat("chart"===q?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Chart View"})]})}),"chart"===q?(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(l.v,{className:"mt-4 h-40 cursor-pointer hover:opacity-90",data:M,index:"display_key_alias",categories:["spend"],colors:["cyan"],yAxisWidth:120,tickGap:5,layout:"vertical",showLegend:!1,valueFormatter:e=>"$".concat((0,m.pw)(e,2)),onValueChange:e=>L(e),showTooltip:!0,customTooltip:e=>{var s,t;let r=null===(t=e.payload)||void 0===t?void 0:null===(s=t[0])||void 0===s?void 0:s.payload;return(0,a.jsx)("div",{className:"relative z-50 p-3 bg-black/90 shadow-lg rounded-lg text-white max-w-xs",children:(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key Alias: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==r?void 0:r.key_alias})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key ID: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==r?void 0:r.api_key})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend: "}),(0,a.jsxs)("span",{className:"text-white font-medium",children:["$",(0,m.pw)(null==r?void 0:r.spend,2)]})]})]})})}})}):(0,a.jsx)("div",{className:"border rounded-lg overflow-hidden",children:(0,a.jsx)(o.w,{columns:O,data:s,renderSubComponent:()=>(0,a.jsx)(a.Fragment,{}),getRowCanExpand:()=>!1,isLoading:!1})}),v&&b&&N&&(console.log("Rendering modal with:",{isModalOpen:v,selectedKey:b,keyData:N}),(0,a.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",onClick:e=>{e.target===e.currentTarget&&E()},children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl relative w-11/12 max-w-6xl max-h-[90vh] overflow-y-auto min-h-[750px]",children:[(0,a.jsx)("button",{onClick:E,className:"absolute top-4 right-4 text-gray-500 hover:text-gray-700 focus:outline-none","aria-label":"Close",children:(0,a.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})}),(0,a.jsx)("div",{className:"p-6 h-full",children:(0,a.jsx)(n.Z,{keyId:b,onClose:E,keyData:N,accessToken:j,userID:_,userRole:f,teams:t,premiumUser:y})})]})}))]})}},51385:function(e,s,t){t.d(s,{Z:function(){return eH}});var a=t(57437),r=t(40278),l=t(12514),n=t(49804),i=t(14042),c=t(67101),o=t(12485),d=t(18135),u=t(35242),m=t(29706),x=t(77991),h=t(21626),p=t(97214),g=t(28241),j=t(58834),f=t(69552),_=t(71876),y=t(84264),v=t(96761),k=t(33866),b=t(51653),Z=t(2265),N=t(19250),w=t(11713),q=t(90246),S=t(20347);let C=(0,q.n)("agents"),T=(e,s)=>(0,w.a)({queryKey:C.list({}),queryFn:async()=>await (0,N.getAgentsList)(e),enabled:!!e&&S.ZL.includes(s||"")}),D=(0,q.n)("customers"),L=(e,s)=>(0,w.a)({queryKey:D.list({}),queryFn:async()=>await (0,N.allEndUsersCall)(e),enabled:!!e&&S.ZL.includes(s||"")});var E=t(39760),A=t(59872),F=t(16312),O=t(75105),M=t(44851);let U={blue:"#3b82f6",cyan:"#06b6d4",indigo:"#6366f1",green:"#22c55e",red:"#ef4444",purple:"#8b5cf6"},V=e=>{let{active:s,payload:t,label:r}=e;if(s&&t&&t.length){let e=e=>e.replace("metrics.","").replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),s=(e,s)=>{let t=s.substring(s.indexOf(".")+1);if(e.metrics&&t in e.metrics)return e.metrics[t]};return(0,a.jsxs)("div",{className:"w-56 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[(0,a.jsx)("p",{className:"text-tremor-content-strong",children:r}),t.map(t=>{var r;let l=null===(r=t.dataKey)||void 0===r?void 0:r.toString();if(!l||!t.payload)return null;let n=s(t.payload,l),i=l.includes("spend"),c=void 0!==n?i?"$".concat(n.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})):n.toLocaleString():"N/A",o=U[t.color]||t.color;return(0,a.jsxs)("div",{className:"flex items-center justify-between space-x-4",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full ring-2 ring-white drop-shadow-md",style:{backgroundColor:o}}),(0,a.jsx)("p",{className:"font-medium text-tremor-content dark:text-dark-tremor-content",children:e(l)})]}),(0,a.jsx)("p",{className:"font-medium text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis",children:c})]},l)})]})}return null},z=e=>{let{categories:s,colors:t}=e,r=e=>e.replace("metrics.","").replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");return(0,a.jsx)("div",{className:"flex items-center justify-end space-x-4",children:s.map((e,s)=>{let l=U[t[s]]||t[s];return(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full ring-4 ring-white",style:{backgroundColor:l}}),(0,a.jsx)("p",{className:"text-sm text-tremor-content dark:text-dark-tremor-content",children:r(e)})]},e)})})};function Y(e){return e>=1e6?(e/1e6).toFixed(2)+"M":e>=1e3?e/1e3+"k":e.toString()}function R(e){return 0===e?"$0":e>=1e6?"$"+e/1e6+"M":e>=1e3?"$"+e/1e3+"k":"$"+e}let I=(e,s)=>{let t=s.find(s=>s.team_id===e);return t?t.team_alias:null},$=e=>{var s,t;let{modelName:n,metrics:i,hidePromptCachingMetrics:o=!1}=e;return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(c.Z,{numItems:4,className:"gap-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Requests"}),(0,a.jsx)(v.Z,{children:i.total_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Successful Requests"}),(0,a.jsx)(v.Z,{children:i.total_successful_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Tokens"}),(0,a.jsx)(v.Z,{children:i.total_tokens.toLocaleString()}),(0,a.jsxs)(y.Z,{children:[Math.round(i.total_tokens/i.total_successful_requests)," avg per successful request"]})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Spend"}),(0,a.jsxs)(v.Z,{children:["$",(0,A.pw)(i.total_spend,2)]}),(0,a.jsxs)(y.Z,{children:["$",(0,A.pw)(i.total_spend/i.total_successful_requests,3)," per successful request"]})]})]}),i.top_api_keys&&i.top_api_keys.length>0&&(0,a.jsxs)(l.Z,{className:"mt-4",children:[(0,a.jsx)(v.Z,{children:"Top Virtual Keys by Spend"}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)("div",{className:"grid grid-cols-1 gap-2",children:i.top_api_keys.map((e,s)=>(0,a.jsxs)("div",{className:"flex justify-between items-center p-3 bg-gray-50 rounded-lg",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"font-medium",children:e.key_alias||"".concat(e.api_key.substring(0,10),"...")}),e.team_id&&(0,a.jsxs)(y.Z,{className:"text-xs text-gray-500",children:["Team: ",e.team_id]})]}),(0,a.jsxs)("div",{className:"text-right",children:[(0,a.jsxs)(y.Z,{className:"font-medium",children:["$",(0,A.pw)(e.spend,2)]}),(0,a.jsxs)(y.Z,{className:"text-xs text-gray-500",children:[e.requests.toLocaleString()," requests | ",e.tokens.toLocaleString()," tokens"]})]})]},e.api_key))})})]}),(0,a.jsxs)(c.Z,{numItems:2,className:"gap-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Total Tokens"}),(0,a.jsx)(z,{categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"],valueFormatter:Y,customTooltip:V,showLegend:!1})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Requests per day"}),(0,a.jsx)(z,{categories:["metrics.api_requests"],colors:["blue"]})]}),(0,a.jsx)(r.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.api_requests"],colors:["blue"],valueFormatter:Y,customTooltip:V,showLegend:!1})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Spend per day"}),(0,a.jsx)(z,{categories:["metrics.spend"],colors:["green"]})]}),(0,a.jsx)(r.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.spend"],colors:["green"],valueFormatter:e=>"$".concat((0,A.pw)(e,2,!0)),yAxisWidth:72})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Success vs Failed Requests"}),(0,a.jsx)(z,{categories:["metrics.successful_requests","metrics.failed_requests"],colors:["green","red"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.successful_requests","metrics.failed_requests"],colors:["green","red"],valueFormatter:Y,stack:!0,customTooltip:V,showLegend:!1})]}),!o&&(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Prompt Caching Metrics"}),(0,a.jsx)(z,{categories:["metrics.cache_read_input_tokens","metrics.cache_creation_input_tokens"],colors:["cyan","purple"]})]}),(0,a.jsxs)("div",{className:"mb-2",children:[(0,a.jsxs)(y.Z,{children:["Cache Read: ",(null===(s=i.total_cache_read_input_tokens)||void 0===s?void 0:s.toLocaleString())||0," tokens"]}),(0,a.jsxs)(y.Z,{children:["Cache Creation: ",(null===(t=i.total_cache_creation_input_tokens)||void 0===t?void 0:t.toLocaleString())||0," tokens"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.cache_read_input_tokens","metrics.cache_creation_input_tokens"],colors:["cyan","purple"],valueFormatter:Y,customTooltip:V,showLegend:!1})]})]})]})},K=e=>{let{modelMetrics:s,hidePromptCachingMetrics:t=!1}=e,r=Object.keys(s).sort((e,t)=>""===e?1:""===t?-1:s[t].total_spend-s[e].total_spend),n={total_requests:0,total_successful_requests:0,total_tokens:0,total_spend:0,total_cache_read_input_tokens:0,total_cache_creation_input_tokens:0,daily_data:{}};Object.values(s).forEach(e=>{n.total_requests+=e.total_requests,n.total_successful_requests+=e.total_successful_requests,n.total_tokens+=e.total_tokens,n.total_spend+=e.total_spend,n.total_cache_read_input_tokens+=e.total_cache_read_input_tokens||0,n.total_cache_creation_input_tokens+=e.total_cache_creation_input_tokens||0,e.daily_data.forEach(e=>{n.daily_data[e.date]||(n.daily_data[e.date]={prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,spend:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0}),n.daily_data[e.date].prompt_tokens+=e.metrics.prompt_tokens,n.daily_data[e.date].completion_tokens+=e.metrics.completion_tokens,n.daily_data[e.date].total_tokens+=e.metrics.total_tokens,n.daily_data[e.date].api_requests+=e.metrics.api_requests,n.daily_data[e.date].spend+=e.metrics.spend,n.daily_data[e.date].successful_requests+=e.metrics.successful_requests,n.daily_data[e.date].failed_requests+=e.metrics.failed_requests,n.daily_data[e.date].cache_read_input_tokens+=e.metrics.cache_read_input_tokens||0,n.daily_data[e.date].cache_creation_input_tokens+=e.metrics.cache_creation_input_tokens||0})});let i=Object.entries(n.daily_data).map(e=>{let[s,t]=e;return{date:s,metrics:t}}).sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime());return(0,a.jsxs)("div",{className:"space-y-8",children:[(0,a.jsxs)("div",{className:"border rounded-lg p-4",children:[(0,a.jsx)(v.Z,{children:"Overall Usage"}),(0,a.jsxs)(c.Z,{numItems:4,className:"gap-4 mb-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Requests"}),(0,a.jsx)(v.Z,{children:n.total_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Successful Requests"}),(0,a.jsx)(v.Z,{children:n.total_successful_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Tokens"}),(0,a.jsx)(v.Z,{children:n.total_tokens.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Spend"}),(0,a.jsxs)(v.Z,{children:["$",(0,A.pw)(n.total_spend,2)]})]})]}),(0,a.jsxs)(c.Z,{numItems:2,className:"gap-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Total Tokens Over Time"}),(0,a.jsx)(z,{categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i,index:"date",categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"],valueFormatter:Y,customTooltip:V,showLegend:!1})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Requests Over Time"}),(0,a.jsx)(O.Z,{className:"mt-4",data:i,index:"date",categories:["metrics.successful_requests","metrics.failed_requests"],colors:["emerald","red"],valueFormatter:e=>e.toLocaleString(),stack:!0,customTooltip:V,showLegend:!1})]})]})]}),(0,a.jsx)(M.default,{defaultActiveKey:r[0],children:r.map(e=>(0,a.jsx)(M.default.Panel,{header:(0,a.jsxs)("div",{className:"flex justify-between items-center w-full",children:[(0,a.jsx)(v.Z,{children:s[e].label||"Unknown Item"}),(0,a.jsxs)("div",{className:"flex space-x-4 text-sm text-gray-500",children:[(0,a.jsxs)("span",{children:["$",(0,A.pw)(s[e].total_spend,2)]}),(0,a.jsxs)("span",{children:[s[e].total_requests.toLocaleString()," requests"]})]})]}),children:(0,a.jsx)($,{modelName:e||"Unknown Model",metrics:s[e],hidePromptCachingMetrics:t})},e))})]})},P=(e,s,t)=>{let a=e.metadata.key_alias||"key-hash-".concat(s),r=e.metadata.team_id;if(r){let e=I(r,t);return e?"".concat(a," (team: ").concat(e,")"):"".concat(a," (team_id: ").concat(r,")")}return a},W=function(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a={};return e.results.forEach(e=>{Object.entries(e.breakdown[s]||{}).forEach(r=>{let[l,n]=r;a[l]||(a[l]={label:"api_keys"===s?P(n,l,t):l,total_requests:0,total_successful_requests:0,total_failed_requests:0,total_tokens:0,prompt_tokens:0,completion_tokens:0,total_spend:0,total_cache_read_input_tokens:0,total_cache_creation_input_tokens:0,top_api_keys:[],daily_data:[]}),a[l].total_requests+=n.metrics.api_requests,a[l].prompt_tokens+=n.metrics.prompt_tokens,a[l].completion_tokens+=n.metrics.completion_tokens,a[l].total_tokens+=n.metrics.total_tokens,a[l].total_spend+=n.metrics.spend,a[l].total_successful_requests+=n.metrics.successful_requests,a[l].total_failed_requests+=n.metrics.failed_requests,a[l].total_cache_read_input_tokens+=n.metrics.cache_read_input_tokens||0,a[l].total_cache_creation_input_tokens+=n.metrics.cache_creation_input_tokens||0,a[l].daily_data.push({date:e.date,metrics:{prompt_tokens:n.metrics.prompt_tokens,completion_tokens:n.metrics.completion_tokens,total_tokens:n.metrics.total_tokens,api_requests:n.metrics.api_requests,spend:n.metrics.spend,successful_requests:n.metrics.successful_requests,failed_requests:n.metrics.failed_requests,cache_read_input_tokens:n.metrics.cache_read_input_tokens||0,cache_creation_input_tokens:n.metrics.cache_creation_input_tokens||0}})})}),"api_keys"!==s&&Object.entries(a).forEach(t=>{let[r,l]=t,n={};e.results.forEach(e=>{var t;let a=null===(t=e.breakdown[s])||void 0===t?void 0:t[r];a&&"api_key_breakdown"in a&&Object.entries(a.api_key_breakdown||{}).forEach(e=>{let[s,t]=e;n[s]||(n[s]={api_key:s,key_alias:t.metadata.key_alias,team_id:t.metadata.team_id,spend:0,requests:0,tokens:0}),n[s].spend+=t.metrics.spend,n[s].requests+=t.metrics.api_requests,n[s].tokens+=t.metrics.total_tokens})}),a[r].top_api_keys=Object.values(n).sort((e,s)=>s.spend-e.spend).slice(0,5)}),Object.values(a).forEach(e=>{e.daily_data.sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime())}),a};var B=t(78489),H=t(94789),G=t(49566),J=t(10032),Q=t(22116),X=t(37592),ee=t(10353),es=t(9114),et=e=>{let{isOpen:s,onClose:t,accessToken:r}=e,[l]=J.Z.useForm(),[n,i]=(0,Z.useState)(!1),[c,o]=(0,Z.useState)(null),[d,u]=(0,Z.useState)(!1),[m,x]=(0,Z.useState)("cloudzero"),[h,p]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{s&&r&&g()},[s,r]);let g=async()=>{u(!0);try{let e=await fetch("/cloudzero/settings",{method:"GET",headers:{Authorization:"Bearer ".concat(r),"Content-Type":"application/json"}});if(e.ok){let s=await e.json();o(s),l.setFieldsValue({connection_id:s.connection_id})}else if(404!==e.status){let s=await e.json();es.Z.fromBackend("Failed to load existing settings: ".concat(s.error||"Unknown error"))}}catch(e){console.error("Error loading CloudZero settings:",e),es.Z.fromBackend("Failed to load existing settings")}finally{u(!1)}},j=async e=>{if(!r){es.Z.fromBackend("No access token available");return}i(!0);try{let s={...e,timezone:"UTC"},t=await fetch(c?"/cloudzero/settings":"/cloudzero/init",{method:c?"PUT":"POST",headers:{Authorization:"Bearer ".concat(r),"Content-Type":"application/json"},body:JSON.stringify(s)}),a=await t.json();if(t.ok)return es.Z.success(a.message||"CloudZero settings saved successfully"),o({api_key_masked:e.api_key.substring(0,4)+"****"+e.api_key.slice(-4),connection_id:e.connection_id,status:"configured"}),!0;return es.Z.fromBackend(a.error||"Failed to save CloudZero settings"),!1}catch(e){return console.error("Error saving CloudZero settings:",e),es.Z.fromBackend("Failed to save CloudZero settings"),!1}finally{i(!1)}},f=async()=>{if(!r){es.Z.fromBackend("No access token available");return}p(!0);try{let e=await fetch("/cloudzero/export",{method:"POST",headers:{Authorization:"Bearer ".concat(r),"Content-Type":"application/json"},body:JSON.stringify({limit:1e5,operation:"replace_hourly"})}),s=await e.json();e.ok?(es.Z.success(s.message||"Export to CloudZero completed successfully"),t()):es.Z.fromBackend(s.error||"Failed to export to CloudZero")}catch(e){console.error("Error exporting to CloudZero:",e),es.Z.fromBackend("Failed to export to CloudZero")}finally{p(!1)}},_=async()=>{p(!0);try{es.Z.info("CSV export functionality coming soon!"),t()}catch(e){console.error("Error exporting CSV:",e),es.Z.fromBackend("Failed to export CSV")}finally{p(!1)}},v=async()=>{if("cloudzero"===m){if(!c){let e=await l.validateFields();if(!await j(e))return}await f()}else await _()},k=()=>{l.resetFields(),x("cloudzero"),o(null),t()},b=[{value:"cloudzero",label:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("img",{src:"/cloudzero.png",alt:"CloudZero",className:"w-5 h-5",onError:e=>{e.target.style.display="none"}}),(0,a.jsx)("span",{children:"Export to CloudZero"})]})},{value:"csv",label:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})}),(0,a.jsx)("span",{children:"Export to CSV"})]})}];return(0,a.jsx)(Q.Z,{title:"Export Data",open:s,onCancel:k,footer:null,width:600,destroyOnClose:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"font-medium mb-2 block",children:"Export Destination"}),(0,a.jsx)(X.default,{value:m,onChange:x,options:b,className:"w-full",size:"large"})]}),"cloudzero"===m&&(0,a.jsx)("div",{children:d?(0,a.jsx)("div",{className:"flex justify-center py-8",children:(0,a.jsx)(ee.Z,{size:"large"})}):(0,a.jsxs)(a.Fragment,{children:[c&&(0,a.jsx)(H.Z,{title:"Existing CloudZero Configuration",icon:()=>(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),color:"green",className:"mb-4",children:(0,a.jsxs)(y.Z,{children:["API Key: ",c.api_key_masked,(0,a.jsx)("br",{}),"Connection ID: ",c.connection_id]})}),!c&&(0,a.jsxs)(J.Z,{form:l,layout:"vertical",children:[(0,a.jsx)(J.Z.Item,{label:"CloudZero API Key",name:"api_key",rules:[{required:!0,message:"Please enter your CloudZero API key"}],children:(0,a.jsx)(G.Z,{type:"password",placeholder:"Enter your CloudZero API key"})}),(0,a.jsx)(J.Z.Item,{label:"Connection ID",name:"connection_id",rules:[{required:!0,message:"Please enter the CloudZero connection ID"}],children:(0,a.jsx)(G.Z,{placeholder:"Enter CloudZero connection ID"})})]})]})}),"csv"===m&&(0,a.jsx)(H.Z,{title:"CSV Export",icon:()=>(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})}),color:"blue",children:(0,a.jsx)(y.Z,{children:"Export your usage data as a CSV file for analysis in spreadsheet applications."})}),(0,a.jsxs)("div",{className:"flex justify-end space-x-2 pt-4",children:[(0,a.jsx)(B.Z,{variant:"secondary",onClick:k,children:"Cancel"}),(0,a.jsx)(B.Z,{onClick:v,loading:n||h,disabled:n||h,children:"cloudzero"===m?"Export to CloudZero":"Export CSV"})]})]})})},ea=e=>{var s,t;let{dateRange:r,selectedFilters:l}=e;return(0,a.jsxs)("div",{className:"text-sm text-gray-500",children:[null===(s=r.from)||void 0===s?void 0:s.toLocaleDateString()," - ",null===(t=r.to)||void 0===t?void 0:t.toLocaleDateString(),l.length>0&&" \xb7 ".concat(l.length," filter").concat(l.length>1?"s":"")]})},er=t(29967),el=e=>{let{value:s,onChange:t,entityType:r}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium text-gray-700 block mb-2",children:"Export type"}),(0,a.jsx)(er.ZP.Group,{value:s,onChange:e=>t(e.target.value),className:"w-full",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("label",{className:"flex items-start p-3 border border-gray-200 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors",children:[(0,a.jsx)(er.ZP,{value:"daily",className:"mt-0.5"}),(0,a.jsxs)("div",{className:"ml-3 flex-1",children:[(0,a.jsx)("div",{className:"font-medium text-sm",children:"Day-by-day breakdown"}),(0,a.jsxs)("div",{className:"text-xs text-gray-500 mt-0.5",children:["Daily metrics for each ",r]})]})]}),(0,a.jsxs)("label",{className:"flex items-start p-3 border border-gray-200 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors",children:[(0,a.jsx)(er.ZP,{value:"daily_with_models",className:"mt-0.5"}),(0,a.jsxs)("div",{className:"ml-3 flex-1",children:[(0,a.jsxs)("div",{className:"font-medium text-sm",children:["Day-by-day by ",r," and model"]}),(0,a.jsx)("div",{className:"text-xs text-gray-500 mt-0.5",children:"Daily metrics split by model"})]})]})]})})]})},en=e=>{let{value:s,onChange:t}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium text-gray-700 block mb-2",children:"Format"}),(0,a.jsx)(X.default,{value:s,onChange:t,className:"w-full",options:[{value:"csv",label:"CSV (Excel, Google Sheets)"},{value:"json",label:"JSON (includes metadata)"}]})]})},ei=t(15452),ec=t.n(ei);let eo=(e,s)=>{let t=[];return e.results.forEach(e=>{Object.entries(e.breakdown.entities||{}).forEach(a=>{var r;let[l,n]=a;t.push({Date:e.date,[s]:(null===(r=n.metadata)||void 0===r?void 0:r.team_alias)||l,["".concat(s," ID")]:l,"Spend ($)":(0,A.pw)(n.metrics.spend,4),Requests:n.metrics.api_requests,"Successful Requests":n.metrics.successful_requests,"Failed Requests":n.metrics.failed_requests,"Total Tokens":n.metrics.total_tokens,"Prompt Tokens":n.metrics.prompt_tokens||0,"Completion Tokens":n.metrics.completion_tokens||0})})}),t.sort((e,s)=>new Date(e.Date).getTime()-new Date(s.Date).getTime())},ed=(e,s)=>{let t=[];return e.results.forEach(e=>{let a={};Object.entries(e.breakdown.entities||{}).forEach(s=>{var t;let[r,l]=s;null===(t=l.metadata)||void 0===t||t.team_alias,a[r]||(a[r]={}),Object.entries(e.breakdown.models||{}).forEach(e=>{let[s,t]=e;Object.entries(l.api_key_breakdown||{}).forEach(e=>{let[t,l]=e;a[r][s]||(a[r][s]={spend:0,requests:0,successful:0,failed:0,tokens:0}),a[r][s].spend+=l.metrics.spend||0,a[r][s].requests+=l.metrics.api_requests||0,a[r][s].successful+=l.metrics.successful_requests||0,a[r][s].failed+=l.metrics.failed_requests||0,a[r][s].tokens+=l.metrics.total_tokens||0})})}),Object.entries(a).forEach(a=>{var r,l;let[n,i]=a,c=null===(r=e.breakdown.entities)||void 0===r?void 0:r[n],o=(null==c?void 0:null===(l=c.metadata)||void 0===l?void 0:l.team_alias)||n;Object.entries(i).forEach(a=>{let[r,l]=a;t.push({Date:e.date,[s]:o,["".concat(s," ID")]:n,Model:r,"Spend ($)":(0,A.pw)(l.spend,4),Requests:l.requests,Successful:l.successful,Failed:l.failed,"Total Tokens":l.tokens})})})}),t.sort((e,s)=>new Date(e.Date).getTime()-new Date(s.Date).getTime())},eu=(e,s,t)=>{switch(s){case"daily":default:return eo(e,t);case"daily_with_models":return ed(e,t)}},em=(e,s,t,a,r)=>{var l,n;return{export_date:new Date().toISOString(),entity_type:e,date_range:{from:null===(l=s.from)||void 0===l?void 0:l.toISOString(),to:null===(n=s.to)||void 0===n?void 0:n.toISOString()},filters_applied:t.length>0?t:"None",export_scope:a,summary:{total_spend:r.metadata.total_spend,total_requests:r.metadata.total_api_requests,successful_requests:r.metadata.total_successful_requests,failed_requests:r.metadata.total_failed_requests,total_tokens:r.metadata.total_tokens}}},ex=(e,s,t,a)=>{let r=eu(e,s,t),l=new Blob([ec().unparse(r)],{type:"text/csv;charset=utf-8;"}),n=window.URL.createObjectURL(l),i=document.createElement("a");i.href=n;let c="".concat(a,"_usage_").concat(s,"_").concat(new Date().toISOString().split("T")[0],".csv");i.download=c,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(n)},eh=(e,s,t,a,r,l)=>{let n=eu(e,s,t),i=new Blob([JSON.stringify({metadata:em(a,r,l,s,e),data:n},null,2)],{type:"application/json"}),c=window.URL.createObjectURL(i),o=document.createElement("a");o.href=c;let d="".concat(a,"_usage_").concat(s,"_").concat(new Date().toISOString().split("T")[0],".json");o.download=d,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.URL.revokeObjectURL(c)};var ep=e=>{let{isOpen:s,onClose:t,entityType:r,spendData:l,dateRange:n,selectedFilters:i,customTitle:c}=e,[o,d]=(0,Z.useState)("csv"),[u,m]=(0,Z.useState)("daily"),[x,h]=(0,Z.useState)(!1),p=r.charAt(0).toUpperCase()+r.slice(1),g=c||"Export ".concat(p," Usage"),j=async e=>{let s=e||o;h(!0);try{"csv"===s?(ex(l,u,p,r),es.Z.success("".concat(p," usage data exported successfully as CSV"))):(eh(l,u,p,r,n,i),es.Z.success("".concat(p," usage data exported successfully as JSON"))),t()}catch(e){console.error("Error exporting data:",e),es.Z.fromBackend("Failed to export data")}finally{h(!1)}};return(0,a.jsx)(Q.Z,{title:(0,a.jsx)("span",{className:"text-base font-semibold",children:g}),open:s,onCancel:t,footer:null,width:480,destroyOnClose:!0,children:(0,a.jsxs)("div",{className:"space-y-5 py-2",children:[(0,a.jsx)(ea,{dateRange:n,selectedFilters:i}),(0,a.jsx)(el,{value:u,onChange:m,entityType:r}),(0,a.jsx)(en,{value:o,onChange:d}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-4 border-t",children:[(0,a.jsx)(F.z,{variant:"secondary",onClick:t,disabled:x,size:"sm",children:"Cancel"}),(0,a.jsx)(F.z,{onClick:()=>j(),loading:x,disabled:x,size:"sm",children:x?"Exporting...":"Export ".concat(o.toUpperCase())})]})]})})},eg=t(19431),ej=e=>{let{dateValue:s,entityType:t,spendData:r,showFilters:l=!1,filterLabel:n,filterPlaceholder:i,selectedFilters:c=[],onFiltersChange:o,filterOptions:d=[],customTitle:u,compactLayout:m=!1}=e,[x,h]=(0,Z.useState)(!1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsxs)("div",{className:"grid ".concat(l&&d.length>0?"grid-cols-[1fr_auto]":"grid-cols-[auto]"," items-end gap-4"),children:[l&&d.length>0&&(0,a.jsxs)("div",{children:[n&&(0,a.jsx)(eg.x,{className:"mb-2",children:n}),(0,a.jsx)(X.default,{mode:"multiple",style:{width:"100%"},placeholder:i,value:c,onChange:o,options:d,allowClear:!0})]}),(0,a.jsx)("div",{className:"justify-self-end",children:(0,a.jsx)(eg.z,{onClick:()=>h(!0),icon:()=>(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),children:"Export Data"})})]})}),(0,a.jsx)(ep,{isOpen:x,onClose:()=>h(!1),entityType:t,spendData:r,dateRange:s,selectedFilters:c,customTitle:u})]})},ef=t(42673),e_=t(5540),ey=t(49634),ev=t(77398),ek=t.n(ev);let eb=[{label:"Today",shortLabel:"today",getValue:()=>({from:ek()().startOf("day").toDate(),to:ek()().endOf("day").toDate()})},{label:"Last 7 days",shortLabel:"7d",getValue:()=>({from:ek()().subtract(7,"days").startOf("day").toDate(),to:ek()().endOf("day").toDate()})},{label:"Last 30 days",shortLabel:"30d",getValue:()=>({from:ek()().subtract(30,"days").startOf("day").toDate(),to:ek()().endOf("day").toDate()})},{label:"Month to date",shortLabel:"MTD",getValue:()=>({from:ek()().startOf("month").toDate(),to:ek()().endOf("day").toDate()})},{label:"Year to date",shortLabel:"YTD",getValue:()=>({from:ek()().startOf("year").toDate(),to:ek()().endOf("day").toDate()})}];var eZ=e=>{let{value:s,onValueChange:t,label:r="Select Time Range",showTimeRange:l=!0}=e,[n,i]=(0,Z.useState)(!1),[c,o]=(0,Z.useState)(s),[d,u]=(0,Z.useState)(null),[m,x]=(0,Z.useState)(""),[h,p]=(0,Z.useState)(""),g=(0,Z.useRef)(null),j=(0,Z.useCallback)(e=>{if(!e.from||!e.to)return null;for(let s of eb){let t=s.getValue(),a=ek()(e.from).isSame(ek()(t.from),"day"),r=ek()(e.to).isSame(ek()(t.to),"day");if(a&&r)return s.shortLabel}return null},[]);(0,Z.useEffect)(()=>{u(j(s))},[s,j]);let f=(0,Z.useCallback)(()=>{if(!m||!h)return{isValid:!0,error:""};let e=ek()(m,"YYYY-MM-DD"),s=ek()(h,"YYYY-MM-DD");return e.isValid()&&s.isValid()?s.isBefore(e)?{isValid:!1,error:"End date cannot be before start date"}:{isValid:!0,error:""}:{isValid:!1,error:"Invalid date format"}},[m,h])();(0,Z.useEffect)(()=>{s.from&&x(ek()(s.from).format("YYYY-MM-DD")),s.to&&p(ek()(s.to).format("YYYY-MM-DD")),o(s)},[s]),(0,Z.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&i(!1)};return n&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[n]);let _=(0,Z.useCallback)((e,s)=>{if(!e||!s)return"Select date range";let t=e=>ek()(e).format("D MMM, HH:mm");return"".concat(t(e)," - ").concat(t(s))},[]),y=(0,Z.useCallback)(e=>{let s;if(!e.from)return e;let t={...e},a=new Date(e.from);return s=new Date(e.to?e.to:e.from),a.toDateString(),s.toDateString(),a.setHours(0,0,0,0),s.setHours(23,59,59,999),t.from=a,t.to=s,t},[]),v=e=>{let{from:s,to:t}=e.getValue();o({from:s,to:t}),u(e.shortLabel),x(ek()(s).format("YYYY-MM-DD")),p(ek()(t).format("YYYY-MM-DD"))},k=(0,Z.useCallback)(()=>{try{if(m&&h&&f.isValid){let e=ek()(m,"YYYY-MM-DD").startOf("day"),s=ek()(h,"YYYY-MM-DD").endOf("day");if(e.isValid()&&s.isValid()){let t={from:e.toDate(),to:s.toDate()};o(t);let a=j(t);u(a)}}}catch(e){console.warn("Invalid date format:",e)}},[m,h,f.isValid,j]);return(0,Z.useEffect)(()=>{k()},[k]),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[r&&(0,a.jsx)(eg.x,{className:"text-sm font-medium text-gray-700 whitespace-nowrap",children:r}),(0,a.jsxs)("div",{className:"relative",ref:g,children:[(0,a.jsx)("div",{className:"w-[300px] px-3 py-2 text-sm border border-gray-300 rounded-md bg-white cursor-pointer hover:border-gray-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500",onClick:()=>i(!n),children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(e_.Z,{className:"text-gray-600"}),(0,a.jsx)("span",{className:"text-gray-900",children:_(s.from,s.to)})]}),(0,a.jsx)("svg",{className:"w-4 h-4 text-gray-400 transition-transform ".concat(n?"rotate-180":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})}),n&&(0,a.jsx)("div",{className:"absolute top-full right-0 z-[9999] min-w-[600px] mt-1 bg-white border border-gray-200 rounded-lg shadow-xl",children:(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsxs)("div",{className:"w-1/2 border-r border-gray-200",children:[(0,a.jsx)("div",{className:"p-3 border-b border-gray-200",children:(0,a.jsx)("span",{className:"text-sm font-semibold text-gray-900",children:"Relative time"})}),(0,a.jsx)("div",{className:"h-[350px] overflow-y-auto",children:eb.map(e=>{let s=d===e.shortLabel;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 cursor-pointer border-b border-gray-100 transition-colors ".concat(s?"bg-blue-50 hover:bg-blue-100 border-blue-200":"hover:bg-gray-50"),onClick:()=>v(e),children:[(0,a.jsx)("span",{className:"text-sm ".concat(s?"text-blue-700 font-medium":"text-gray-700"),children:e.label}),(0,a.jsx)("span",{className:"text-xs px-2 py-1 rounded capitalize ".concat(s?"text-blue-700 bg-blue-100":"text-gray-500 bg-gray-100"),children:e.shortLabel})]},e.label)})})]}),(0,a.jsxs)("div",{className:"w-1/2 relative",children:[(0,a.jsx)("div",{className:"p-3.5 border-b border-gray-200",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(ey.Z,{className:"text-gray-600"}),(0,a.jsx)("span",{className:"text-sm font-semibold text-gray-900",children:"Start and end dates"})]})}),(0,a.jsxs)("div",{className:"p-6 space-y-6 pb-20",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm text-gray-700 mb-1 block",children:"Start date"}),(0,a.jsx)("input",{type:"date",value:m,onChange:e=>x(e.target.value),className:"w-65 px-3 py-2 text-sm border rounded-md cursor-pointer hover:border-gray-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 ".concat(f.isValid?"border-gray-300":"border-red-300 focus:border-red-500 focus:ring-red-200")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm text-gray-700 mb-1 block",children:"End date"}),(0,a.jsx)("input",{type:"date",value:h,onChange:e=>p(e.target.value),className:"w-65 px-3 py-2 text-sm border rounded-md cursor-pointer hover:border-gray-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 ".concat(f.isValid?"border-gray-300":"border-red-300 focus:border-red-500 focus:ring-red-200")})]}),!f.isValid&&f.error&&(0,a.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-md p-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("svg",{className:"w-4 h-4 text-red-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"})}),(0,a.jsx)("span",{className:"text-sm text-red-700 font-medium",children:f.error})]})}),c.from&&c.to&&f.isValid&&(0,a.jsxs)("div",{className:"bg-blue-50 p-3 rounded-md space-y-1",children:[(0,a.jsxs)("div",{className:"text-xs text-blue-800",children:[(0,a.jsx)("span",{className:"font-medium",children:"From:"})," ",ek()(c.from).format("MMM D, YYYY [at] HH:mm:ss")]}),(0,a.jsxs)("div",{className:"text-xs text-blue-800",children:[(0,a.jsx)("span",{className:"font-medium",children:"To:"})," ",ek()(c.to).format("MMM D, YYYY [at] HH:mm:ss")]})]})]}),(0,a.jsx)("div",{className:"absolute bottom-4 right-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(eg.z,{variant:"secondary",onClick:()=>{o(s),s.from&&x(ek()(s.from).format("YYYY-MM-DD")),s.to&&p(ek()(s.to).format("YYYY-MM-DD")),u(j(s)),i(!1)},children:"Cancel"}),(0,a.jsx)(eg.z,{onClick:()=>{c.from&&c.to&&f.isValid&&(t(c),requestIdleCallback(()=>{t(y(c))},{timeout:100}),i(!1))},disabled:!c.from||!c.to||!f.isValid,children:"Apply"})]})})]})]})})]})]})},eN=t(91323);let ew=e=>{let{isDateChanging:s=!1}=e;return(0,a.jsx)("div",{className:"flex items-center justify-center h-40",children:(0,a.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,a.jsx)(eN.S,{className:"size-5"}),(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"text-gray-600 text-sm font-medium",children:s?"Processing date selection...":"Loading chart data..."}),(0,a.jsx)("span",{className:"text-gray-400 text-xs mt-1",children:s?"This will only take a moment":"Fetching your data"})]})]})})};var eq=t(35829),eS=t(97765),eC=t(99981),eT=e=>{let{accessToken:s,selectedTags:t,formatAbbreviatedNumber:l}=e,[n,i]=(0,Z.useState)({results:[],total_count:0,page:1,page_size:50,total_pages:0}),[c,k]=(0,Z.useState)(!1),[b,w]=(0,Z.useState)(1),q=async()=>{if(s){k(!0);try{let e=await (0,N.perUserAnalyticsCall)(s,b,50,t.length>0?t:void 0);i(e)}catch(e){console.error("Failed to fetch per-user data:",e)}finally{k(!1)}}};return(0,Z.useEffect)(()=>{q()},[s,t,b]),(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)(v.Z,{children:"Per User Usage"}),(0,a.jsx)(eS.Z,{children:"Individual developer usage metrics"}),(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{className:"mb-6",children:[(0,a.jsx)(o.Z,{children:"User Details"}),(0,a.jsx)(o.Z,{children:"Usage Distribution"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:"User ID"}),(0,a.jsx)(f.Z,{children:"User Email"}),(0,a.jsx)(f.Z,{children:"User Agent"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Success Generations"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Total Tokens"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Failed Requests"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Total Cost"})]})}),(0,a.jsx)(p.Z,{children:n.results.slice(0,10).map((e,s)=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:(0,a.jsx)(y.Z,{className:"font-medium",children:e.user_id})}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(y.Z,{children:e.user_email||"N/A"})}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(y.Z,{children:e.user_agent||"Unknown"})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsx)(y.Z,{children:l(e.successful_requests)})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsx)(y.Z,{children:l(e.total_tokens)})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsx)(y.Z,{children:l(e.failed_requests)})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsxs)(y.Z,{children:["$",l(e.spend,4)]})})]},s))})]}),n.results.length>10&&(0,a.jsxs)("div",{className:"mt-4 flex justify-between items-center",children:[(0,a.jsxs)(y.Z,{className:"text-sm text-gray-500",children:["Showing 10 of ",n.total_count," results"]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(B.Z,{size:"sm",variant:"secondary",onClick:()=>{b>1&&w(b-1)},disabled:1===b,children:"Previous"}),(0,a.jsx)(B.Z,{size:"sm",variant:"secondary",onClick:()=>{b=n.total_pages,children:"Next"})]})]})]}),(0,a.jsxs)(m.Z,{children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)(v.Z,{className:"text-lg",children:"User Usage Distribution"}),(0,a.jsx)(eS.Z,{children:"Number of users by successful request frequency"})]}),(0,a.jsx)(r.Z,{data:(()=>{let e=new Map;n.results.forEach(s=>{let t=s.user_agent||"Unknown";e.set(t,(e.get(t)||0)+1)});let s=Array.from(e.entries()).sort((e,s)=>{let[,t]=e,[,a]=s;return a-t}).slice(0,8).map(e=>{let[s]=e;return s}),t={"1-9 requests":{range:[1,9],agents:{}},"10-99 requests":{range:[10,99],agents:{}},"100-999 requests":{range:[100,999],agents:{}},"1K-9.9K requests":{range:[1e3,9999],agents:{}},"10K-99.9K requests":{range:[1e4,99999],agents:{}},"100K+ requests":{range:[1e5,1/0],agents:{}}};return n.results.forEach(e=>{let a=e.successful_requests,r=e.user_agent||"Unknown";s.includes(r)&&Object.entries(t).forEach(e=>{let[s,t]=e;a>=t.range[0]&&a<=t.range[1]&&(t.agents[r]||(t.agents[r]=0),t.agents[r]++)})}),Object.entries(t).map(e=>{let[t,a]=e,r={category:t};return s.forEach(e=>{r[e]=a.agents[e]||0}),r})})(),index:"category",categories:(()=>{let e=new Map;return n.results.forEach(s=>{let t=s.user_agent||"Unknown";e.set(t,(e.get(t)||0)+1)}),Array.from(e.entries()).sort((e,s)=>{let[,t]=e,[,a]=s;return a-t}).slice(0,8).map(e=>{let[s]=e;return s})})(),colors:["blue","green","orange","red","purple","yellow","pink","indigo"],valueFormatter:e=>"".concat(e," users"),yAxisWidth:80,showLegend:!0,stack:!0})]})]})]})]})},eD=e=>{let{accessToken:s,userRole:t,dateValue:n,onDateChange:i}=e,[h,p]=(0,Z.useState)({results:[]}),[g,j]=(0,Z.useState)({results:[]}),[f,_]=(0,Z.useState)({results:[]}),[k,b]=(0,Z.useState)({results:[]}),[w,q]=(0,Z.useState)(""),[S,C]=(0,Z.useState)([]),[T,D]=(0,Z.useState)([]),[L,E]=(0,Z.useState)(!1),[A,F]=(0,Z.useState)(!1),[O,M]=(0,Z.useState)(!1),[U,V]=(0,Z.useState)(!1),[z,Y]=(0,Z.useState)(!1),R=new Date,I=async()=>{if(s){E(!0);try{let e=await (0,N.tagDistinctCall)(s);C(e.results.map(e=>e.tag))}catch(e){console.error("Failed to fetch available tags:",e)}finally{E(!1)}}},$=async()=>{if(s){F(!0);try{let e=await (0,N.tagDauCall)(s,R,w||void 0,T.length>0?T:void 0);p(e)}catch(e){console.error("Failed to fetch DAU data:",e)}finally{F(!1)}}},K=async()=>{if(s){M(!0);try{let e=await (0,N.tagWauCall)(s,R,w||void 0,T.length>0?T:void 0);j(e)}catch(e){console.error("Failed to fetch WAU data:",e)}finally{M(!1)}}},P=async()=>{if(s){V(!0);try{let e=await (0,N.tagMauCall)(s,R,w||void 0,T.length>0?T:void 0);_(e)}catch(e){console.error("Failed to fetch MAU data:",e)}finally{V(!1)}}},W=async()=>{if(s&&n.from&&n.to){Y(!0);try{let e=await (0,N.userAgentSummaryCall)(s,n.from,n.to,T.length>0?T:void 0);b(e)}catch(e){console.error("Failed to fetch user agent summary data:",e)}finally{Y(!1)}}};(0,Z.useEffect)(()=>{I()},[s]),(0,Z.useEffect)(()=>{if(!s)return;let e=setTimeout(()=>{$(),K(),P()},50);return()=>clearTimeout(e)},[s,w,T]),(0,Z.useEffect)(()=>{if(!n.from||!n.to)return;let e=setTimeout(()=>{W()},50);return()=>clearTimeout(e)},[s,n,T]);let B=e=>e.startsWith("User-Agent: ")?e.replace("User-Agent: ",""):e,H=e=>e.length>15?e.substring(0,15)+"...":e,G=e=>Object.entries(e.reduce((e,s)=>(e[s.tag]=(e[s.tag]||0)+s.active_users,e),{})).sort((e,s)=>{let[,t]=e,[,a]=s;return a-t}).map(e=>{let[s]=e;return s}),J=G(h.results).slice(0,10),Q=G(g.results).slice(0,10),ee=G(f.results).slice(0,10),es=(()=>{let e=[],s=new Date;for(let t=6;t>=0;t--){let a=new Date(s);a.setDate(a.getDate()-t);let r={date:a.toISOString().split("T")[0]};J.forEach(e=>{r[B(e)]=0}),e.push(r)}return h.results.forEach(s=>{let t=B(s.tag),a=e.find(e=>e.date===s.date);a&&(a[t]=s.active_users)}),e})(),et=(()=>{let e=[];for(let s=1;s<=7;s++){let t={week:"Week ".concat(s)};Q.forEach(e=>{t[B(e)]=0}),e.push(t)}return g.results.forEach(s=>{let t=B(s.tag),a=s.date.match(/Week (\d+)/);if(a){let r="Week ".concat(a[1]),l=e.find(e=>e.week===r);l&&(l[t]=s.active_users)}}),e})(),ea=(()=>{let e=[];for(let s=1;s<=7;s++){let t={month:"Month ".concat(s)};ee.forEach(e=>{t[B(e)]=0}),e.push(t)}return f.results.forEach(s=>{let t=B(s.tag),a=s.date.match(/Month (\d+)/);if(a){let r="Month ".concat(a[1]),l=e.find(e=>e.month===r);l&&(l[t]=s.active_users)}}),e})(),er=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e>=1e8||e>=1e7||e>=1e6?(e/1e6).toFixed(s)+"M":e>=1e4?(e/1e3).toFixed(s)+"K":e>=1e3?(e/1e3).toFixed(s)+"K":e.toFixed(s)};return(0,a.jsxs)("div",{className:"space-y-6 mt-6",children:[(0,a.jsx)(l.Z,{children:(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex justify-between items-start",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(v.Z,{children:"Summary by User Agent"}),(0,a.jsx)(eS.Z,{children:"Performance metrics for different user agents"})]}),(0,a.jsxs)("div",{className:"w-96",children:[(0,a.jsx)(y.Z,{className:"text-sm font-medium block mb-2",children:"Filter by User Agents"}),(0,a.jsx)(X.default,{mode:"multiple",placeholder:"All User Agents",value:T,onChange:D,style:{width:"100%"},showSearch:!0,allowClear:!0,loading:L,optionFilterProp:"label",className:"rounded-md",maxTagCount:"responsive",children:S.map(e=>{let s=B(e),t=s.length>50?"".concat(s.substring(0,50),"..."):s;return(0,a.jsx)(X.default.Option,{value:e,label:t,title:s,children:t},e)})})]})]}),z?(0,a.jsx)(ew,{isDateChanging:!1}):(0,a.jsxs)(c.Z,{numItems:4,className:"gap-4",children:[(k.results||[]).slice(0,4).map((e,s)=>{let t=B(e.tag),r=H(t);return(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(eC.Z,{title:t,placement:"top",children:(0,a.jsx)(v.Z,{className:"truncate",children:r})}),(0,a.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Success Requests"}),(0,a.jsx)(eq.Z,{className:"text-lg",children:er(e.successful_requests)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Tokens"}),(0,a.jsx)(eq.Z,{className:"text-lg",children:er(e.total_tokens)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Cost"}),(0,a.jsxs)(eq.Z,{className:"text-lg",children:["$",er(e.total_spend,4)]})]})]})]},s)}),Array.from({length:Math.max(0,4-(k.results||[]).length)}).map((e,s)=>(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"No Data"}),(0,a.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Success Requests"}),(0,a.jsx)(eq.Z,{className:"text-lg",children:"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Tokens"}),(0,a.jsx)(eq.Z,{className:"text-lg",children:"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Cost"}),(0,a.jsx)(eq.Z,{className:"text-lg",children:"-"})]})]})]},"empty-".concat(s)))]})]})}),(0,a.jsx)(l.Z,{children:(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{className:"mb-6",children:[(0,a.jsx)(o.Z,{children:"DAU/WAU/MAU"}),(0,a.jsx)(o.Z,{children:"Per User Usage (Last 30 Days)"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)(v.Z,{children:"DAU, WAU & MAU per Agent"}),(0,a.jsx)(eS.Z,{children:"Active users across different time periods"})]}),(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{className:"mb-6",children:[(0,a.jsx)(o.Z,{children:"DAU"}),(0,a.jsx)(o.Z,{children:"WAU"}),(0,a.jsx)(o.Z,{children:"MAU"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(v.Z,{className:"text-lg",children:"Daily Active Users - Last 7 Days"})}),A?(0,a.jsx)(ew,{isDateChanging:!1}):(0,a.jsx)(r.Z,{data:es,index:"date",categories:J.map(B),valueFormatter:e=>er(e),yAxisWidth:60,showLegend:!0,stack:!0})]}),(0,a.jsxs)(m.Z,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(v.Z,{className:"text-lg",children:"Weekly Active Users - Last 7 Weeks"})}),O?(0,a.jsx)(ew,{isDateChanging:!1}):(0,a.jsx)(r.Z,{data:et,index:"week",categories:Q.map(B),valueFormatter:e=>er(e),yAxisWidth:60,showLegend:!0,stack:!0})]}),(0,a.jsxs)(m.Z,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(v.Z,{className:"text-lg",children:"Monthly Active Users - Last 7 Months"})}),U?(0,a.jsx)(ew,{isDateChanging:!1}):(0,a.jsx)(r.Z,{data:ea,index:"month",categories:ee.map(B),valueFormatter:e=>er(e),yAxisWidth:60,showLegend:!0,stack:!0})]})]})]})]}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(eT,{accessToken:s,selectedTags:T,formatAbbreviatedNumber:er})})]})]})})]})},eL=t(47375),eE=t(32176),eA=t(62338),eF=t(12322);function eO(e){let{topModels:s}=e,[t,r]=(0,Z.useState)("table");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end items-center",children:(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>r("table"),className:"px-3 py-1 text-sm rounded-md ".concat("table"===t?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Table View"}),(0,a.jsx)("button",{onClick:()=>r("chart"),className:"px-3 py-1 text-sm rounded-md ".concat("chart"===t?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Chart View"})]})}),"chart"===t?(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(eA.v,{className:"mt-4 h-40",data:s,index:"key",categories:["spend"],colors:["cyan"],valueFormatter:e=>"$".concat((0,A.pw)(e,2)),layout:"vertical",yAxisWidth:200,showLegend:!1})}):(0,a.jsx)("div",{className:"border rounded-lg overflow-auto",children:(0,a.jsx)(eF.w,{columns:[{header:"Model",accessorKey:"key",cell:e=>e.getValue()||"-"},{header:"Spend (USD)",accessorKey:"spend",cell:e=>{let s=e.getValue();return"$".concat((0,A.pw)(s,2))}},{header:"Successful",accessorKey:"successful_requests",cell:e=>{var s;return(0,a.jsx)("span",{className:"text-green-600",children:(null===(s=e.getValue())||void 0===s?void 0:s.toLocaleString())||0})}},{header:"Failed",accessorKey:"failed_requests",cell:e=>{var s;return(0,a.jsx)("span",{className:"text-red-600",children:(null===(s=e.getValue())||void 0===s?void 0:s.toLocaleString())||0})}},{header:"Tokens",accessorKey:"tokens",cell:e=>{var s;return(null===(s=e.getValue())||void 0===s?void 0:s.toLocaleString())||0}}],data:s,renderSubComponent:()=>(0,a.jsx)(a.Fragment,{}),getRowCanExpand:()=>!1})})]})}var eM=t(11318),eU=e=>{let{accessToken:s,entityType:t,entityId:k,userID:b,userRole:w,entityList:q,premiumUser:S,dateValue:C}=e,[T,D]=(0,Z.useState)({results:[],metadata:{total_spend:0,total_api_requests:0,total_successful_requests:0,total_failed_requests:0,total_tokens:0}}),{teams:L}=(0,eM.Z)(),E=W(T,"models",L||[]),F=W(T,"api_keys",L||[]),[O,M]=(0,Z.useState)([]),U=async()=>{if(!s||!C.from||!C.to)return;let e=new Date(C.from),a=new Date(C.to);if("tag"===t)D(await (0,N.tagDailyActivityCall)(s,e,a,1,O.length>0?O:null));else if("team"===t)D(await (0,N.teamDailyActivityCall)(s,e,a,1,O.length>0?O:null));else if("organization"===t)D(await (0,N.organizationDailyActivityCall)(s,e,a,1,O.length>0?O:null));else if("customer"===t)D(await (0,N.customerDailyActivityCall)(s,e,a,1,O.length>0?O:null));else if("agent"===t)D(await (0,N.agentDailyActivityCall)(s,e,a,1,O.length>0?O:null));else throw Error("Invalid entity type")};(0,Z.useEffect)(()=>{U()},[s,C,k,O]);let V=()=>{let e={};return T.results.forEach(s=>{Object.entries(s.breakdown.providers||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={provider:t,spend:0,requests:0,successful_requests:0,failed_requests:0,tokens:0});try{e[t].spend+=a.metrics.spend,e[t].requests+=a.metrics.api_requests,e[t].successful_requests+=a.metrics.successful_requests,e[t].failed_requests+=a.metrics.failed_requests,e[t].tokens+=a.metrics.total_tokens}catch(e){console.error("Error processing provider ".concat(t,": ").concat(e))}})}),Object.values(e).filter(e=>e.spend>0).sort((e,s)=>s.spend-e.spend)},z=(e,s)=>{if(q){let s=q.find(s=>s.value===e);if(s)return s.label}return(null==s?void 0:s.team_alias)?s.team_alias:e},Y=e=>0===O.length?e:e.filter(e=>O.includes(e.metadata.id)),I=()=>{let e={};return T.results.forEach(s=>{Object.entries(s.breakdown.entities||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{alias:z(t,a.metadata),id:t}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests,e[t].metrics.failed_requests+=a.metrics.failed_requests,e[t].metrics.total_tokens+=a.metrics.total_tokens})}),Y(Object.values(e).sort((e,s)=>s.metrics.spend-e.metrics.spend))},$=t.charAt(0).toUpperCase()+t.slice(1);return(0,a.jsxs)("div",{style:{width:"100%"},className:"relative",children:[(0,a.jsx)(ej,{dateValue:C,entityType:t,spendData:T,showFilters:null!==q&&q.length>0,filterLabel:"Filter by ".concat(t),filterPlaceholder:"Select ".concat(t," to filter..."),selectedFilters:O,onFiltersChange:M,filterOptions:(()=>{if(q)return q})()||void 0}),(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(o.Z,{children:"Cost"}),(0,a.jsx)(o.Z,{children:"agent"===t?"Request / Token Consumption":"Model Activity"}),(0,a.jsx)(o.Z,{children:"Key Activity"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsx)(m.Z,{children:(0,a.jsxs)(c.Z,{numItems:2,className:"gap-2 w-full",children:[(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)(v.Z,{children:[$," Spend Overview"]}),(0,a.jsxs)(c.Z,{numItems:5,className:"gap-4 mt-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Spend"}),(0,a.jsxs)(y.Z,{className:"text-2xl font-bold mt-2",children:["$",(0,A.pw)(T.metadata.total_spend,2)]})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:T.metadata.total_api_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Successful Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-green-600",children:T.metadata.total_successful_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Failed Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-red-600",children:T.metadata.total_failed_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Tokens"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:T.metadata.total_tokens.toLocaleString()})]})]})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Daily Spend"}),(0,a.jsx)(r.Z,{data:[...T.results].sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime()),index:"date",categories:["metrics.spend"],colors:["cyan"],valueFormatter:R,yAxisWidth:100,showLegend:!1,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload,l=Object.keys(r.breakdown.entities||{}).length;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.date}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Total Spend: $",(0,A.pw)(r.metrics.spend,2)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total Requests: ",r.metrics.api_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Successful: ",r.metrics.successful_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Failed: ",r.metrics.failed_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total Tokens: ",r.metrics.total_tokens]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total ",$,"s: ",l]}),(0,a.jsxs)("div",{className:"mt-2 border-t pt-2",children:[(0,a.jsxs)("p",{className:"font-semibold",children:["Spend by ",$,":"]}),Object.entries(r.breakdown.entities||{}).sort((e,s)=>{let[,t]=e,[,a]=s,r=t.metrics.spend;return a.metrics.spend-r}).slice(0,5).map(e=>{let[s,t]=e;return(0,a.jsxs)("p",{className:"text-sm text-gray-600",children:[z(s,t.metadata),": $",(0,A.pw)(t.metrics.spend,2)]},s)}),l>5&&(0,a.jsxs)("p",{className:"text-sm text-gray-500 italic",children:["...and ",l-5," more"]})]})]})}})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsx)(l.Z,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,a.jsxs)("div",{className:"flex flex-col space-y-2",children:[(0,a.jsxs)(v.Z,{children:["Spend Per ",$]}),(0,a.jsx)(eS.Z,{className:"text-xs",children:"Showing Top 5 by Spend"}),(0,a.jsxs)("div",{className:"flex items-center text-sm text-gray-500",children:[(0,a.jsxs)("span",{children:["Get Started by Tracking cost per ",$," "]}),(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/enterprise#spend-tracking",className:"text-blue-500 hover:text-blue-700 ml-1",children:"here"})]})]}),(0,a.jsxs)(c.Z,{numItems:2,className:"gap-6",children:[(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)(r.Z,{className:"mt-4 h-52",data:I().slice(0,5).map(e=>({...e,metadata:{...e.metadata,alias_display:e.metadata.alias&&e.metadata.alias.length>15?"".concat(e.metadata.alias.slice(0,15),"..."):e.metadata.alias}})),index:"metadata.alias_display",categories:["metrics.spend"],colors:["cyan"],valueFormatter:R,layout:"vertical",showLegend:!1,yAxisWidth:150,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.metadata.alias}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Spend: $",(0,A.pw)(r.metrics.spend,4)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Requests: ",r.metrics.api_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-green-600",children:["Successful: ",r.metrics.successful_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-red-600",children:["Failed: ",r.metrics.failed_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Tokens: ",r.metrics.total_tokens.toLocaleString()]})]})}})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)("div",{className:"h-52 overflow-y-auto",children:(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:$}),(0,a.jsx)(f.Z,{children:"Spend"}),(0,a.jsx)(f.Z,{className:"text-green-600",children:"Successful"}),(0,a.jsx)(f.Z,{className:"text-red-600",children:"Failed"}),(0,a.jsx)(f.Z,{children:"Tokens"})]})}),(0,a.jsx)(p.Z,{children:I().filter(e=>e.metrics.spend>0).map(e=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:e.metadata.alias}),(0,a.jsxs)(g.Z,{children:["$",(0,A.pw)(e.metrics.spend,4)]}),(0,a.jsx)(g.Z,{className:"text-green-600",children:e.metrics.successful_requests.toLocaleString()}),(0,a.jsx)(g.Z,{className:"text-red-600",children:e.metrics.failed_requests.toLocaleString()}),(0,a.jsx)(g.Z,{children:e.metrics.total_tokens.toLocaleString()})]},e.metadata.id))})]})})})]})]})})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Top Virtual Keys"}),(0,a.jsx)(eE.Z,{topKeys:(()=>{console.log("debugTags",{spendData:T});let e={};return T.results.forEach(s=>{let{breakdown:t}=s,{entities:a}=t;console.log("debugTags",{entities:a});let r=Object.keys(a).reduce((e,s)=>{let{api_key_breakdown:t}=a[s];return Object.keys(t).forEach(a=>{let r={tag:s,usage:t[a].metrics.spend};e[a]?e[a].push(r):e[a]=[r]}),e},{});console.log("debugTags",{tagDictionary:r}),Object.entries(s.breakdown.api_keys||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{key_alias:a.metadata.key_alias,team_id:a.metadata.team_id||null,tags:r[t]||[]}},console.log("debugTags",{keySpend:e})),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests,e[t].metrics.failed_requests+=a.metrics.failed_requests,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{api_key:s,key_alias:t.metadata.key_alias||"-",tags:t.metadata.tags||"-",spend:t.metrics.spend}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})(),teams:null,showTags:"tag"===t})]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"agent"===t?"Top Agents":"Top Models"}),(0,a.jsx)(eO,{topModels:(()=>{let e={};return T.results.forEach(s=>{Object.entries(s.breakdown.models||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={spend:0,requests:0,successful_requests:0,failed_requests:0,tokens:0});try{e[t].spend+=a.metrics.spend}catch(e){console.error("Error adding spend for ".concat(t,": ").concat(e,", got metrics: ").concat(JSON.stringify(a)))}e[t].requests+=a.metrics.api_requests,e[t].successful_requests+=a.metrics.successful_requests,e[t].failed_requests+=a.metrics.failed_requests,e[t].tokens+=a.metrics.total_tokens})}),Object.entries(e).map(e=>{let[s,t]=e;return{key:s,...t}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})()})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsx)(l.Z,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,a.jsx)(v.Z,{children:"Provider Usage"}),(0,a.jsxs)(c.Z,{numItems:2,children:[(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)(i.Z,{className:"mt-4 h-40",data:V(),index:"provider",category:"spend",valueFormatter:e=>"$".concat((0,A.pw)(e,2)),colors:["cyan","blue","indigo","violet","purple"]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:"Provider"}),(0,a.jsx)(f.Z,{children:"Spend"}),(0,a.jsx)(f.Z,{className:"text-green-600",children:"Successful"}),(0,a.jsx)(f.Z,{className:"text-red-600",children:"Failed"}),(0,a.jsx)(f.Z,{children:"Tokens"})]})}),(0,a.jsx)(p.Z,{children:V().map(e=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[e.provider&&(0,a.jsx)("img",{src:(0,ef.dr)(e.provider).logo,alt:"".concat(e.provider," logo"),className:"w-4 h-4",onError:s=>{let t=s.target,a=t.parentElement;if(a){var r;let s=document.createElement("div");s.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",s.textContent=(null===(r=e.provider)||void 0===r?void 0:r.charAt(0))||"-",a.replaceChild(s,t)}}}),(0,a.jsx)("span",{children:e.provider})]})}),(0,a.jsxs)(g.Z,{children:["$",(0,A.pw)(e.spend,2)]}),(0,a.jsx)(g.Z,{className:"text-green-600",children:e.successful_requests.toLocaleString()}),(0,a.jsx)(g.Z,{className:"text-red-600",children:e.failed_requests.toLocaleString()}),(0,a.jsx)(g.Z,{children:e.tokens.toLocaleString()})]},e.provider))})]})})]})]})})})]})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(K,{modelMetrics:E,hidePromptCachingMetrics:"agent"===t})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(K,{modelMetrics:F,hidePromptCachingMetrics:"agent"===t})})]})]})]})},eV=t(64739),ez=t(37527),eY=t(41361),eR=t(40312),eI=t(71891),e$=t(69993),eK=t(48231),eP=t(9775);let eW=[{value:"global",label:"Global Usage",showForAdmin:"Global Usage",showForNonAdmin:"Your Usage",description:"View usage across all resources",descriptionForAdmin:"View usage across all resources",descriptionForNonAdmin:"View your usage",icon:(0,a.jsx)(eV.Z,{style:{fontSize:"16px"}})},{value:"organization",label:"Organization Usage",showForAdmin:"Organization Usage",showForNonAdmin:"Your Organization Usage",description:"View organization-level usage",descriptionForAdmin:"View usage across all organizations",descriptionForNonAdmin:"View your organization's usage",icon:(0,a.jsx)(ez.Z,{style:{fontSize:"16px"}})},{value:"team",label:"Team Usage",description:"View usage by team",icon:(0,a.jsx)(eY.Z,{style:{fontSize:"16px"}})},{value:"customer",label:"Customer Usage",description:"View usage by customer accounts",icon:(0,a.jsx)(eR.Z,{style:{fontSize:"16px"}}),adminOnly:!0},{value:"tag",label:"Tag Usage",description:"View usage grouped by tags",icon:(0,a.jsx)(eI.Z,{style:{fontSize:"16px"}}),adminOnly:!0},{value:"agent",label:"Agent Usage (A2A)",description:"View usage by AI agents",icon:(0,a.jsx)(e$.Z,{style:{fontSize:"16px"}}),adminOnly:!0,badgeText:"New"},{value:"user-agent-activity",label:"User Agent Activity",description:"View detailed user agent activity logs",icon:(0,a.jsx)(eK.Z,{style:{fontSize:"16px"}}),adminOnly:!0}],eB=e=>{let{value:s,onChange:t,isAdmin:r,title:l="Usage View",description:n="Select the usage data you want to view","data-id":i}=e,c=eW.filter(e=>!e.adminOnly||!!r).map(e=>{let s=e.label,t=e.description;return e.showForAdmin&&e.showForNonAdmin&&(s=r?e.showForAdmin:e.showForNonAdmin),e.descriptionForAdmin&&e.descriptionForNonAdmin&&(t=r?e.descriptionForAdmin:e.descriptionForNonAdmin),{value:e.value,label:s,description:t,icon:e.icon,badgeText:e.badgeText}});return(0,a.jsx)("div",{className:"w-full","data-id":i,children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-start gap-4",children:[(0,a.jsxs)("div",{className:"flex items-stretch gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-shrink-0 flex items-center",children:(0,a.jsx)(eP.Z,{style:{fontSize:"32px"}})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-gray-900 mb-0.5 leading-tight",children:l}),(0,a.jsx)("p",{className:"text-xs text-gray-600 leading-tight",children:n})]})]}),(0,a.jsx)("div",{className:"flex-shrink-0",children:(0,a.jsx)(X.default,{value:s,onChange:t,className:"w-54 sm:w-64 md:w-72",size:"large",options:c.map(e=>({value:e.value,label:e.label})),optionRender:e=>{let s=c.find(s=>s.value===e.value);return s?(0,a.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,a.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:s.icon}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-900",children:s.label}),(0,a.jsx)("div",{className:"text-xs text-gray-600 mt-0.5",children:s.description})]}),s.badgeText&&(0,a.jsx)("div",{className:"items-center",children:(0,a.jsx)(k.Z,{color:"blue",count:s.badgeText})})]}):e.label},labelRender:e=>{let s=c.find(s=>s.value===e.value);return s?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{children:s.icon}),(0,a.jsx)("span",{className:"text-sm",children:s.label})]}):e.label}})})]})})};var eH=e=>{var s,t,w,q,C,D,O,M,U,V,z;let{teams:Y,organizations:I}=e,{accessToken:$,userRole:P,userId:B,premiumUser:H}=(0,E.Z)(),[G,J]=(0,Z.useState)({results:[],metadata:{}}),[Q,X]=(0,Z.useState)(!1),[ee,es]=(0,Z.useState)(!1),ea=(0,Z.useMemo)(()=>new Date(Date.now()-6048e5),[]),er=(0,Z.useMemo)(()=>new Date,[]),[el,en]=(0,Z.useState)({from:ea,to:er}),[ei,ec]=(0,Z.useState)([]),{data:eo=[]}=L($,P),{data:ed}=T($,P),[eu,em]=(0,Z.useState)("groups"),[ex,eh]=(0,Z.useState)(!1),[eg,ej]=(0,Z.useState)(!1),[e_,ey]=(0,Z.useState)(!0),[ev,ek]=(0,Z.useState)(!0),[eb,eN]=(0,Z.useState)("global"),[eq,eS]=(0,Z.useState)(!0),eC=async()=>{$&&ec(Object.values(await (0,N.tagListCall)($)).map(e=>({label:e.name,value:e.name})))};(0,Z.useEffect)(()=>{eC()},[$]);let eT=(null===(s=G.metadata)||void 0===s?void 0:s.total_spend)||0,eA=()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.providers||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{},api_key_breakdown:{}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests||0,e[t].metrics.failed_requests+=a.metrics.failed_requests||0,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{provider:s,spend:t.metrics.spend,requests:t.metrics.api_requests,successful_requests:t.metrics.successful_requests,failed_requests:t.metrics.failed_requests,tokens:t.metrics.total_tokens}})},eF=(0,Z.useCallback)(async()=>{if(!$||!el.from||!el.to)return;X(!0);let e=new Date(el.from),s=new Date(el.to);try{try{let t=await (0,N.userDailyActivityAggregatedCall)($,e,s);J(t);return}catch(e){}let t=await (0,N.userDailyActivityCall)($,e,s);if(t.metadata.total_pages<=1){J(t);return}let a=[...t.results],r={...t.metadata};for(let l=2;l<=t.metadata.total_pages;l++){let t=await (0,N.userDailyActivityCall)($,e,s,l);a.push(...t.results),t.metadata&&(r.total_spend+=t.metadata.total_spend||0,r.total_api_requests+=t.metadata.total_api_requests||0,r.total_successful_requests+=t.metadata.total_successful_requests||0,r.total_failed_requests+=t.metadata.total_failed_requests||0,r.total_tokens+=t.metadata.total_tokens||0)}J({results:a,metadata:r})}catch(e){console.error("Error fetching user spend data:",e)}finally{X(!1),es(!1)}},[$,el.from,el.to]),eO=(0,Z.useCallback)(e=>{es(!0),X(!0),en(e)},[]);(0,Z.useEffect)(()=>{if(!el.from||!el.to)return;let e=setTimeout(()=>{eF()},50);return()=>clearTimeout(e)},[eF]);let eM=W(G,"models",Y),eV=W(G,"api_keys",Y),ez=W(G,"mcp_servers",Y);return(0,a.jsxs)("div",{style:{width:"100%"},className:"p-8 relative",children:[(0,a.jsx)("div",{className:"flex items-end justify-between gap-6 mb-6",children:(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsxs)("div",{className:"flex items-end justify-between gap-6 mb-4 w-full",children:[(0,a.jsx)(k.Z,{color:"blue",count:"New",children:(0,a.jsx)(eB,{value:eb,onChange:e=>eN(e),isAdmin:S.ZL.includes(P||"")})}),(0,a.jsx)(eZ,{value:el,onValueChange:eO})]}),"global"===eb&&(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsxs)(u.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(o.Z,{children:"Cost"}),(0,a.jsx)(o.Z,{children:"Model Activity"}),(0,a.jsx)(o.Z,{children:"Key Activity"}),(0,a.jsx)(o.Z,{children:"MCP Server Activity"})]}),(0,a.jsx)(F.z,{onClick:()=>ej(!0),icon:()=>(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),children:"Export Data"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsx)(m.Z,{children:(0,a.jsxs)(c.Z,{numItems:2,className:"gap-2 w-full",children:[(0,a.jsxs)(n.Z,{numColSpan:2,children:[(0,a.jsxs)(y.Z,{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content mb-2 mt-2 text-lg",children:["Project Spend"," ",el.from&&el.to&&(0,a.jsxs)(a.Fragment,{children:[el.from.toLocaleDateString("en-US",{month:"short",day:"numeric",year:el.from.getFullYear()!==el.to.getFullYear()?"numeric":void 0})," - ",el.to.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]})]}),(0,a.jsx)(eL.Z,{userSpend:eT,selectedTeam:null,userMaxBudget:null})]}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Usage Metrics"}),(0,a.jsxs)(c.Z,{numItems:5,className:"gap-4 mt-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:(null===(w=G.metadata)||void 0===w?void 0:null===(t=w.total_api_requests)||void 0===t?void 0:t.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Successful Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-green-600",children:(null===(C=G.metadata)||void 0===C?void 0:null===(q=C.total_successful_requests)||void 0===q?void 0:q.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Failed Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-red-600",children:(null===(O=G.metadata)||void 0===O?void 0:null===(D=O.total_failed_requests)||void 0===D?void 0:D.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Tokens"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:(null===(U=G.metadata)||void 0===U?void 0:null===(M=U.total_tokens)||void 0===M?void 0:M.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Average Cost per Request"}),(0,a.jsxs)(y.Z,{className:"text-2xl font-bold mt-2",children:["$",(0,A.pw)((eT||0)/((null===(V=G.metadata)||void 0===V?void 0:V.total_api_requests)||1),4)]})]})]})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Daily Spend"}),Q?(0,a.jsx)(ew,{isDateChanging:ee}):(0,a.jsx)(r.Z,{data:[...G.results].sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime()),index:"date",categories:["metrics.spend"],colors:["cyan"],valueFormatter:R,yAxisWidth:100,showLegend:!1,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.date}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Spend: $",(0,A.pw)(r.metrics.spend,2)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Requests: ",r.metrics.api_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Successful: ",r.metrics.successful_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Failed: ",r.metrics.failed_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Tokens: ",r.metrics.total_tokens]})]})}})]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{className:"h-full",children:[(0,a.jsx)(v.Z,{children:"Top Virtual Keys"}),(0,a.jsx)(eE.Z,{topKeys:(()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.api_keys||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{key_alias:a.metadata.key_alias,team_id:null,tags:a.metadata.tags||[]}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests,e[t].metrics.failed_requests+=a.metrics.failed_requests,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),console.log("debugTags",{keySpend:e,userSpendData:G}),Object.entries(e).map(e=>{let[s,t]=e;return{api_key:s,key_alias:t.metadata.key_alias||"-",tags:t.metadata.tags||[],spend:t.metrics.spend}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})(),teams:null})]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{className:"h-full",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(v.Z,{children:"groups"===eu?"Top Public Model Names":"Top Litellm Models"}),(0,a.jsxs)("div",{className:"flex bg-gray-100 rounded-lg p-1",children:[(0,a.jsx)("button",{className:"px-3 py-1 text-sm rounded-md transition-colors ".concat("groups"===eu?"bg-white shadow-sm text-gray-900":"text-gray-600 hover:text-gray-900"),onClick:()=>em("groups"),children:"Public Model Name"}),(0,a.jsx)("button",{className:"px-3 py-1 text-sm rounded-md transition-colors ".concat("individual"===eu?"bg-white shadow-sm text-gray-900":"text-gray-600 hover:text-gray-900"),onClick:()=>em("individual"),children:"Litellm Model Name"})]})]}),Q?(0,a.jsx)(ew,{isDateChanging:ee}):(0,a.jsx)(r.Z,{className:"mt-4 h-40",data:"groups"===eu?(()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.model_groups||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{},api_key_breakdown:{}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests||0,e[t].metrics.failed_requests+=a.metrics.failed_requests||0,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{key:s,spend:t.metrics.spend,requests:t.metrics.api_requests,successful_requests:t.metrics.successful_requests,failed_requests:t.metrics.failed_requests,tokens:t.metrics.total_tokens}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})():(()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.models||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{},api_key_breakdown:{}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests||0,e[t].metrics.failed_requests+=a.metrics.failed_requests||0,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{key:s,spend:t.metrics.spend,requests:t.metrics.api_requests,successful_requests:t.metrics.successful_requests,failed_requests:t.metrics.failed_requests,tokens:t.metrics.total_tokens}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})(),index:"key",categories:["spend"],colors:["cyan"],valueFormatter:R,layout:"vertical",yAxisWidth:200,showLegend:!1,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.key}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Spend: $",(0,A.pw)(r.spend,2)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total Requests: ",r.requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-green-600",children:["Successful: ",r.successful_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-red-600",children:["Failed: ",r.failed_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Tokens: ",r.tokens.toLocaleString()]})]})}})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{className:"h-full",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsx)(v.Z,{children:"Spend by Provider"})}),Q?(0,a.jsx)(ew,{isDateChanging:ee}):(0,a.jsxs)(c.Z,{numItems:2,children:[(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)(i.Z,{className:"mt-4 h-40",data:eA(),index:"provider",category:"spend",valueFormatter:e=>"$".concat((0,A.pw)(e,2)),colors:["cyan"]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:"Provider"}),(0,a.jsx)(f.Z,{children:"Spend"}),(0,a.jsx)(f.Z,{className:"text-green-600",children:"Successful"}),(0,a.jsx)(f.Z,{className:"text-red-600",children:"Failed"}),(0,a.jsx)(f.Z,{children:"Tokens"})]})}),(0,a.jsx)(p.Z,{children:eA().filter(e=>e.spend>0).map(e=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[e.provider&&(0,a.jsx)("img",{src:(0,ef.dr)(e.provider).logo,alt:"".concat(e.provider," logo"),className:"w-4 h-4",onError:s=>{let t=s.target,a=t.parentElement;if(a){var r;let s=document.createElement("div");s.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",s.textContent=(null===(r=e.provider)||void 0===r?void 0:r.charAt(0))||"-",a.replaceChild(s,t)}}}),(0,a.jsx)("span",{children:e.provider})]})}),(0,a.jsxs)(g.Z,{children:["$",(0,A.pw)(e.spend,2)]}),(0,a.jsx)(g.Z,{className:"text-green-600",children:e.successful_requests.toLocaleString()}),(0,a.jsx)(g.Z,{className:"text-red-600",children:e.failed_requests.toLocaleString()}),(0,a.jsx)(g.Z,{children:e.tokens.toLocaleString()})]},e.provider))})]})})]})]})})]})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(K,{modelMetrics:eM})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(K,{modelMetrics:eV})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(K,{modelMetrics:ez})})]})]}),"organization"===eb&&(0,a.jsxs)(a.Fragment,{children:[e_&&(0,a.jsx)(b.Z,{banner:!0,type:"info",message:"Organization usage is a new feature.",description:"Spend is tracked from feature launch and previous data isn't backfilled, so only future usage appears here.",closable:!0,onClose:()=>ey(!1),className:"mb-5"}),(0,a.jsx)(eU,{accessToken:$,entityType:"organization",userID:B,userRole:P,dateValue:el,entityList:(null==I?void 0:I.map(e=>({label:e.organization_alias,value:e.organization_id})))||null,premiumUser:H})]}),"team"===eb&&(0,a.jsx)(eU,{accessToken:$,entityType:"team",userID:B,userRole:P,entityList:(null==Y?void 0:Y.map(e=>({label:e.team_alias,value:e.team_id})))||null,premiumUser:H,dateValue:el}),"customer"===eb&&(0,a.jsxs)(a.Fragment,{children:[ev&&(0,a.jsx)(b.Z,{banner:!0,type:"info",message:"Customer usage is a new feature.",description:"Spend is tracked from feature launch and previous data isn't backfilled, so only future usage appears here.",closable:!0,onClose:()=>ek(!1),className:"mb-5"}),(0,a.jsx)(eU,{accessToken:$,entityType:"customer",userID:B,userRole:P,entityList:(null==eo?void 0:eo.map(e=>({label:e.alias||e.user_id,value:e.user_id})))||null,premiumUser:H,dateValue:el})]}),"tag"===eb&&(0,a.jsx)(eU,{accessToken:$,entityType:"tag",userID:B,userRole:P,entityList:ei,premiumUser:H,dateValue:el}),"agent"===eb&&(0,a.jsxs)(a.Fragment,{children:[eq&&(0,a.jsx)(b.Z,{banner:!0,type:"info",message:"Agent usage (A2A) is a new feature.",description:"Spend is tracked from feature launch and previous data isn't backfilled, so only future usage appears here.",closable:!0,onClose:()=>eS(!1),className:"mb-5"}),(0,a.jsx)(eU,{accessToken:$,entityType:"agent",userID:B,userRole:P,entityList:(null==ed?void 0:null===(z=ed.agents)||void 0===z?void 0:z.map(e=>({label:e.agent_name,value:e.agent_id})))||null,premiumUser:H,dateValue:el})," "]}),"user-agent-activity"===eb&&(0,a.jsx)(eD,{accessToken:$,userRole:P,dateValue:el})]})}),(0,a.jsx)(et,{isOpen:ex,onClose:()=>eh(!1),accessToken:$}),(0,a.jsx)(ep,{isOpen:eg,onClose:()=>ej(!1),entityType:"team",spendData:{results:G.results,metadata:G.metadata},dateRange:el,selectedFilters:[],customTitle:"Export Usage Data"})]})}},91323:function(e,s,t){t.d(s,{S:function(){return n}});var a=t(57437),r=t(2265),l=t(10012);function n(e){var s,t;let{className:n="",...i}=e,c=(0,r.useId)();return s=()=>{let e=document.getAnimations().filter(e=>e instanceof CSSAnimation&&"spin"===e.animationName),s=e.find(e=>{var s;return(null===(s=e.effect.target)||void 0===s?void 0:s.getAttribute("data-spinner-id"))===c}),t=e.find(e=>{var s;return e.effect instanceof KeyframeEffect&&(null===(s=e.effect.target)||void 0===s?void 0:s.getAttribute("data-spinner-id"))!==c});s&&t&&(s.currentTime=t.currentTime)},t=[c],(0,r.useLayoutEffect)(s,t),(0,a.jsxs)("svg",{"data-spinner-id":c,className:(0,l.cx)("pointer-events-none size-12 animate-spin text-current",n),fill:"none",viewBox:"0 0 24 24",...i,children:[(0,a.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,a.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},47375:function(e,s,t){var a=t(57437),r=t(2265),l=t(19250),n=t(59872),i=t(39760);s.Z=e=>{let{userSpend:s,userMaxBudget:t,selectedTeam:c}=e,{accessToken:o,userRole:d,userId:u}=(0,i.Z)();console.log("userSpend: ".concat(s));let[m,x]=(0,r.useState)(null!==s?s:0),[h,p]=(0,r.useState)(c?Number((0,n.pw)(c.max_budget,4)):null);(0,r.useEffect)(()=>{if(c){if("Default Team"===c.team_alias)p(t);else{let e=!1;if(c.team_memberships)for(let s of c.team_memberships)s.user_id===u&&"max_budget"in s.litellm_budget_table&&null!==s.litellm_budget_table.max_budget&&(p(s.litellm_budget_table.max_budget),e=!0);e||p(c.max_budget)}}},[c,t]);let[g,j]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=async()=>{if(!o||!u||!d)return};(async()=>{try{if(null===u||null===d)return;if(null!==o){let e=(await (0,l.modelAvailableCall)(o,u,d)).data.map(e=>e.id);console.log("available_model_names:",e),j(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[d,o,u]),(0,r.useEffect)(()=>{null!==s&&x(s)},[s]);let f=[];c&&c.models&&(f=c.models),f&&f.includes("all-proxy-models")?(console.log("user models:",g),f=g):f&&f.includes("all-team-models")?f=c.models:f&&0===f.length&&(f=g);let _=null!==h?"$".concat((0,n.pw)(Number(h),4)," limit"):"No limit",y=void 0!==m?(0,n.pw)(m,4):null;return console.log("spend in view user spend: ".concat(m)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",y]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:_})]})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/143-9c81168540978019.js b/litellm/proxy/_experimental/out/_next/static/chunks/143-9c81168540978019.js new file mode 100644 index 0000000000..ef49634f28 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/143-9c81168540978019.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[143],{12660:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1119),o=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"},s=n(55015),a=o.forwardRef(function(e,t){return o.createElement(s.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},5540:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1119),o=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},s=n(55015),a=o.forwardRef(function(e,t){return o.createElement(s.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},3632:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1119),o=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},s=n(55015),a=o.forwardRef(function(e,t){return o.createElement(s.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},35291:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1119),o=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},s=n(55015),a=o.forwardRef(function(e,t){return o.createElement(s.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},92570:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=e=>e?"function"==typeof e?e():e:null},20435:function(e,t,n){"use strict";n.d(t,{aV:function(){return d}});var r=n(2265),o=n(36760),i=n.n(o),s=n(5769),a=n(92570),c=n(71744),l=n(72262),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let d=e=>{let{title:t,content:n,prefixCls:o}=e;return t||n?r.createElement(r.Fragment,null,t&&r.createElement("div",{className:"".concat(o,"-title")},t),n&&r.createElement("div",{className:"".concat(o,"-inner-content")},n)):null},f=e=>{let{hashId:t,prefixCls:n,className:o,style:c,placement:l="top",title:u,content:f,children:h}=e,p=(0,a.Z)(u),m=(0,a.Z)(f),v=i()(t,n,"".concat(n,"-pure"),"".concat(n,"-placement-").concat(l),o);return r.createElement("div",{className:v,style:c},r.createElement("div",{className:"".concat(n,"-arrow")}),r.createElement(s.G,Object.assign({},e,{className:t,prefixCls:n}),h||r.createElement(d,{prefixCls:n,title:p,content:m})))};t.ZP=e=>{let{prefixCls:t,className:n}=e,o=u(e,["prefixCls","className"]),{getPrefixCls:s}=r.useContext(c.E_),a=s("popover",t),[d,h,p]=(0,l.Z)(a);return d(r.createElement(f,Object.assign({},o,{prefixCls:a,hashId:h,className:i()(n,p)})))}},79326:function(e,t,n){"use strict";var r=n(2265),o=n(36760),i=n.n(o),s=n(50506),a=n(95814),c=n(92570),l=n(68710),u=n(19722),d=n(71744),f=n(99981),h=n(20435),p=n(72262),m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let v=r.forwardRef((e,t)=>{var n,o;let{prefixCls:v,title:g,content:y,overlayClassName:b,placement:w="top",trigger:k="hover",children:_,mouseEnterDelay:S=.1,mouseLeaveDelay:C=.1,onOpenChange:x,overlayStyle:j={},styles:O,classNames:E}=e,R=m(e,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle","styles","classNames"]),{getPrefixCls:z,className:Z,style:L,classNames:M,styles:F}=(0,d.dj)("popover"),B=z("popover",v),[N,P,I]=(0,p.Z)(B),T=z(),W=i()(b,P,I,Z,M.root,null==E?void 0:E.root),A=i()(M.body,null==E?void 0:E.body),[H,V]=(0,s.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(o=e.defaultOpen)&&void 0!==o?o:e.defaultVisible}),D=(e,t)=>{V(e,!0),null==x||x(e,t)},q=e=>{e.keyCode===a.Z.ESC&&D(!1,e)},X=(0,c.Z)(g),K=(0,c.Z)(y);return N(r.createElement(f.Z,Object.assign({placement:w,trigger:k,mouseEnterDelay:S,mouseLeaveDelay:C},R,{prefixCls:B,classNames:{root:W,body:A},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},F.root),L),j),null==O?void 0:O.root),body:Object.assign(Object.assign({},F.body),null==O?void 0:O.body)},ref:t,open:H,onOpenChange:e=>{D(e)},overlay:X||K?r.createElement(h.aV,{prefixCls:B,title:X,content:K}):null,transitionName:(0,l.m)(T,"zoom-big",R.transitionName),"data-popover-inject":!0}),(0,u.Tm)(_,{onKeyDown:e=>{var t,n;(0,r.isValidElement)(_)&&(null===(n=null==_?void 0:(t=_.props).onKeyDown)||void 0===n||n.call(t,e)),q(e)}})))});v._InternalPanelDoNotUseOrYouWillBeFired=h.ZP,t.Z=v},72262:function(e,t,n){"use strict";var r=n(12918),o=n(691),i=n(88260),s=n(34442),a=n(53454),c=n(99320),l=n(71140);let u=e=>{let{componentCls:t,popoverColor:n,titleMinWidth:o,fontWeightStrong:s,innerPadding:a,boxShadowSecondary:c,colorTextHeading:l,borderRadiusLG:u,zIndexPopup:d,titleMarginBottom:f,colorBgElevated:h,popoverBg:p,titleBorderBottom:m,innerContentPadding:v,titlePadding:g}=e;return[{[t]:Object.assign(Object.assign({},(0,r.Wf)(e)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:d,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text","--valid-offset-x":"var(--arrow-offset-horizontal, var(--arrow-x))",transformOrigin:"var(--valid-offset-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":h,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},["".concat(t,"-content")]:{position:"relative"},["".concat(t,"-inner")]:{backgroundColor:p,backgroundClip:"padding-box",borderRadius:u,boxShadow:c,padding:a},["".concat(t,"-title")]:{minWidth:o,marginBottom:f,color:l,fontWeight:s,borderBottom:m,padding:g},["".concat(t,"-inner-content")]:{color:n,padding:v}})},(0,i.ZP)(e,"var(--antd-arrow-background-color)"),{["".concat(t,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow,display:"inline-block",["".concat(t,"-content")]:{display:"inline-block"}}}]},d=e=>{let{componentCls:t}=e;return{[t]:a.i.map(n=>{let r=e["".concat(n,"6")];return{["&".concat(t,"-").concat(n)]:{"--antd-arrow-background-color":r,["".concat(t,"-inner")]:{backgroundColor:r},["".concat(t,"-arrow")]:{background:"transparent"}}}})}};t.Z=(0,c.I$)("Popover",e=>{let{colorBgElevated:t,colorText:n}=e,r=(0,l.IX)(e,{popoverBg:t,popoverColor:n});return[u(r),d(r),(0,o._y)(r,"zoom-big")]},e=>{let{lineWidth:t,controlHeight:n,fontHeight:r,padding:o,wireframe:a,zIndexPopupBase:c,borderRadiusLG:l,marginXS:u,lineType:d,colorSplit:f,paddingSM:h}=e,p=n-r;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:c+30},(0,s.w)(e)),(0,i.wZ)({contentRadius:l,limitVerticalRadius:!0})),{innerPadding:a?0:12,titleMarginBottom:a?0:u,titlePadding:a?"".concat(p/2,"px ").concat(o,"px ").concat(p/2-t,"px"):0,titleBorderBottom:a?"".concat(t,"px ").concat(d," ").concat(f):"none",innerContentPadding:a?"".concat(h,"px ").concat(o,"px"):0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]})},3810:function(e,t,n){"use strict";n.d(t,{Z:function(){return z}});var r=n(2265),o=n(36760),i=n.n(o),s=n(18694),a=n(93350),c=n(53445),l=n(19722),u=n(6694),d=n(71744),f=n(93463),h=n(54558),p=n(12918),m=n(71140),v=n(99320);let g=e=>{let{paddingXXS:t,lineWidth:n,tagPaddingHorizontal:r,componentCls:o,calc:i}=e,s=i(r).sub(n).equal(),a=i(t).sub(n).equal();return{[o]:Object.assign(Object.assign({},(0,p.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:s,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,f.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(o,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(o,"-close-icon")]:{marginInlineStart:a,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(o,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(o,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:s}}),["".concat(o,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},y=e=>{let{lineWidth:t,fontSizeIcon:n,calc:r}=e,o=e.fontSizeSM;return(0,m.IX)(e,{tagFontSize:o,tagLineHeight:(0,f.bf)(r(e.lineHeightSM).mul(o).equal()),tagIconSize:r(n).sub(r(t).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},b=e=>({defaultBg:new h.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var w=(0,v.I$)("Tag",e=>g(y(e)),b),k=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let _=r.forwardRef((e,t)=>{let{prefixCls:n,style:o,className:s,checked:a,children:c,icon:l,onChange:u,onClick:f}=e,h=k(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:p,tag:m}=r.useContext(d.E_),v=p("tag",n),[g,y,b]=w(v),_=i()(v,"".concat(v,"-checkable"),{["".concat(v,"-checkable-checked")]:a},null==m?void 0:m.className,s,y,b);return g(r.createElement("span",Object.assign({},h,{ref:t,style:Object.assign(Object.assign({},o),null==m?void 0:m.style),className:_,onClick:e=>{null==u||u(!a),null==f||f(e)}}),l,r.createElement("span",null,c)))});var S=n(18536);let C=e=>(0,S.Z)(e,(t,n)=>{let{textColor:r,lightBorderColor:o,lightColor:i,darkColor:s}=n;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(t)]:{color:r,background:i,borderColor:o,"&-inverse":{color:e.colorTextLightSolid,background:s,borderColor:s},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var x=(0,v.bk)(["Tag","preset"],e=>C(y(e)),b);let j=(e,t,n)=>{let r="string"!=typeof n?n:n.charAt(0).toUpperCase()+n.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(t)]:{color:e["color".concat(n)],background:e["color".concat(r,"Bg")],borderColor:e["color".concat(r,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var O=(0,v.bk)(["Tag","status"],e=>{let t=y(e);return[j(t,"success","Success"),j(t,"processing","Info"),j(t,"error","Error"),j(t,"warning","Warning")]},b),E=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let R=r.forwardRef((e,t)=>{let{prefixCls:n,className:o,rootClassName:f,style:h,children:p,icon:m,color:v,onClose:g,bordered:y=!0,visible:b}=e,k=E(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:_,direction:S,tag:C}=r.useContext(d.E_),[j,R]=r.useState(!0),z=(0,s.Z)(k,["closeIcon","closable"]);r.useEffect(()=>{void 0!==b&&R(b)},[b]);let Z=(0,a.o2)(v),L=(0,a.yT)(v),M=Z||L,F=Object.assign(Object.assign({backgroundColor:v&&!M?v:void 0},null==C?void 0:C.style),h),B=_("tag",n),[N,P,I]=w(B),T=i()(B,null==C?void 0:C.className,{["".concat(B,"-").concat(v)]:M,["".concat(B,"-has-color")]:v&&!M,["".concat(B,"-hidden")]:!j,["".concat(B,"-rtl")]:"rtl"===S,["".concat(B,"-borderless")]:!y},o,f,P,I),W=e=>{e.stopPropagation(),null==g||g(e),e.defaultPrevented||R(!1)},[,A]=(0,c.b)((0,c.w)(e),(0,c.w)(C),{closable:!1,closeIconRender:e=>{let t=r.createElement("span",{className:"".concat(B,"-close-icon"),onClick:W},e);return(0,l.wm)(e,t,e=>({onClick:t=>{var n;null===(n=null==e?void 0:e.onClick)||void 0===n||n.call(e,t),W(t)},className:i()(null==e?void 0:e.className,"".concat(B,"-close-icon"))}))}}),H="function"==typeof k.onClick||p&&"a"===p.type,V=m||null,D=V?r.createElement(r.Fragment,null,V,p&&r.createElement("span",null,p)):p,q=r.createElement("span",Object.assign({},z,{ref:t,className:T,style:F}),D,A,Z&&r.createElement(x,{key:"preset",prefixCls:B}),L&&r.createElement(O,{key:"status",prefixCls:B}));return N(H?r.createElement(u.Z,{component:"Tag"},q):q)});R.CheckableTag=_;var z=R},30401:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},32489:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},24601:function(){},18975:function(e,t,n){"use strict";var r=n(40257);n(24601);var o=n(2265),i=o&&"object"==typeof o&&"default"in o?o:{default:o},s=void 0!==r&&r.env&&!0,a=function(e){return"[object String]"===Object.prototype.toString.call(e)},c=function(){function e(e){var t=void 0===e?{}:e,n=t.name,r=void 0===n?"stylesheet":n,o=t.optimizeForSpeed,i=void 0===o?s:o;l(a(r),"`name` must be a string"),this._name=r,this._deletedRulePlaceholder="#"+r+"-deleted-rule____{}",l("boolean"==typeof i,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=i,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var c="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=c?c.getAttribute("content"):null}var t=e.prototype;return t.setOptimizeForSpeed=function(e){l("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),l(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(l(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(s||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,n){return"number"==typeof n?e._serverSheet.cssRules[n]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),n},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t>>0},d={};function f(e,t){if(!t)return"jsx-"+e;var n=String(t),r=e+n;return d[r]||(d[r]="jsx-"+u(e+"-"+n)),d[r]}function h(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var n=e+t;return d[n]||(d[n]=t.replace(/__jsx-style-dynamic-selector/g,e)),d[n]}var p=function(){function e(e){var t=void 0===e?{}:e,n=t.styleSheet,r=void 0===n?null:n,o=t.optimizeForSpeed,i=void 0!==o&&o;this._sheet=r||new c({name:"styled-jsx",optimizeForSpeed:i}),this._sheet.inject(),r&&"boolean"==typeof i&&(this._sheet.setOptimizeForSpeed(i),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var n=this.getIdAndRules(e),r=n.styleId,o=n.rules;if(r in this._instancesCounts){this._instancesCounts[r]+=1;return}var i=o.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[r]=i,this._instancesCounts[r]=1},t.remove=function(e){var t=this,n=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(n in this._instancesCounts,"styleId: `"+n+"` not found"),this._instancesCounts[n]-=1,this._instancesCounts[n]<1){var r=this._fromServer&&this._fromServer[n];r?(r.parentNode.removeChild(r),delete this._fromServer[n]):(this._indices[n].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[n]),delete this._instancesCounts[n]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],n=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return n[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,n;return t=this.cssRules(),void 0===(n=e)&&(n={}),t.map(function(e){var t=e[0],r=e[1];return i.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:n.nonce?n.nonce:void 0,dangerouslySetInnerHTML:{__html:r}})})},t.getIdAndRules=function(e){var t=e.children,n=e.dynamic,r=e.id;if(n){var o=f(r,n);return{styleId:o,rules:Array.isArray(t)?t.map(function(e){return h(o,e)}):[h(o,t)]}}return{styleId:f(r),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),m=o.createContext(null);m.displayName="StyleSheetContext";var v=i.default.useInsertionEffect||i.default.useLayoutEffect,g="undefined"!=typeof window?new p:void 0;function y(e){var t=g||o.useContext(m);return t&&("undefined"==typeof window?t.add(e):v(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}y.dynamic=function(e){return e.map(function(e){return f(e[0],e[1])}).join(" ")},t.style=y},29:function(e,t,n){"use strict";e.exports=n(18975).style},10900:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=o},91777:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"}))});t.Z=o},86462:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});t.Z=o},47686:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});t.Z=o},44633:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=o},82182:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}))});t.Z=o},79814:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"}))});t.Z=o},93416:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});t.Z=o},77355:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},22452:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"}))});t.Z=o},25327:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"}))});t.Z=o},49084:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});t.Z=o},3497:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"}))});t.Z=o}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/170-d1d99a90b9aab334.js b/litellm/proxy/_experimental/out/_next/static/chunks/170-d1d99a90b9aab334.js deleted file mode 100644 index 4c84aa0159..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/170-d1d99a90b9aab334.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[170],{1309:function(e,l,a){a.d(l,{C:function(){return t.Z}});var t=a(41649)},60170:function(e,l,a){a.d(l,{Z:function(){return lA}});var t,i,r,s,n=a(57437),o=a(2265),d=a(78489),c=a(12485),u=a(18135),m=a(35242),x=a(29706),p=a(77991),h=a(19250),g=a(57840),f=a(37592),j=a(15690),v=a(10032),y=a(3810),_=a(22116),b=a(64504);(t=r||(r={})).PresidioPII="Presidio PII",t.Bedrock="Bedrock Guardrail",t.Lakera="Lakera";let N={},w=e=>{let l={};return l.PresidioPII="Presidio PII",l.Bedrock="Bedrock Guardrail",l.Lakera="Lakera",Object.entries(e).forEach(e=>{let[a,t]=e;t&&"object"==typeof t&&"ui_friendly_name"in t&&(l[a.split("_").map((e,l)=>e.charAt(0).toUpperCase()+e.slice(1)).join("")]=t.ui_friendly_name)}),N=l,l},k=()=>Object.keys(N).length>0?N:r,C={PresidioPII:"presidio",Bedrock:"bedrock",Lakera:"lakera_v2",LitellmContentFilter:"litellm_content_filter",ToolPermission:"tool_permission"},S=e=>{Object.entries(e).forEach(e=>{let[l,a]=e;a&&"object"==typeof a&&"ui_friendly_name"in a&&(C[l.split("_").map((e,l)=>e.charAt(0).toUpperCase()+e.slice(1)).join("")]=l)})},Z=e=>!!e&&"Presidio PII"===k()[e],P=e=>!!e&&"LiteLLM Content Filter"===k()[e],O="../ui/assets/logos/",I={"Presidio PII":"".concat(O,"presidio.png"),"Bedrock Guardrail":"".concat(O,"bedrock.svg"),Lakera:"".concat(O,"lakeraai.jpeg"),"Azure Content Safety Prompt Shield":"".concat(O,"presidio.png"),"Azure Content Safety Text Moderation":"".concat(O,"presidio.png"),"Aporia AI":"".concat(O,"aporia.png"),"PANW Prisma AIRS":"".concat(O,"palo_alto_networks.jpeg"),"Noma Security":"".concat(O,"noma_security.png"),"Javelin Guardrails":"".concat(O,"javelin.png"),"Pillar Guardrail":"".concat(O,"pillar.jpeg"),"Google Cloud Model Armor":"".concat(O,"google.svg"),"Guardrails AI":"".concat(O,"guardrails_ai.jpeg"),"Lasso Guardrail":"".concat(O,"lasso.png"),"Pangea Guardrail":"".concat(O,"pangea.png"),"AIM Guardrail":"".concat(O,"aim_security.jpeg"),"OpenAI Moderation":"".concat(O,"openai_small.svg"),EnkryptAI:"".concat(O,"enkrypt_ai.avif"),"Prompt Security":"".concat(O,"prompt_security.png"),"LiteLLM Content Filter":"".concat(O,"litellm_logo.jpg")},A=e=>{if(!e)return{logo:"",displayName:"-"};let l=Object.keys(C).find(l=>C[l].toLowerCase()===e.toLowerCase());if(!l)return{logo:"",displayName:e};let a=k()[l];return{logo:I[a]||"",displayName:a||e}};var L=a(99981),E=a(5545),T=a(61994),z=a(97416),B=a(8881),G=a(10798),F=a(49638);let{Text:M}=g.default,{Option:K}=f.default,D=e=>e.replace(/_/g," "),R=e=>{switch(e){case"MASK":return(0,n.jsx)(z.Z,{style:{marginRight:4}});case"BLOCK":return(0,n.jsx)(B.Z,{style:{marginRight:4}});default:return null}},J=e=>{let{categories:l,selectedCategories:a,onChange:t}=e;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center mb-2",children:[(0,n.jsx)(G.Z,{className:"text-gray-500 mr-1"}),(0,n.jsx)(M,{className:"text-gray-500 font-medium",children:"Filter by category"})]}),(0,n.jsx)(f.default,{mode:"multiple",placeholder:"Select categories to filter by",style:{width:"100%"},onChange:t,value:a,allowClear:!0,showSearch:!0,optionFilterProp:"children",className:"mb-4",tagRender:e=>(0,n.jsx)(y.Z,{color:"blue",closable:e.closable,onClose:e.onClose,className:"mr-2 mb-2",children:e.label}),children:l.map(e=>(0,n.jsx)(K,{value:e.category,children:e.category},e.category))})]})},V=e=>{let{onSelectAll:l,onUnselectAll:a,hasSelectedEntities:t}=e;return(0,n.jsxs)("div",{className:"bg-gray-50 p-5 rounded-lg mb-6 border border-gray-200 shadow-sm",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)(M,{strong:!0,className:"text-gray-700 text-base",children:"Quick Actions"}),(0,n.jsx)(L.Z,{title:"Apply action to all PII types at once",children:(0,n.jsx)("div",{className:"ml-2 text-gray-400 cursor-help text-xs",children:"ⓘ"})})]}),(0,n.jsx)(E.ZP,{color:"danger",variant:"outlined",onClick:a,disabled:!t,icon:(0,n.jsx)(F.Z,{}),children:"Unselect All"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsx)(E.ZP,{color:"primary",variant:"outlined",onClick:()=>l("MASK"),className:"h-10",block:!0,icon:(0,n.jsx)(z.Z,{}),children:"Select All & Mask"}),(0,n.jsx)(E.ZP,{color:"danger",variant:"outlined",onClick:()=>l("BLOCK"),className:"h-10 hover:bg-red-100",block:!0,icon:(0,n.jsx)(B.Z,{}),children:"Select All & Block"})]})]})},U=e=>{let{entities:l,selectedEntities:a,selectedActions:t,actions:i,onEntitySelect:r,onActionSelect:s,entityToCategoryMap:o}=e;return(0,n.jsxs)("div",{className:"border rounded-lg overflow-hidden shadow-sm",children:[(0,n.jsxs)("div",{className:"bg-gray-50 px-5 py-3 border-b flex",children:[(0,n.jsx)(M,{strong:!0,className:"flex-1 text-gray-700",children:"PII Type"}),(0,n.jsx)(M,{strong:!0,className:"w-32 text-right text-gray-700",children:"Action"})]}),(0,n.jsx)("div",{className:"max-h-[400px] overflow-y-auto",children:0===l.length?(0,n.jsx)("div",{className:"py-10 text-center text-gray-500",children:"No PII types match your filter criteria"}):l.map(e=>(0,n.jsxs)("div",{className:"px-5 py-3 flex items-center justify-between hover:bg-gray-50 border-b ".concat(a.includes(e)?"bg-blue-50":""),children:[(0,n.jsxs)("div",{className:"flex items-center flex-1",children:[(0,n.jsx)(T.Z,{checked:a.includes(e),onChange:()=>r(e),className:"mr-3"}),(0,n.jsx)(M,{className:a.includes(e)?"font-medium text-gray-900":"text-gray-700",children:D(e)}),o.get(e)&&(0,n.jsx)(y.Z,{className:"ml-2 text-xs",color:"blue",children:o.get(e)})]}),(0,n.jsx)("div",{className:"w-32",children:(0,n.jsx)(f.default,{value:a.includes(e)&&t[e]||"MASK",onChange:l=>s(e,l),style:{width:120},disabled:!a.includes(e),className:"".concat(a.includes(e)?"":"opacity-50"),dropdownMatchSelectWidth:!1,children:i.map(e=>(0,n.jsx)(K,{value:e,children:(0,n.jsxs)("div",{className:"flex items-center",children:[R(e),e]})},e))})})]},e))})]})},{Title:q,Text:W}=g.default;var Y=e=>{let{entities:l,actions:a,selectedEntities:t,selectedActions:i,onEntitySelect:r,onActionSelect:s,entityCategories:d=[]}=e,[c,u]=(0,o.useState)([]),m=new Map;d.forEach(e=>{e.entities.forEach(l=>{m.set(l,e.category)})});let x=l.filter(e=>0===c.length||c.includes(m.get(e)||""));return(0,n.jsxs)("div",{className:"pii-configuration",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-5",children:[(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsx)(q,{level:4,className:"!m-0 font-semibold text-gray-800",children:"Configure PII Protection"})}),(0,n.jsxs)(W,{className:"text-gray-500",children:[t.length," items selected"]})]}),(0,n.jsxs)("div",{className:"mb-6",children:[(0,n.jsx)(J,{categories:d,selectedCategories:c,onChange:u}),(0,n.jsx)(V,{onSelectAll:e=>{l.forEach(l=>{t.includes(l)||r(l),s(l,e)})},onUnselectAll:()=>{t.forEach(e=>{r(e)})},hasSelectedEntities:t.length>0})]}),(0,n.jsx)(U,{entities:x,selectedEntities:t,selectedActions:i,actions:a,onEntitySelect:r,onActionSelect:s,entityToCategoryMap:m})]})},H=a(10353),$=a(31283),Q=a(24199),X=e=>{var l;let{selectedProvider:a,accessToken:t,providerParams:i=null,value:r=null}=e,[s,d]=(0,o.useState)(!1),[c,u]=(0,o.useState)(i),[m,x]=(0,o.useState)(null);if((0,o.useEffect)(()=>{if(i){u(i);return}let e=async()=>{if(t){d(!0),x(null);try{let e=await (0,h.getGuardrailProviderSpecificParams)(t);console.log("Provider params API response:",e),u(e),w(e),S(e)}catch(e){console.error("Error fetching provider params:",e),x("Failed to load provider parameters")}finally{d(!1)}}};i||e()},[t,i]),!a)return null;if(s)return(0,n.jsx)(H.Z,{tip:"Loading provider parameters..."});if(m)return(0,n.jsx)("div",{className:"text-red-500",children:m});let p=null===(l=C[a])||void 0===l?void 0:l.toLowerCase(),g=c&&c[p];if(console.log("Provider key:",p),console.log("Provider fields:",g),!g||0===Object.keys(g).length)return(0,n.jsx)("div",{children:"No configuration fields available for this provider."});console.log("Value:",r);let j=function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2?arguments[2]:void 0;return Object.entries(e).map(e=>{let[t,i]=e,s=l?"".concat(l,".").concat(t):t,o=a?a[t]:null==r?void 0:r[t];return(console.log("Field value:",o),"ui_friendly_name"===t||"optional_params"===t&&"nested"===i.type&&i.fields)?null:"nested"===i.type&&i.fields?(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-2 font-medium",children:t}),(0,n.jsx)("div",{className:"ml-4 border-l-2 border-gray-200 pl-4",children:j(i.fields,s,o)})]},s):(0,n.jsx)(v.Z.Item,{name:s,label:t,tooltip:i.description,rules:i.required?[{required:!0,message:"".concat(t," is required")}]:void 0,children:"select"===i.type&&i.options?(0,n.jsx)(f.default,{placeholder:i.description,defaultValue:o||i.default_value,children:i.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"multiselect"===i.type&&i.options?(0,n.jsx)(f.default,{mode:"multiple",placeholder:i.description,defaultValue:o||i.default_value,children:i.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"bool"===i.type||"boolean"===i.type?(0,n.jsxs)(f.default,{placeholder:i.description,defaultValue:void 0!==o?String(o):i.default_value,children:[(0,n.jsx)(f.default.Option,{value:"true",children:"True"}),(0,n.jsx)(f.default.Option,{value:"false",children:"False"})]}):"number"===i.type?(0,n.jsx)(Q.Z,{step:1,width:400,placeholder:i.description,defaultValue:void 0!==o?Number(o):void 0}):t.includes("password")||t.includes("secret")||t.includes("key")?(0,n.jsx)($.o,{placeholder:i.description,type:"password",defaultValue:o||""}):(0,n.jsx)($.o,{placeholder:i.description,type:"text",defaultValue:o||""})},s)})};return(0,n.jsx)(n.Fragment,{children:j(g)})};let{Title:ee}=g.default,el=e=>{let{field:l,fieldKey:a,fullFieldKey:t,value:i}=e,[r,s]=o.useState([]),[d,c]=o.useState(l.dict_key_options||[]);o.useEffect(()=>{if(i&&"object"==typeof i){let e=Object.keys(i);s(e.map(e=>({key:e,id:"".concat(e,"_").concat(Date.now(),"_").concat(Math.random())}))),c((l.dict_key_options||[]).filter(l=>!e.includes(l)))}},[i,l.dict_key_options]);let u=e=>{e&&(s([...r,{key:e,id:"".concat(e,"_").concat(Date.now())}]),c(d.filter(l=>l!==e)))},m=(e,l)=>{s(r.filter(l=>l.id!==e)),c([...d,l].sort())};return(0,n.jsxs)("div",{className:"space-y-3",children:[r.map(e=>(0,n.jsxs)("div",{className:"flex items-center space-x-3 p-3 border rounded-lg",children:[(0,n.jsx)("div",{className:"w-24 font-medium text-sm",children:e.key}),(0,n.jsx)("div",{className:"flex-1",children:(0,n.jsx)(v.Z.Item,{name:Array.isArray(t)?[...t,e.key]:[t,e.key],style:{marginBottom:0},initialValue:i&&"object"==typeof i?i[e.key]:void 0,normalize:"number"===l.dict_value_type?e=>{if(null==e||""===e)return;let l=Number(e);return isNaN(l)?e:l}:void 0,children:"number"===l.dict_value_type?(0,n.jsx)(Q.Z,{step:1,width:200,placeholder:"Enter ".concat(e.key," value")}):"boolean"===l.dict_value_type?(0,n.jsxs)(f.default,{placeholder:"Select ".concat(e.key," value"),children:[(0,n.jsx)(f.default.Option,{value:!0,children:"True"}),(0,n.jsx)(f.default.Option,{value:!1,children:"False"})]}):(0,n.jsx)($.o,{placeholder:"Enter ".concat(e.key," value"),type:"text"})})}),(0,n.jsx)("button",{type:"button",className:"text-red-500 hover:text-red-700 text-sm",onClick:()=>m(e.id,e.key),children:"Remove"})]},e.id)),d.length>0&&(0,n.jsxs)("div",{className:"flex items-center space-x-3 mt-2",children:[(0,n.jsx)(f.default,{placeholder:"Select category to configure",style:{width:200},onSelect:e=>e&&u(e),value:void 0,children:d.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}),(0,n.jsx)("span",{className:"text-sm text-gray-500",children:"Select a category to add threshold configuration"})]})]})};var ea=e=>{let{optionalParams:l,parentFieldKey:a,values:t}=e,i=(e,l)=>{let i="".concat(a,".").concat(e),r=null==t?void 0:t[e];return(console.log("value",r),"dict"===l.type&&l.dict_key_options)?(0,n.jsxs)("div",{className:"mb-8 p-6 bg-gray-50 rounded-lg border border-gray-200",children:[(0,n.jsx)("div",{className:"mb-4 font-medium text-gray-900 text-base",children:e}),(0,n.jsx)("p",{className:"text-sm text-gray-600 mb-4",children:l.description}),(0,n.jsx)(el,{field:l,fieldKey:e,fullFieldKey:[a,e],value:r})]},i):(0,n.jsx)("div",{className:"mb-8 p-6 bg-white rounded-lg border border-gray-200 shadow-sm",children:(0,n.jsx)(v.Z.Item,{name:[a,e],label:(0,n.jsxs)("div",{className:"mb-2",children:[(0,n.jsx)("div",{className:"font-medium text-gray-900 text-base",children:e}),(0,n.jsx)("p",{className:"text-sm text-gray-600 mt-1",children:l.description})]}),rules:l.required?[{required:!0,message:"".concat(e," is required")}]:void 0,className:"mb-0",initialValue:void 0!==r?r:l.default_value,normalize:"number"===l.type?e=>{if(null==e||""===e)return;let l=Number(e);return isNaN(l)?e:l}:void 0,children:"select"===l.type&&l.options?(0,n.jsx)(f.default,{placeholder:l.description,children:l.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"multiselect"===l.type&&l.options?(0,n.jsx)(f.default,{mode:"multiple",placeholder:l.description,children:l.options.map(e=>(0,n.jsx)(f.default.Option,{value:e,children:e},e))}):"bool"===l.type||"boolean"===l.type?(0,n.jsxs)(f.default,{placeholder:l.description,children:[(0,n.jsx)(f.default.Option,{value:"true",children:"True"}),(0,n.jsx)(f.default.Option,{value:"false",children:"False"})]}):"number"===l.type?(0,n.jsx)(Q.Z,{step:1,width:400,placeholder:l.description}):e.includes("password")||e.includes("secret")||e.includes("key")?(0,n.jsx)($.o,{placeholder:l.description,type:"password"}):(0,n.jsx)($.o,{placeholder:l.description,type:"text"})})},i)};return l.fields&&0!==Object.keys(l.fields).length?(0,n.jsxs)("div",{className:"guardrail-optional-params",children:[(0,n.jsxs)("div",{className:"mb-8 pb-4 border-b border-gray-100",children:[(0,n.jsx)(ee,{level:3,className:"mb-2 font-semibold text-gray-900",children:"Optional Parameters"}),(0,n.jsx)("p",{className:"text-gray-600 text-sm",children:l.description||"Configure additional settings for this guardrail provider"})]}),(0,n.jsx)("div",{className:"space-y-8",children:Object.entries(l.fields).map(e=>{let[l,a]=e;return i(l,a)})})]}):null},et=a(9114),ei=a(5945),er=a(58760),es=a(65319),en=a(96473),eo=a(3632),ed=a(16312);let{Text:ec}=g.default,{Option:eu}=f.default;var em=e=>{let{visible:l,prebuiltPatterns:a,categories:t,selectedPatternName:i,patternAction:r,onPatternNameChange:s,onActionChange:o,onAdd:d,onCancel:c}=e;return(0,n.jsxs)(_.Z,{title:"Add prebuilt pattern",open:l,onCancel:c,footer:null,width:800,children:[(0,n.jsxs)(er.Z,{direction:"vertical",style:{width:"100%"},size:"large",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(ec,{strong:!0,children:"Pattern type"}),(0,n.jsx)(f.default,{placeholder:"Choose pattern type",value:i,onChange:s,style:{width:"100%",marginTop:8},showSearch:!0,filterOption:(e,l)=>{let t=a.find(e=>e.name===(null==l?void 0:l.value));return!!t&&(t.display_name.toLowerCase().includes(e.toLowerCase())||t.name.toLowerCase().includes(e.toLowerCase()))},children:t.map(e=>{let l=a.filter(l=>l.category===e);return 0===l.length?null:(0,n.jsx)(f.default.OptGroup,{label:e,children:l.map(e=>(0,n.jsx)(eu,{value:e.name,children:e.display_name},e.name))},e)})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ec,{strong:!0,children:"Action"}),(0,n.jsx)(ec,{type:"secondary",style:{display:"block",marginTop:4,marginBottom:8},children:"Choose what action the guardrail should take when this pattern is detected"}),(0,n.jsxs)(f.default,{value:r,onChange:o,style:{width:"100%"},children:[(0,n.jsx)(eu,{value:"BLOCK",children:"Block"}),(0,n.jsx)(eu,{value:"MASK",children:"Mask"})]})]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"24px"},children:[(0,n.jsx)(ed.z,{variant:"secondary",onClick:c,children:"Cancel"}),(0,n.jsx)(ed.z,{onClick:d,children:"Add"})]})]})};let{Text:ex}=g.default,{Option:ep}=f.default;var eh=e=>{let{visible:l,patternName:a,patternRegex:t,patternAction:i,onNameChange:r,onRegexChange:s,onActionChange:o,onAdd:d,onCancel:c}=e;return(0,n.jsxs)(_.Z,{title:"Add custom regex pattern",open:l,onCancel:c,footer:null,width:800,children:[(0,n.jsxs)(er.Z,{direction:"vertical",style:{width:"100%"},size:"large",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(ex,{strong:!0,children:"Pattern name"}),(0,n.jsx)(b.o,{placeholder:"e.g., internal_id, employee_code",value:a,onValueChange:r,style:{marginTop:8}})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ex,{strong:!0,children:"Regex pattern"}),(0,n.jsx)(b.o,{placeholder:"e.g., ID-[0-9]{6}",value:t,onValueChange:s,style:{marginTop:8}}),(0,n.jsx)(ex,{type:"secondary",style:{fontSize:12},children:"Enter a valid regular expression to match sensitive data"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ex,{strong:!0,children:"Action"}),(0,n.jsx)(ex,{type:"secondary",style:{display:"block",marginTop:4,marginBottom:8},children:"Choose what action the guardrail should take when this pattern is detected"}),(0,n.jsxs)(f.default,{value:i,onChange:o,style:{width:"100%"},children:[(0,n.jsx)(ep,{value:"BLOCK",children:"Block"}),(0,n.jsx)(ep,{value:"MASK",children:"Mask"})]})]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"24px"},children:[(0,n.jsx)(b.z,{variant:"secondary",onClick:c,children:"Cancel"}),(0,n.jsx)(b.z,{onClick:d,children:"Add"})]})]})},eg=a(49566),ef=a(16853);let{Text:ej}=g.default,{Option:ev}=f.default;var ey=e=>{let{visible:l,keyword:a,action:t,description:i,onKeywordChange:r,onActionChange:s,onDescriptionChange:o,onAdd:c,onCancel:u}=e;return(0,n.jsxs)(_.Z,{title:"Add blocked keyword",open:l,onCancel:u,footer:null,width:800,children:[(0,n.jsxs)(er.Z,{direction:"vertical",style:{width:"100%"},size:"large",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(ej,{strong:!0,children:"Keyword"}),(0,n.jsx)(eg.Z,{placeholder:"Enter sensitive keyword or phrase",value:a,onValueChange:r,style:{marginTop:8}})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ej,{strong:!0,children:"Action"}),(0,n.jsx)(ej,{type:"secondary",style:{display:"block",marginTop:4,marginBottom:8},children:"Choose what action the guardrail should take when this keyword is detected"}),(0,n.jsxs)(f.default,{value:t,onChange:s,style:{width:"100%"},children:[(0,n.jsx)(ev,{value:"BLOCK",children:"Block"}),(0,n.jsx)(ev,{value:"MASK",children:"Mask"})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ej,{strong:!0,children:"Description (optional)"}),(0,n.jsx)(ef.Z,{placeholder:"Explain why this keyword is sensitive",value:i,onValueChange:o,rows:3,style:{marginTop:8}})]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"24px"},children:[(0,n.jsx)(d.Z,{variant:"secondary",onClick:u,children:"Cancel"}),(0,n.jsx)(d.Z,{onClick:c,children:"Add"})]})]})},e_=a(56609),eb=a(26349);let{Text:eN}=g.default,{Option:ew}=f.default;var ek=e=>{let{patterns:l,onActionChange:a,onRemove:t}=e,i=[{title:"Type",dataIndex:"type",key:"type",width:100,render:e=>(0,n.jsx)(y.Z,{color:"prebuilt"===e?"blue":"green",children:"prebuilt"===e?"Prebuilt":"Custom"})},{title:"Pattern name",dataIndex:"name",key:"name",render:(e,l)=>l.display_name||l.name},{title:"Regex pattern",dataIndex:"pattern",key:"pattern",render:e=>e?(0,n.jsxs)(eN,{code:!0,style:{fontSize:12},children:[e.substring(0,40),"..."]}):"-"},{title:"Action",dataIndex:"action",key:"action",width:150,render:(e,l)=>(0,n.jsxs)(f.default,{value:e,onChange:e=>a(l.id,e),style:{width:120},size:"small",children:[(0,n.jsx)(ew,{value:"BLOCK",children:"Block"}),(0,n.jsx)(ew,{value:"MASK",children:"Mask"})]})},{title:"",key:"actions",width:100,render:(e,l)=>(0,n.jsx)(ed.z,{type:"button",variant:"light",color:"red",size:"xs",icon:eb.Z,onClick:()=>t(l.id),children:"Delete"})}];return 0===l.length?(0,n.jsx)("div",{style:{textAlign:"center",padding:"40px 0",color:"#999"},children:"No patterns added."}):(0,n.jsx)(e_.Z,{dataSource:l,columns:i,rowKey:"id",pagination:!1,size:"small"})};let{Text:eC}=g.default,{Option:eS}=f.default;var eZ=e=>{let{keywords:l,onActionChange:a,onRemove:t}=e,i=[{title:"Keyword",dataIndex:"keyword",key:"keyword"},{title:"Action",dataIndex:"action",key:"action",width:150,render:(e,l)=>(0,n.jsxs)(f.default,{value:e,onChange:e=>a(l.id,"action",e),style:{width:120},size:"small",children:[(0,n.jsx)(eS,{value:"BLOCK",children:"Block"}),(0,n.jsx)(eS,{value:"MASK",children:"Mask"})]})},{title:"Description",dataIndex:"description",key:"description",render:e=>e||"-"},{title:"",key:"actions",width:100,render:(e,l)=>(0,n.jsx)(ed.z,{type:"button",variant:"light",color:"red",size:"xs",icon:eb.Z,onClick:()=>t(l.id),children:"Delete"})}];return 0===l.length?(0,n.jsx)("div",{style:{textAlign:"center",padding:"40px 0",color:"#999"},children:"No keywords added."}):(0,n.jsx)(e_.Z,{dataSource:l,columns:i,rowKey:"id",pagination:!1,size:"small"})};let{Title:eP,Text:eO}=g.default;var eI=e=>{let{prebuiltPatterns:l,categories:a,selectedPatterns:t,blockedWords:i,onPatternAdd:r,onPatternRemove:s,onPatternActionChange:d,onBlockedWordAdd:c,onBlockedWordRemove:u,onBlockedWordUpdate:m,onFileUpload:x,accessToken:p,showStep:g}=e,[f,j]=(0,o.useState)(!1),[v,y]=(0,o.useState)(!1),[_,b]=(0,o.useState)(!1),[N,w]=(0,o.useState)(""),[k,C]=(0,o.useState)("BLOCK"),[S,Z]=(0,o.useState)(""),[P,O]=(0,o.useState)(""),[I,A]=(0,o.useState)("BLOCK"),[L,E]=(0,o.useState)(""),[T,z]=(0,o.useState)("BLOCK"),[B,G]=(0,o.useState)(""),[F,M]=(0,o.useState)(!1),K=async e=>{M(!0);try{let l=await e.text();if(p){let e=await (0,h.validateBlockedWordsFile)(p,l);if(e.valid)x&&x(l),et.Z.success(e.message||"File uploaded successfully");else{let l=e.error||e.errors&&e.errors.join(", ")||"Invalid file";et.Z.error("Validation failed: ".concat(l))}}}catch(e){et.Z.error("Failed to upload file: ".concat(e))}finally{M(!1)}return!1};return(0,n.jsxs)("div",{className:"space-y-6",children:[!g&&(0,n.jsx)("div",{children:(0,n.jsx)(eO,{type:"secondary",children:"Configure patterns and keywords to detect and filter sensitive information in requests and responses."})}),(!g||"patterns"===g)&&(0,n.jsxs)(ei.Z,{title:(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsx)(eP,{level:5,style:{margin:0},children:"Pattern Detection"}),(0,n.jsx)(eO,{type:"secondary",style:{fontSize:14,fontWeight:400},children:"Detect sensitive information using regex patterns (SSN, credit cards, API keys, etc.)"})]}),size:"small",children:[(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)(er.Z,{children:[(0,n.jsx)(ed.z,{type:"button",onClick:()=>j(!0),icon:en.Z,children:"Add prebuilt pattern"}),(0,n.jsx)(ed.z,{type:"button",onClick:()=>b(!0),variant:"secondary",icon:en.Z,children:"Add custom regex"})]})}),(0,n.jsx)(ek,{patterns:t,onActionChange:d,onRemove:s})]}),(!g||"keywords"===g)&&(0,n.jsxs)(ei.Z,{title:(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsx)(eP,{level:5,style:{margin:0},children:"Blocked Keywords"}),(0,n.jsx)(eO,{type:"secondary",style:{fontSize:14,fontWeight:400},children:"Block or mask specific sensitive terms and phrases"})]}),size:"small",children:[(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)(er.Z,{children:[(0,n.jsx)(ed.z,{type:"button",onClick:()=>y(!0),icon:en.Z,children:"Add keyword"}),(0,n.jsx)(es.default,{beforeUpload:K,accept:".yaml,.yml",showUploadList:!1,children:(0,n.jsx)(ed.z,{type:"button",variant:"secondary",icon:eo.Z,loading:F,children:"Upload YAML file"})})]})}),(0,n.jsx)(eZ,{keywords:i,onActionChange:m,onRemove:u})]}),(0,n.jsx)(em,{visible:f,prebuiltPatterns:l,categories:a,selectedPatternName:N,patternAction:k,onPatternNameChange:w,onActionChange:e=>C(e),onAdd:()=>{if(!N){et.Z.error("Please select a pattern");return}let e=l.find(e=>e.name===N);r({id:"pattern-".concat(Date.now()),type:"prebuilt",name:N,display_name:null==e?void 0:e.display_name,action:k}),j(!1),w(""),C("BLOCK")},onCancel:()=>{j(!1),w(""),C("BLOCK")}}),(0,n.jsx)(eh,{visible:_,patternName:S,patternRegex:P,patternAction:I,onNameChange:Z,onRegexChange:O,onActionChange:e=>A(e),onAdd:()=>{if(!S||!P){et.Z.error("Please provide pattern name and regex");return}r({id:"custom-".concat(Date.now()),type:"custom",name:S,pattern:P,action:I}),b(!1),Z(""),O(""),A("BLOCK")},onCancel:()=>{b(!1),Z(""),O(""),A("BLOCK")}}),(0,n.jsx)(ey,{visible:v,keyword:L,action:T,description:B,onKeywordChange:E,onActionChange:e=>z(e),onDescriptionChange:G,onAdd:()=>{if(!L){et.Z.error("Please enter a keyword");return}c({id:"word-".concat(Date.now()),keyword:L,action:T,description:B||void 0}),y(!1),E(""),G(""),z("BLOCK")},onCancel:()=>{y(!1),E(""),G(""),z("BLOCK")}})]})},eA=a(78801),eL=a(4260),eE=a(23496),eT=a(85180),ez=a(15424);let eB={rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""},eG=e=>({...eB,...e||{},rules:(null==e?void 0:e.rules)?[...e.rules]:[]});var eF=e=>{let{value:l,onChange:a,disabled:t=!1}=e,i=eG(l),r=e=>{let l={...i,...e};null==a||a(l)},s=(e,l)=>{r({rules:i.rules.map((a,t)=>t===e?{...a,...l}:a)})},o=e=>{r({rules:i.rules.filter((l,a)=>a!==e)})},d=(e,l)=>{let a=i.rules[e];if(!a)return;let t=Object.entries(a.allowed_param_patterns||{});l(t);let r={};t.forEach(e=>{let[l,a]=e;r[l]=a}),s(e,{allowed_param_patterns:Object.keys(r).length>0?r:void 0})},c=(e,l,a)=>{d(e,e=>{if(!e[l])return;let[,t]=e[l];e[l]=[a,t]})},u=(e,l,a)=>{d(e,e=>{if(!e[l])return;let[t]=e[l];e[l]=[t,a]})},m=(e,l)=>{let a=Object.entries(e.allowed_param_patterns||{});return 0===a.length?(0,n.jsx)(E.ZP,{disabled:t,size:"small",onClick:()=>s(l,{allowed_param_patterns:{"":""}}),children:"+ Restrict tool arguments (optional)"}):(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(eA.x,{className:"text-sm text-gray-600",children:"Argument constraints (dot or array paths)"}),a.map((a,i)=>{let[r,s]=a;return(0,n.jsxs)(er.Z,{align:"start",children:[(0,n.jsx)(eL.default,{disabled:t,placeholder:"messages[0].content",value:r,onChange:e=>c(l,i,e.target.value)}),(0,n.jsx)(eL.default,{disabled:t,placeholder:"^email@.*$",value:s,onChange:e=>u(l,i,e.target.value)}),(0,n.jsx)(E.ZP,{disabled:t,icon:(0,n.jsx)(eb.Z,{}),danger:!0,onClick:()=>d(l,e=>{e.splice(i,1)})})]},"".concat(e.id||l,"-").concat(i))}),(0,n.jsx)(E.ZP,{disabled:t,size:"small",onClick:()=>s(l,{allowed_param_patterns:{...e.allowed_param_patterns||{},"":""}}),children:"+ Add another constraint"})]})};return(0,n.jsxs)(eA.Z,{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(eA.x,{className:"text-lg font-semibold",children:"LiteLLM Tool Permission Guardrail"}),(0,n.jsx)(eA.x,{className:"text-sm text-gray-500",children:"Provide regex patterns (e.g., ^mcp__github_.*$) for tool names or types and optionally constrain payload fields."})]}),!t&&(0,n.jsx)(E.ZP,{icon:(0,n.jsx)(en.Z,{}),type:"primary",onClick:()=>{r({rules:[...i.rules,{id:"rule_".concat(Math.random().toString(36).slice(2,8)),decision:"allow",allowed_param_patterns:void 0}]})},className:"!bg-blue-600 !text-white hover:!bg-blue-500",children:"Add Rule"})]}),(0,n.jsx)(eE.Z,{}),0===i.rules.length?(0,n.jsx)(eT.Z,{description:"No tool rules added yet"}):(0,n.jsx)("div",{className:"space-y-4",children:i.rules.map((e,l)=>{var a,i;return(0,n.jsxs)(eA.Z,{className:"bg-gray-50",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsxs)(eA.x,{className:"font-semibold",children:["Rule ",l+1]}),(0,n.jsx)(E.ZP,{icon:(0,n.jsx)(eb.Z,{}),danger:!0,type:"text",disabled:t,onClick:()=>o(l),children:"Remove"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(eA.x,{className:"text-sm font-medium",children:"Rule ID"}),(0,n.jsx)(eL.default,{disabled:t,placeholder:"unique_rule_id",value:e.id,onChange:e=>s(l,{id:e.target.value})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(eA.x,{className:"text-sm font-medium",children:"Tool Name (optional)"}),(0,n.jsx)(eL.default,{disabled:t,placeholder:"^mcp__github_.*$",value:null!==(a=e.tool_name)&&void 0!==a?a:"",onChange:e=>s(l,{tool_name:""===e.target.value.trim()?void 0:e.target.value})})]})]}),(0,n.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 mt-4",children:(0,n.jsxs)("div",{children:[(0,n.jsx)(eA.x,{className:"text-sm font-medium",children:"Tool Type (optional)"}),(0,n.jsx)(eL.default,{disabled:t,placeholder:"^function$",value:null!==(i=e.tool_type)&&void 0!==i?i:"",onChange:e=>s(l,{tool_type:""===e.target.value.trim()?void 0:e.target.value})})]})}),(0,n.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[(0,n.jsx)(eA.x,{className:"text-sm font-medium",children:"Decision"}),(0,n.jsxs)(f.default,{disabled:t,value:e.decision,style:{width:200},onChange:e=>s(l,{decision:e}),children:[(0,n.jsx)(f.default.Option,{value:"allow",children:"Allow"}),(0,n.jsx)(f.default.Option,{value:"deny",children:"Deny"})]})]}),(0,n.jsx)("div",{className:"mt-4",children:m(e,l)})]},e.id||l)})}),(0,n.jsx)(eE.Z,{}),(0,n.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(eA.x,{className:"text-sm font-medium",children:"Default action"}),(0,n.jsxs)(f.default,{disabled:t,value:i.default_action,onChange:e=>r({default_action:e}),children:[(0,n.jsx)(f.default.Option,{value:"allow",children:"Allow"}),(0,n.jsx)(f.default.Option,{value:"deny",children:"Deny"})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)(eA.x,{className:"text-sm font-medium flex items-center gap-1",children:["On disallowed action",(0,n.jsx)(L.Z,{title:"Block returns an error when a forbidden tool is invoked. Rewrite strips the tool call but lets the rest of the response continue.",children:(0,n.jsx)(ez.Z,{})})]}),(0,n.jsxs)(f.default,{disabled:t,value:i.on_disallowed_action,onChange:e=>r({on_disallowed_action:e}),children:[(0,n.jsx)(f.default.Option,{value:"block",children:"Block"}),(0,n.jsx)(f.default.Option,{value:"rewrite",children:"Rewrite"})]})]})]}),(0,n.jsxs)("div",{className:"mt-4",children:[(0,n.jsx)(eA.x,{className:"text-sm font-medium",children:"Violation message (optional)"}),(0,n.jsx)(eL.default.TextArea,{disabled:t,rows:3,placeholder:"This violates our org policy...",value:i.violation_message_template,onChange:e=>r({violation_message_template:e.target.value})})]})]})};let{Title:eM,Text:eK,Link:eD}=g.default,{Option:eR}=f.default,{Step:eJ}=j.default,eV={pre_call:"Before LLM Call - Runs before the LLM call and checks the input (Recommended)",during_call:"During LLM Call - Runs in parallel with the LLM call, with response held until check completes",post_call:"After LLM Call - Runs after the LLM call and checks only the output",logging_only:"Logging Only - Only runs on logging callbacks without affecting the LLM call",pre_mcp_call:"Before MCP Tool Call - Runs before MCP tool execution and validates tool calls",during_mcp_call:"During MCP Tool Call - Runs in parallel with MCP tool execution for monitoring"};var eU=e=>{let{visible:l,onClose:a,accessToken:t,onSuccess:i}=e,[r]=v.Z.useForm(),[s,d]=(0,o.useState)(!1),[c,u]=(0,o.useState)(null),[m,x]=(0,o.useState)(null),[p,g]=(0,o.useState)([]),[N,O]=(0,o.useState)({}),[A,L]=(0,o.useState)(0),[E,T]=(0,o.useState)(null),[z,B]=(0,o.useState)([]),[G,F]=(0,o.useState)(2),[M,K]=(0,o.useState)({}),[D,R]=(0,o.useState)([]),[J,V]=(0,o.useState)([]),[U,q]=(0,o.useState)({rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""}),W=(0,o.useMemo)(()=>!!c&&"tool_permission"===(C[c]||"").toLowerCase(),[c]);(0,o.useEffect)(()=>{t&&(async()=>{try{let[e,l]=await Promise.all([(0,h.getGuardrailUISettings)(t),(0,h.getGuardrailProviderSpecificParams)(t)]);x(e),T(l),w(l),S(l)}catch(e){console.error("Error fetching guardrail data:",e),et.Z.fromBackend("Failed to load guardrail configuration")}})()},[t]);let H=e=>{u(e),r.setFieldsValue({config:void 0,presidio_analyzer_api_base:void 0,presidio_anonymizer_api_base:void 0}),g([]),O({}),B([]),F(2),K({}),q({rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""})},$=e=>{g(l=>l.includes(e)?l.filter(l=>l!==e):[...l,e])},Q=(e,l)=>{O(a=>({...a,[e]:l}))},ee=async()=>{try{if(0===A&&(await r.validateFields(["guardrail_name","provider","mode","default_on"]),c)){let e=["guardrail_name","provider","mode","default_on"];"PresidioPII"===c&&e.push("presidio_analyzer_api_base","presidio_anonymizer_api_base"),await r.validateFields(e)}if(1===A&&Z(c)&&0===p.length){et.Z.fromBackend("Please select at least one PII entity to continue");return}L(A+1)}catch(e){console.error("Form validation failed:",e)}},el=()=>{L(A-1)},ei=()=>{r.resetFields(),u(null),g([]),O({}),B([]),F(2),K({}),R([]),V([]),q({rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""}),L(0)},er=()=>{ei(),a()},es=async()=>{try{d(!0),await r.validateFields();let l=r.getFieldsValue(!0),s=C[l.provider],n={guardrail_name:l.guardrail_name,litellm_params:{guardrail:s,mode:l.mode,default_on:l.default_on},guardrail_info:{}};if("PresidioPII"===l.provider&&p.length>0){let e={};p.forEach(l=>{e[l]=N[l]||"MASK"}),n.litellm_params.pii_entities_config=e,l.presidio_analyzer_api_base&&(n.litellm_params.presidio_analyzer_api_base=l.presidio_analyzer_api_base),l.presidio_anonymizer_api_base&&(n.litellm_params.presidio_anonymizer_api_base=l.presidio_anonymizer_api_base)}if(P(l.provider))D.length>0&&(n.litellm_params.patterns=D.map(e=>({pattern_type:"prebuilt"===e.type?"prebuilt":"regex",pattern_name:"prebuilt"===e.type?e.name:void 0,pattern:"custom"===e.type?e.pattern:void 0,name:e.name,action:e.action}))),J.length>0&&(n.litellm_params.blocked_words=J.map(e=>({keyword:e.keyword,action:e.action,description:e.description})));else if(l.config)try{let e=JSON.parse(l.config);n.guardrail_info=e}catch(e){et.Z.fromBackend("Invalid JSON in configuration"),d(!1);return}if("tool_permission"===s){if(0===U.rules.length){et.Z.fromBackend("Add at least one tool permission rule"),d(!1);return}n.litellm_params.rules=U.rules,n.litellm_params.default_action=U.default_action,n.litellm_params.on_disallowed_action=U.on_disallowed_action,U.violation_message_template&&(n.litellm_params.violation_message_template=U.violation_message_template)}if(console.log("values: ",JSON.stringify(l)),E&&c){var e;let a=null===(e=C[c])||void 0===e?void 0:e.toLowerCase();console.log("providerKey: ",a);let t=E[a]||{},i=new Set;console.log("providerSpecificParams: ",JSON.stringify(t)),Object.keys(t).forEach(e=>{"optional_params"!==e&&i.add(e)}),t.optional_params&&t.optional_params.fields&&Object.keys(t.optional_params.fields).forEach(e=>{i.add(e)}),console.log("allowedParams: ",i),i.forEach(e=>{let a=l[e];if(null==a||""===a){var t;a=null===(t=l.optional_params)||void 0===t?void 0:t[e]}null!=a&&""!==a&&(n.litellm_params[e]=a)})}if(!t)throw Error("No access token available");console.log("Sending guardrail data:",JSON.stringify(n)),await (0,h.createGuardrailCall)(t,n),et.Z.success("Guardrail created successfully"),ei(),i(),a()}catch(e){console.error("Failed to create guardrail:",e),et.Z.fromBackend("Failed to create guardrail: "+(e instanceof Error?e.message:String(e)))}finally{d(!1)}},en=()=>{var e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(v.Z.Item,{name:"guardrail_name",label:"Guardrail Name",rules:[{required:!0,message:"Please enter a guardrail name"}],children:(0,n.jsx)(b.o,{placeholder:"Enter a name for this guardrail"})}),(0,n.jsx)(v.Z.Item,{name:"provider",label:"Guardrail Provider",rules:[{required:!0,message:"Please select a provider"}],children:(0,n.jsx)(f.default,{placeholder:"Select a guardrail provider",onChange:H,labelInValue:!1,optionLabelProp:"label",dropdownRender:e=>e,showSearch:!0,children:Object.entries(k()).map(e=>{let[l,a]=e;return(0,n.jsx)(eR,{value:l,label:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[I[a]&&(0,n.jsx)("img",{src:I[a],alt:"",style:{height:"20px",width:"20px",marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,n.jsx)("span",{children:a})]}),children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[I[a]&&(0,n.jsx)("img",{src:I[a],alt:"",style:{height:"20px",width:"20px",marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,n.jsx)("span",{children:a})]})},l)})})}),(0,n.jsx)(v.Z.Item,{name:"mode",label:"Mode",tooltip:"How the guardrail should be applied",rules:[{required:!0,message:"Please select a mode"}],children:(0,n.jsx)(f.default,{optionLabelProp:"label",mode:"multiple",children:(null==m?void 0:null===(e=m.supported_modes)||void 0===e?void 0:e.map(e=>(0,n.jsx)(eR,{value:e,label:e,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:e}),"pre_call"===e&&(0,n.jsx)(y.Z,{color:"green",style:{marginLeft:"8px"},children:"Recommended"})]}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eV[e]})]})},e)))||(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eR,{value:"pre_call",label:"pre_call",children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"pre_call"})," ",(0,n.jsx)(y.Z,{color:"green",children:"Recommended"})]}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eV.pre_call})]})}),(0,n.jsx)(eR,{value:"during_call",label:"during_call",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:(0,n.jsx)("strong",{children:"during_call"})}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eV.during_call})]})}),(0,n.jsx)(eR,{value:"post_call",label:"post_call",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:(0,n.jsx)("strong",{children:"post_call"})}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eV.post_call})]})}),(0,n.jsx)(eR,{value:"logging_only",label:"logging_only",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:(0,n.jsx)("strong",{children:"logging_only"})}),(0,n.jsx)("div",{style:{fontSize:"12px",color:"#888"},children:eV.logging_only})]})})]})})}),(0,n.jsx)(v.Z.Item,{name:"default_on",label:"Always On",tooltip:"If enabled, this guardrail will be applied to all requests by default.",children:(0,n.jsxs)(f.default,{children:[(0,n.jsx)(f.default.Option,{value:!0,children:"Yes"}),(0,n.jsx)(f.default.Option,{value:!1,children:"No"})]})}),!W&&(0,n.jsx)(X,{selectedProvider:c,accessToken:t,providerParams:E})]})},eo=()=>m&&"PresidioPII"===c?(0,n.jsx)(Y,{entities:m.supported_entities,actions:m.supported_actions,selectedEntities:p,selectedActions:N,onEntitySelect:$,onActionSelect:Q,entityCategories:m.pii_entity_categories}):null,ed=e=>{if(!m||!P(c))return null;let l=m.content_filter_settings;return l?(0,n.jsx)(eI,{prebuiltPatterns:l.prebuilt_patterns||[],categories:l.pattern_categories||[],selectedPatterns:D,blockedWords:J,onPatternAdd:e=>R([...D,e]),onPatternRemove:e=>R(D.filter(l=>l.id!==e)),onPatternActionChange:(e,l)=>{R(D.map(a=>a.id===e?{...a,action:l}:a))},onBlockedWordAdd:e=>V([...J,e]),onBlockedWordRemove:e=>V(J.filter(l=>l.id!==e)),onBlockedWordUpdate:(e,l,a)=>{V(J.map(t=>t.id===e?{...t,[l]:a}:t))},accessToken:t,showStep:e}):null},ec=()=>{var e;if(!c)return null;if(W)return(0,n.jsx)(eF,{value:U,onChange:q});if(!E)return null;console.log("guardrail_provider_map: ",C),console.log("selectedProvider: ",c);let l=null===(e=C[c])||void 0===e?void 0:e.toLowerCase(),a=E&&E[l];return a&&a.optional_params?(0,n.jsx)(ea,{optionalParams:a.optional_params,parentFieldKey:"optional_params"}):null};return(0,n.jsx)(_.Z,{title:"Add Guardrail",open:l,onCancel:er,footer:null,width:700,children:(0,n.jsxs)(v.Z,{form:r,layout:"vertical",initialValues:{mode:"pre_call",default_on:!1},children:[(0,n.jsxs)(j.default,{current:A,className:"mb-6",children:[(0,n.jsx)(eJ,{title:"Basic Info"}),(0,n.jsx)(eJ,{title:Z(c)?"PII Configuration":P(c)?"Pattern Detection":"Provider Configuration"}),P(c)&&(0,n.jsx)(eJ,{title:"Blocked Keywords"})]}),(()=>{switch(A){case 0:return en();case 1:if(Z(c))return eo();if(P(c))return ed("patterns");return ec();case 2:if(P(c))return ed("keywords");return null;default:return null}})(),(()=>{let e=A===(P(c)?3:2)-1;return(0,n.jsxs)("div",{className:"flex justify-end space-x-2 mt-4",children:[A>0&&(0,n.jsx)(b.z,{variant:"secondary",onClick:el,children:"Previous"}),!e&&(0,n.jsx)(b.z,{onClick:ee,children:"Next"}),e&&(0,n.jsx)(b.z,{onClick:es,loading:s,children:"Create Guardrail"}),(0,n.jsx)(b.z,{variant:"secondary",onClick:er,children:"Cancel"})]})})()]})})},eq=a(47323),eW=a(21626),eY=a(97214),eH=a(28241),e$=a(58834),eQ=a(69552),eX=a(71876),e0=a(74998),e1=a(44633),e4=a(86462),e2=a(49084),e5=a(1309),e8=a(71594),e6=a(24525),e3=a(63709);let{Title:e9,Text:e7}=g.default,{Option:le}=f.default;var ll=e=>{var l;let{visible:a,onClose:t,accessToken:i,onSuccess:r,guardrailId:s,initialValues:d}=e,[c]=v.Z.useForm(),[u,m]=(0,o.useState)(!1),[x,p]=(0,o.useState)((null==d?void 0:d.provider)||null),[g,j]=(0,o.useState)(null),[y,N]=(0,o.useState)([]),[w,S]=(0,o.useState)({});(0,o.useEffect)(()=>{(async()=>{try{if(!i)return;let e=await (0,h.getGuardrailUISettings)(i);j(e)}catch(e){console.error("Error fetching guardrail settings:",e),et.Z.fromBackend("Failed to load guardrail settings")}})()},[i]),(0,o.useEffect)(()=>{(null==d?void 0:d.pii_entities_config)&&Object.keys(d.pii_entities_config).length>0&&(N(Object.keys(d.pii_entities_config)),S(d.pii_entities_config))},[d]);let Z=e=>{N(l=>l.includes(e)?l.filter(l=>l!==e):[...l,e])},P=(e,l)=>{S(a=>({...a,[e]:l}))},O=async()=>{try{m(!0);let e=await c.validateFields(),l=C[e.provider],a={guardrail_id:s,guardrail:{guardrail_name:e.guardrail_name,litellm_params:{guardrail:l,mode:e.mode,default_on:e.default_on},guardrail_info:{}}};if("PresidioPII"===e.provider&&y.length>0){let e={};y.forEach(l=>{e[l]=w[l]||"MASK"}),a.guardrail.litellm_params.pii_entities_config=e}else if(e.config)try{let l=JSON.parse(e.config);"Bedrock"===e.provider&&l?(l.guardrail_id&&(a.guardrail.litellm_params.guardrailIdentifier=l.guardrail_id),l.guardrail_version&&(a.guardrail.litellm_params.guardrailVersion=l.guardrail_version)):a.guardrail.guardrail_info=l}catch(e){et.Z.fromBackend("Invalid JSON in configuration"),m(!1);return}if(!i)throw Error("No access token available");console.log("Sending guardrail update data:",JSON.stringify(a));let n=await fetch("/guardrails/".concat(s),{method:"PUT",headers:{Authorization:"Bearer ".concat(i),"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){let e=await n.text();throw Error(e||"Failed to update guardrail")}et.Z.success("Guardrail updated successfully"),r(),t()}catch(e){console.error("Failed to update guardrail:",e),et.Z.fromBackend("Failed to update guardrail: "+(e instanceof Error?e.message:String(e)))}finally{m(!1)}},A=()=>g&&x&&"PresidioPII"===x?(0,n.jsx)(Y,{entities:g.supported_entities,actions:g.supported_actions,selectedEntities:y,selectedActions:w,onEntitySelect:Z,onActionSelect:P,entityCategories:g.pii_entity_categories}):null;return(0,n.jsx)(_.Z,{title:"Edit Guardrail",open:a,onCancel:t,footer:null,width:700,children:(0,n.jsxs)(v.Z,{form:c,layout:"vertical",initialValues:d,children:[(0,n.jsx)(v.Z.Item,{name:"guardrail_name",label:"Guardrail Name",rules:[{required:!0,message:"Please enter a guardrail name"}],children:(0,n.jsx)(b.o,{placeholder:"Enter a name for this guardrail"})}),(0,n.jsx)(v.Z.Item,{name:"provider",label:"Guardrail Provider",rules:[{required:!0,message:"Please select a provider"}],children:(0,n.jsx)(f.default,{placeholder:"Select a guardrail provider",onChange:e=>{p(e),c.setFieldsValue({config:void 0}),N([]),S({})},disabled:!0,optionLabelProp:"label",children:Object.entries(k()).map(e=>{let[l,a]=e;return(0,n.jsx)(le,{value:l,label:a,children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[I[a]&&(0,n.jsx)("img",{src:I[a],alt:"",style:{height:"20px",width:"20px",marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,n.jsx)("span",{children:a})]})},l)})})}),(0,n.jsx)(v.Z.Item,{name:"mode",label:"Mode",tooltip:"How the guardrail should be applied",rules:[{required:!0,message:"Please select a mode"}],children:(0,n.jsx)(f.default,{children:(null==g?void 0:null===(l=g.supported_modes)||void 0===l?void 0:l.map(e=>(0,n.jsx)(le,{value:e,children:e},e)))||(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(le,{value:"pre_call",children:"pre_call"}),(0,n.jsx)(le,{value:"post_call",children:"post_call"})]})})}),(0,n.jsx)(v.Z.Item,{name:"default_on",label:"Always On",tooltip:"If enabled, this guardrail will be applied to all requests by default",valuePropName:"checked",children:(0,n.jsx)(e3.Z,{})}),(()=>{if(!x)return null;if("PresidioPII"===x)return A();switch(x){case"Aporia":return(0,n.jsx)(v.Z.Item,{label:"Aporia Configuration",name:"config",tooltip:"JSON configuration for Aporia",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_aporia_api_key",\n "project_name": "your_project_name"\n}'})});case"AimSecurity":return(0,n.jsx)(v.Z.Item,{label:"Aim Security Configuration",name:"config",tooltip:"JSON configuration for Aim Security",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_aim_api_key"\n}'})});case"Bedrock":return(0,n.jsx)(v.Z.Item,{label:"Amazon Bedrock Configuration",name:"config",tooltip:"JSON configuration for Amazon Bedrock guardrails",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "guardrail_id": "your_guardrail_id",\n "guardrail_version": "your_guardrail_version"\n}'})});case"GuardrailsAI":return(0,n.jsx)(v.Z.Item,{label:"Guardrails.ai Configuration",name:"config",tooltip:"JSON configuration for Guardrails.ai",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_guardrails_api_key",\n "guardrail_id": "your_guardrail_id"\n}'})});case"LakeraAI":return(0,n.jsx)(v.Z.Item,{label:"Lakera AI Configuration",name:"config",tooltip:"JSON configuration for Lakera AI",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "api_key": "your_lakera_api_key"\n}'})});case"PromptInjection":return(0,n.jsx)(v.Z.Item,{label:"Prompt Injection Configuration",name:"config",tooltip:"JSON configuration for prompt injection detection",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "threshold": 0.8\n}'})});default:return(0,n.jsx)(v.Z.Item,{label:"Custom Configuration",name:"config",tooltip:"JSON configuration for your custom guardrail",children:(0,n.jsx)(eL.default.TextArea,{rows:4,placeholder:'{\n "key1": "value1",\n "key2": "value2"\n}'})})}})(),(0,n.jsxs)("div",{className:"flex justify-end space-x-2 mt-4",children:[(0,n.jsx)(b.z,{variant:"secondary",onClick:t,children:"Cancel"}),(0,n.jsx)(b.z,{onClick:O,loading:u,children:"Update Guardrail"})]})]})})};(i=s||(s={})).DB="db",i.CONFIG="config";var la=e=>{let{guardrailsList:l,isLoading:a,onDeleteClick:t,accessToken:i,onGuardrailUpdated:r,isAdmin:c=!1,onGuardrailClick:u}=e,[m,x]=(0,o.useState)([{id:"created_at",desc:!0}]),[p,h]=(0,o.useState)(!1),[g,f]=(0,o.useState)(null),j=e=>e?new Date(e).toLocaleString():"-",v=[{header:"Guardrail ID",accessorKey:"guardrail_id",cell:e=>(0,n.jsx)(L.Z,{title:String(e.getValue()||""),children:(0,n.jsx)(d.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>e.getValue()&&u(e.getValue()),children:e.getValue()?"".concat(String(e.getValue()).slice(0,7),"..."):""})})},{header:"Name",accessorKey:"guardrail_name",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)(L.Z,{title:a.guardrail_name,children:(0,n.jsx)("span",{className:"text-xs font-medium",children:a.guardrail_name||"-"})})}},{header:"Provider",accessorKey:"litellm_params.guardrail",cell:e=>{let{row:l}=e,{logo:a,displayName:t}=A(l.original.litellm_params.guardrail);return(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[a&&(0,n.jsx)("img",{src:a,alt:"".concat(t," logo"),className:"w-4 h-4",onError:e=>{e.target.style.display="none"}}),(0,n.jsx)("span",{className:"text-xs",children:t})]})}},{header:"Mode",accessorKey:"litellm_params.mode",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)("span",{className:"text-xs",children:a.litellm_params.mode})}},{header:"Default On",accessorKey:"litellm_params.default_on",cell:e=>{var l,a;let{row:t}=e,i=t.original;return(0,n.jsx)(e5.C,{color:(null===(l=i.litellm_params)||void 0===l?void 0:l.default_on)?"green":"gray",className:"text-xs font-normal",size:"xs",children:(null===(a=i.litellm_params)||void 0===a?void 0:a.default_on)?"Default On":"Default Off"})}},{header:"Created At",accessorKey:"created_at",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)(L.Z,{title:a.created_at,children:(0,n.jsx)("span",{className:"text-xs",children:j(a.created_at)})})}},{header:"Updated At",accessorKey:"updated_at",cell:e=>{let{row:l}=e,a=l.original;return(0,n.jsx)(L.Z,{title:a.updated_at,children:(0,n.jsx)("span",{className:"text-xs",children:j(a.updated_at)})})}},{id:"actions",header:"Actions",cell:e=>{let{row:l}=e,a=l.original,i=a.guardrail_definition_location===s.CONFIG;return(0,n.jsx)("div",{className:"flex space-x-2",children:i?(0,n.jsx)(L.Z,{title:"Config guardrail cannot be deleted on the dashboard. Please delete it from the config file.",children:(0,n.jsx)(eq.Z,{"data-testid":"config-delete-icon",icon:e0.Z,size:"sm",className:"cursor-not-allowed text-gray-400",title:"Config guardrail cannot be deleted on the dashboard. Please delete it from the config file.","aria-label":"Delete guardrail (config)"})}):(0,n.jsx)(L.Z,{title:"Delete guardrail",children:(0,n.jsx)(eq.Z,{icon:e0.Z,size:"sm",onClick:()=>a.guardrail_id&&t(a.guardrail_id,a.guardrail_name||"Unnamed Guardrail"),className:"cursor-pointer hover:text-red-500"})})})}}],y=(0,e8.b7)({data:l,columns:v,state:{sorting:m},onSortingChange:x,getCoreRowModel:(0,e6.sC)(),getSortedRowModel:(0,e6.tj)(),enableSorting:!0});return(0,n.jsxs)("div",{className:"rounded-lg custom-border relative",children:[(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)(eW.Z,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,n.jsx)(e$.Z,{children:y.getHeaderGroups().map(e=>(0,n.jsx)(eX.Z,{children:e.headers.map(e=>(0,n.jsx)(eQ.Z,{className:"py-1 h-8 ".concat("actions"===e.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),onClick:e.column.getToggleSortingHandler(),children:(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,n.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,e8.ie)(e.column.columnDef.header,e.getContext())}),"actions"!==e.id&&(0,n.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,n.jsx)(e1.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,n.jsx)(e4.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,n.jsx)(e2.Z,{className:"h-4 w-4 text-gray-400"})})]})},e.id))},e.id))}),(0,n.jsx)(eY.Z,{children:a?(0,n.jsx)(eX.Z,{children:(0,n.jsx)(eH.Z,{colSpan:v.length,className:"h-8 text-center",children:(0,n.jsx)("div",{className:"text-center text-gray-500",children:(0,n.jsx)("p",{children:"Loading..."})})})}):l.length>0?y.getRowModel().rows.map(e=>(0,n.jsx)(eX.Z,{className:"h-8",children:e.getVisibleCells().map(e=>(0,n.jsx)(eH.Z,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap ".concat("actions"===e.column.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),children:(0,e8.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,n.jsx)(eX.Z,{children:(0,n.jsx)(eH.Z,{colSpan:v.length,className:"h-8 text-center",children:(0,n.jsx)("div",{className:"text-center text-gray-500",children:(0,n.jsx)("p",{children:"No guardrails found"})})})})})]})}),g&&(0,n.jsx)(ll,{visible:p,onClose:()=>h(!1),accessToken:i,onSuccess:()=>{h(!1),f(null),r()},guardrailId:g.guardrail_id||"",initialValues:{guardrail_name:g.guardrail_name||"",provider:Object.keys(C).find(e=>C[e]===(null==g?void 0:g.litellm_params.guardrail))||"",mode:g.litellm_params.mode,default_on:g.litellm_params.default_on,pii_entities_config:g.litellm_params.pii_entities_config,...g.guardrail_info}})]})},lt=a(20347),li=a(30078),lr=a(41649),ls=a(12514),ln=a(84264),lo=e=>{let{patterns:l,blockedWords:a,readOnly:t=!0,onPatternActionChange:i,onPatternRemove:r,onBlockedWordUpdate:s,onBlockedWordRemove:o}=e;if(0===l.length&&0===a.length)return null;let d=()=>{};return(0,n.jsxs)(n.Fragment,{children:[l.length>0&&(0,n.jsxs)(ls.Z,{className:"mt-6",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,n.jsx)(ln.Z,{className:"text-lg font-semibold",children:"Pattern Detection"}),(0,n.jsxs)(lr.Z,{color:"blue",children:[l.length," patterns configured"]})]}),(0,n.jsx)(ek,{patterns:l,onActionChange:t?d:i||d,onRemove:t?d:r||d})]}),a.length>0&&(0,n.jsxs)(ls.Z,{className:"mt-6",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,n.jsx)(ln.Z,{className:"text-lg font-semibold",children:"Blocked Keywords"}),(0,n.jsxs)(lr.Z,{color:"blue",children:[a.length," keywords configured"]})]}),(0,n.jsx)(eZ,{keywords:a,onActionChange:t?d:s||d,onRemove:t?d:o||d})]})]})},ld=e=>{var l;let{guardrailData:a,guardrailSettings:t,isEditing:i,accessToken:r,onDataChange:s,onUnsavedChanges:d}=e,[c,u]=(0,o.useState)([]),[m,x]=(0,o.useState)([]),[p,h]=(0,o.useState)([]),[g,f]=(0,o.useState)([]);(0,o.useEffect)(()=>{var e,l;if(null==a?void 0:null===(e=a.litellm_params)||void 0===e?void 0:e.patterns){let e=a.litellm_params.patterns.map((e,l)=>({id:"pattern-".concat(l),type:"prebuilt"===e.pattern_type?"prebuilt":"custom",name:e.pattern_name||e.name,display_name:e.display_name,pattern:e.pattern,action:e.action||"BLOCK"}));u(e),h(e)}else u([]),h([]);if(null==a?void 0:null===(l=a.litellm_params)||void 0===l?void 0:l.blocked_words){let e=a.litellm_params.blocked_words.map((e,l)=>({id:"word-".concat(l),keyword:e.keyword,action:e.action||"BLOCK",description:e.description}));x(e),f(e)}else x([]),f([])},[a]),(0,o.useEffect)(()=>{s&&s(c,m)},[c,m,s]);let j=o.useMemo(()=>{let e=JSON.stringify(c)!==JSON.stringify(p),l=JSON.stringify(m)!==JSON.stringify(g);return e||l},[c,m,p,g]);return((0,o.useEffect)(()=>{i&&d&&d(j)},[j,i,d]),(null==a?void 0:null===(l=a.litellm_params)||void 0===l?void 0:l.guardrail)!=="litellm_content_filter")?null:i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eE.Z,{orientation:"left",children:"Content Filter Configuration"}),j&&(0,n.jsx)("div",{className:"mb-4 px-4 py-3 bg-yellow-50 border border-yellow-200 rounded-md",children:(0,n.jsx)("p",{className:"text-sm text-yellow-800 font-medium",children:'⚠️ You have unsaved changes to patterns or keywords. Remember to click "Save Changes" at the bottom.'})}),(0,n.jsx)("div",{className:"mb-6",children:t&&t.content_filter_settings&&(0,n.jsx)(eI,{prebuiltPatterns:t.content_filter_settings.prebuilt_patterns||[],categories:t.content_filter_settings.pattern_categories||[],selectedPatterns:c,blockedWords:m,onPatternAdd:e=>u([...c,e]),onPatternRemove:e=>u(c.filter(l=>l.id!==e)),onPatternActionChange:(e,l)=>u(c.map(a=>a.id===e?{...a,action:l}:a)),onBlockedWordAdd:e=>x([...m,e]),onBlockedWordRemove:e=>x(m.filter(l=>l.id!==e)),onBlockedWordUpdate:(e,l,a)=>x(m.map(t=>t.id===e?{...t,[l]:a}:t)),onFileUpload:e=>{console.log("File uploaded:",e)},accessToken:r})})]}):(0,n.jsx)(lo,{patterns:c,blockedWords:m,readOnly:!0})};let lc=(e,l)=>({patterns:e.map(e=>({pattern_type:"prebuilt"===e.type?"prebuilt":"regex",pattern_name:"prebuilt"===e.type?e.name:void 0,pattern:"custom"===e.type?e.pattern:void 0,name:e.name,action:e.action})),blocked_words:l.map(e=>({keyword:e.keyword,action:e.action,description:e.description}))});var lu=a(10900),lm=a(59872),lx=a(30401),lp=a(78867),lh=e=>{var l,a,t,i,r,s,d,c,u,m,x,p,g,j,y,_;let{guardrailId:b,onClose:N,accessToken:w,isAdmin:k}=e,[S,Z]=(0,o.useState)(null),[P,O]=(0,o.useState)(null),[I,T]=(0,o.useState)(!0),[G,F]=(0,o.useState)(!1),[M]=v.Z.useForm(),[K,D]=(0,o.useState)([]),[R,J]=(0,o.useState)({}),[V,U]=(0,o.useState)(null),[q,W]=(0,o.useState)({}),[H,$]=(0,o.useState)(!1),Q={rules:[],default_action:"deny",on_disallowed_action:"block",violation_message_template:""},[ee,el]=(0,o.useState)(Q),[ei,er]=(0,o.useState)(!1),es=o.useRef({patterns:[],blockedWords:[]}),en=(0,o.useCallback)((e,l)=>{es.current={patterns:e,blockedWords:l}},[]),eo=async()=>{try{var e;if(T(!0),!w)return;let l=await (0,h.getGuardrailInfo)(w,b);if(Z(l),null===(e=l.litellm_params)||void 0===e?void 0:e.pii_entities_config){let e=l.litellm_params.pii_entities_config;if(D([]),J({}),Object.keys(e).length>0){let l=[],a={};Object.entries(e).forEach(e=>{let[t,i]=e;l.push(t),a[t]="string"==typeof i?i:"MASK"}),D(l),J(a)}}else D([]),J({})}catch(e){et.Z.fromBackend("Failed to load guardrail information"),console.error("Error fetching guardrail info:",e)}finally{T(!1)}},ed=async()=>{try{if(!w)return;let e=await (0,h.getGuardrailProviderSpecificParams)(w);O(e)}catch(e){console.error("Error fetching guardrail provider specific params:",e)}},ec=async()=>{try{if(!w)return;let e=await (0,h.getGuardrailUISettings)(w);U(e)}catch(e){console.error("Error fetching guardrail UI settings:",e)}};(0,o.useEffect)(()=>{ed()},[w]),(0,o.useEffect)(()=>{eo(),ec()},[b,w]),(0,o.useEffect)(()=>{if(S&&M){var e;M.setFieldsValue({guardrail_name:S.guardrail_name,...S.litellm_params,guardrail_info:S.guardrail_info?JSON.stringify(S.guardrail_info,null,2):"",...(null===(e=S.litellm_params)||void 0===e?void 0:e.optional_params)&&{optional_params:S.litellm_params.optional_params}})}},[S,P,M]);let eu=(0,o.useCallback)(()=>{var e,l,a,t,i;(null==S?void 0:null===(e=S.litellm_params)||void 0===e?void 0:e.guardrail)==="tool_permission"?el({rules:(null===(l=S.litellm_params)||void 0===l?void 0:l.rules)||[],default_action:((null===(a=S.litellm_params)||void 0===a?void 0:a.default_action)||"deny").toLowerCase(),on_disallowed_action:((null===(t=S.litellm_params)||void 0===t?void 0:t.on_disallowed_action)||"block").toLowerCase(),violation_message_template:(null===(i=S.litellm_params)||void 0===i?void 0:i.violation_message_template)||""}):el(Q),er(!1)},[S]);(0,o.useEffect)(()=>{eu()},[eu]);let em=async e=>{try{var l,a,t,i,r,s,n,o,d,c,u,m;if(!w)return;let x={litellm_params:{}};e.guardrail_name!==S.guardrail_name&&(x.guardrail_name=e.guardrail_name),e.default_on!==(null===(l=S.litellm_params)||void 0===l?void 0:l.default_on)&&(x.litellm_params.default_on=e.default_on);let p=S.guardrail_info,g=e.guardrail_info?JSON.parse(e.guardrail_info):void 0;JSON.stringify(p)!==JSON.stringify(g)&&(x.guardrail_info=g);let f=(null===(a=S.litellm_params)||void 0===a?void 0:a.pii_entities_config)||{},j={};if(K.forEach(e=>{j[e]=R[e]||"MASK"}),JSON.stringify(f)!==JSON.stringify(j)&&(x.litellm_params.pii_entities_config=j),(null===(t=S.litellm_params)||void 0===t?void 0:t.guardrail)==="litellm_content_filter"){let e=(null===(s=S.litellm_params)||void 0===s?void 0:s.patterns)||[],l=(null===(n=S.litellm_params)||void 0===n?void 0:n.blocked_words)||[],a=lc(es.current.patterns,es.current.blockedWords);JSON.stringify(e)!==JSON.stringify(a.patterns)&&(x.litellm_params.patterns=a.patterns),JSON.stringify(l)!==JSON.stringify(a.blocked_words)&&(x.litellm_params.blocked_words=a.blocked_words)}if((null===(i=S.litellm_params)||void 0===i?void 0:i.guardrail)==="tool_permission"){let e=(null===(o=S.litellm_params)||void 0===o?void 0:o.rules)||[],l=ee.rules||[],a=JSON.stringify(e)!==JSON.stringify(l),t=((null===(d=S.litellm_params)||void 0===d?void 0:d.default_action)||"deny").toLowerCase(),i=(ee.default_action||"deny").toLowerCase(),r=t!==i,s=((null===(c=S.litellm_params)||void 0===c?void 0:c.on_disallowed_action)||"block").toLowerCase(),n=(ee.on_disallowed_action||"block").toLowerCase(),m=s!==n,p=(null===(u=S.litellm_params)||void 0===u?void 0:u.violation_message_template)||"",h=ee.violation_message_template||"",g=p!==h;(ei||a||r||m||g)&&(x.litellm_params.rules=l,x.litellm_params.default_action=i,x.litellm_params.on_disallowed_action=n,x.litellm_params.violation_message_template=h||null)}let v=Object.keys(C).find(e=>{var l;return C[e]===(null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)});console.log("values: ",JSON.stringify(e)),console.log("currentProvider: ",v);let y=(null===(r=S.litellm_params)||void 0===r?void 0:r.guardrail)==="tool_permission";if(P&&v&&!y){let l=P[null===(m=C[v])||void 0===m?void 0:m.toLowerCase()]||{},a=new Set;console.log("providerSpecificParams: ",JSON.stringify(l)),Object.keys(l).forEach(e=>{"optional_params"!==e&&a.add(e)}),l.optional_params&&l.optional_params.fields&&Object.keys(l.optional_params.fields).forEach(e=>{a.add(e)}),console.log("allowedParams: ",a),a.forEach(l=>{var a,t;let i=e[l];(null==i||""===i)&&(i=null===(t=e.optional_params)||void 0===t?void 0:t[l]);let r=null===(a=S.litellm_params)||void 0===a?void 0:a[l];JSON.stringify(i)!==JSON.stringify(r)&&(null!=i&&""!==i?x.litellm_params[l]=i:null!=r&&""!==r&&(x.litellm_params[l]=null))})}if(0===Object.keys(x.litellm_params).length&&delete x.litellm_params,0===Object.keys(x).length){et.Z.info("No changes detected"),F(!1);return}await (0,h.updateGuardrailCall)(w,b,x),et.Z.success("Guardrail updated successfully"),$(!1),eo(),F(!1)}catch(e){console.error("Error updating guardrail:",e),et.Z.fromBackend("Failed to update guardrail")}};if(I)return(0,n.jsx)("div",{className:"p-4",children:"Loading..."});if(!S)return(0,n.jsx)("div",{className:"p-4",children:"Guardrail not found"});let ex=e=>e?new Date(e).toLocaleString():"-",{logo:ep,displayName:eh}=A((null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)||""),eg=async(e,l)=>{await (0,lm.vQ)(e)&&(W(e=>({...e,[l]:!0})),setTimeout(()=>{W(e=>({...e,[l]:!1}))},2e3))},ef="config"===S.guardrail_definition_location;return(0,n.jsxs)("div",{className:"p-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(li.zx,{icon:lu.Z,variant:"light",onClick:N,className:"mb-4",children:"Back to Guardrails"}),(0,n.jsx)(li.Dx,{children:S.guardrail_name||"Unnamed Guardrail"}),(0,n.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,n.jsx)(li.xv,{className:"text-gray-500 font-mono",children:S.guardrail_id}),(0,n.jsx)(E.ZP,{type:"text",size:"small",icon:q["guardrail-id"]?(0,n.jsx)(lx.Z,{size:12}):(0,n.jsx)(lp.Z,{size:12}),onClick:()=>eg(S.guardrail_id,"guardrail-id"),className:"left-2 z-10 transition-all duration-200 ".concat(q["guardrail-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]}),(0,n.jsxs)(li.v0,{children:[(0,n.jsxs)(li.td,{className:"mb-4",children:[(0,n.jsx)(li.OK,{children:"Overview"},"overview"),k?(0,n.jsx)(li.OK,{children:"Settings"},"settings"):(0,n.jsx)(n.Fragment,{})]}),(0,n.jsxs)(li.nP,{children:[(0,n.jsxs)(li.x4,{children:[(0,n.jsxs)(li.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,n.jsxs)(li.Zb,{children:[(0,n.jsx)(li.xv,{children:"Provider"}),(0,n.jsxs)("div",{className:"mt-2 flex items-center space-x-2",children:[ep&&(0,n.jsx)("img",{src:ep,alt:"".concat(eh," logo"),className:"w-6 h-6",onError:e=>{e.target.style.display="none"}}),(0,n.jsx)(li.Dx,{children:eh})]})]}),(0,n.jsxs)(li.Zb,{children:[(0,n.jsx)(li.xv,{children:"Mode"}),(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsx)(li.Dx,{children:(null===(a=S.litellm_params)||void 0===a?void 0:a.mode)||"-"}),(0,n.jsx)(li.Ct,{color:(null===(t=S.litellm_params)||void 0===t?void 0:t.default_on)?"green":"gray",children:(null===(i=S.litellm_params)||void 0===i?void 0:i.default_on)?"Default On":"Default Off"})]})]}),(0,n.jsxs)(li.Zb,{children:[(0,n.jsx)(li.xv,{children:"Created At"}),(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsx)(li.Dx,{children:ex(S.created_at)}),(0,n.jsxs)(li.xv,{children:["Last Updated: ",ex(S.updated_at)]})]})]})]}),(null===(r=S.litellm_params)||void 0===r?void 0:r.pii_entities_config)&&Object.keys(S.litellm_params.pii_entities_config).length>0&&(0,n.jsx)(li.Zb,{className:"mt-6",children:(0,n.jsxs)("div",{className:"flex justify-between items-center",children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"PII Protection"}),(0,n.jsxs)(li.Ct,{color:"blue",children:[Object.keys(S.litellm_params.pii_entities_config).length," PII entities configured"]})]})}),(null===(s=S.litellm_params)||void 0===s?void 0:s.pii_entities_config)&&Object.keys(S.litellm_params.pii_entities_config).length>0&&(0,n.jsxs)(li.Zb,{className:"mt-6",children:[(0,n.jsx)(li.xv,{className:"mb-4 text-lg font-semibold",children:"PII Entity Configuration"}),(0,n.jsxs)("div",{className:"border rounded-lg overflow-hidden shadow-sm",children:[(0,n.jsxs)("div",{className:"bg-gray-50 px-5 py-3 border-b flex",children:[(0,n.jsx)(li.xv,{className:"flex-1 font-semibold text-gray-700",children:"Entity Type"}),(0,n.jsx)(li.xv,{className:"flex-1 font-semibold text-gray-700",children:"Configuration"})]}),(0,n.jsx)("div",{className:"max-h-[400px] overflow-y-auto",children:Object.entries(null===(d=S.litellm_params)||void 0===d?void 0:d.pii_entities_config).map(e=>{let[l,a]=e;return(0,n.jsxs)("div",{className:"px-5 py-3 flex border-b hover:bg-gray-50 transition-colors",children:[(0,n.jsx)(li.xv,{className:"flex-1 font-medium text-gray-900",children:l}),(0,n.jsx)(li.xv,{className:"flex-1",children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 ".concat("MASK"===a?"text-blue-600":"text-red-600"),children:["MASK"===a?(0,n.jsx)(z.Z,{}):(0,n.jsx)(B.Z,{}),String(a)]})})]},l)})})]})]}),(null===(c=S.litellm_params)||void 0===c?void 0:c.guardrail)==="tool_permission"&&(0,n.jsx)(li.Zb,{className:"mt-6",children:(0,n.jsx)(eF,{value:ee,disabled:!0})}),(0,n.jsx)(ld,{guardrailData:S,guardrailSettings:V,isEditing:!1,accessToken:w})]}),k&&(0,n.jsx)(li.x4,{children:(0,n.jsxs)(li.Zb,{children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,n.jsx)(li.Dx,{children:"Guardrail Settings"}),ef&&(0,n.jsx)(L.Z,{title:"Guardrail is defined in the config file and cannot be edited.",children:(0,n.jsx)(ez.Z,{})}),!G&&!ef&&(0,n.jsx)(li.zx,{onClick:()=>F(!0),children:"Edit Settings"})]}),G?(0,n.jsxs)(v.Z,{form:M,onFinish:em,initialValues:{guardrail_name:S.guardrail_name,...S.litellm_params,guardrail_info:S.guardrail_info?JSON.stringify(S.guardrail_info,null,2):"",...(null===(u=S.litellm_params)||void 0===u?void 0:u.optional_params)&&{optional_params:S.litellm_params.optional_params}},layout:"vertical",children:[(0,n.jsx)(v.Z.Item,{label:"Guardrail Name",name:"guardrail_name",rules:[{required:!0,message:"Please input a guardrail name"}],children:(0,n.jsx)(li.oi,{})}),(0,n.jsx)(v.Z.Item,{label:"Default On",name:"default_on",children:(0,n.jsxs)(f.default,{children:[(0,n.jsx)(f.default.Option,{value:!0,children:"Yes"}),(0,n.jsx)(f.default.Option,{value:!1,children:"No"})]})}),(null===(m=S.litellm_params)||void 0===m?void 0:m.guardrail)==="presidio"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eE.Z,{orientation:"left",children:"PII Protection"}),(0,n.jsx)("div",{className:"mb-6",children:V&&(0,n.jsx)(Y,{entities:V.supported_entities,actions:V.supported_actions,selectedEntities:K,selectedActions:R,onEntitySelect:e=>{D(l=>l.includes(e)?l.filter(l=>l!==e):[...l,e])},onActionSelect:(e,l)=>{J(a=>({...a,[e]:l}))},entityCategories:V.pii_entity_categories})})]}),(0,n.jsx)(ld,{guardrailData:S,guardrailSettings:V,isEditing:!0,accessToken:w,onDataChange:en,onUnsavedChanges:$}),(0,n.jsx)(eE.Z,{orientation:"left",children:"Provider Settings"}),(null===(x=S.litellm_params)||void 0===x?void 0:x.guardrail)==="tool_permission"?(0,n.jsx)(eF,{value:ee,onChange:el}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(X,{selectedProvider:Object.keys(C).find(e=>{var l;return C[e]===(null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)})||null,accessToken:w,providerParams:P,value:S.litellm_params}),P&&(()=>{var e;let l=Object.keys(C).find(e=>{var l;return C[e]===(null===(l=S.litellm_params)||void 0===l?void 0:l.guardrail)});if(!l)return null;let a=P[null===(e=C[l])||void 0===e?void 0:e.toLowerCase()];return a&&a.optional_params?(0,n.jsx)(ea,{optionalParams:a.optional_params,parentFieldKey:"optional_params",values:S.litellm_params}):null})()]}),(0,n.jsx)(eE.Z,{orientation:"left",children:"Advanced Settings"}),(0,n.jsx)(v.Z.Item,{label:"Guardrail Information",name:"guardrail_info",children:(0,n.jsx)(eL.default.TextArea,{rows:5})}),(0,n.jsxs)("div",{className:"flex justify-end gap-2 mt-6",children:[(0,n.jsx)(E.ZP,{onClick:()=>{F(!1),$(!1),eu()},children:"Cancel"}),(0,n.jsx)(li.zx,{children:"Save Changes"})]})]}):(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Guardrail ID"}),(0,n.jsx)("div",{className:"font-mono",children:S.guardrail_id})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Guardrail Name"}),(0,n.jsx)("div",{children:S.guardrail_name||"Unnamed Guardrail"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Provider"}),(0,n.jsx)("div",{children:eh})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Mode"}),(0,n.jsx)("div",{children:(null===(p=S.litellm_params)||void 0===p?void 0:p.mode)||"-"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Default On"}),(0,n.jsx)(li.Ct,{color:(null===(g=S.litellm_params)||void 0===g?void 0:g.default_on)?"green":"gray",children:(null===(j=S.litellm_params)||void 0===j?void 0:j.default_on)?"Yes":"No"})]}),(null===(y=S.litellm_params)||void 0===y?void 0:y.pii_entities_config)&&Object.keys(S.litellm_params.pii_entities_config).length>0&&(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"PII Protection"}),(0,n.jsx)("div",{className:"mt-2",children:(0,n.jsxs)(li.Ct,{color:"blue",children:[Object.keys(S.litellm_params.pii_entities_config).length," PII entities configured"]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Created At"}),(0,n.jsx)("div",{children:ex(S.created_at)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(li.xv,{className:"font-medium",children:"Last Updated"}),(0,n.jsx)("div",{children:ex(S.updated_at)})]}),(null===(_=S.litellm_params)||void 0===_?void 0:_.guardrail)==="tool_permission"&&(0,n.jsx)(eF,{value:ee,disabled:!0})]})]})})]})]})]})},lg=a(96761),lf=a(35631),lj=a(29436),lv=a(41169),ly=a(23639),l_=a(77565),lb=a(70464),lN=a(83669),lw=a(5540);let{Text:lk}=g.default;var lC=function(e){let{results:l,errors:a}=e,[t,i]=(0,o.useState)(new Set),r=e=>{let l=new Set(t);l.has(e)?l.delete(e):l.add(e),i(l)},s=async e=>{try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0;{let l=document.createElement("textarea");l.value=e,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.focus(),l.select();let a=document.execCommand("copy");if(document.body.removeChild(l),!a)throw Error("execCommand failed");return!0}}catch(e){return console.error("Copy failed:",e),!1}};return l||a?(0,n.jsxs)("div",{className:"space-y-3 pt-4 border-t border-gray-200",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-900",children:"Results"}),l&&l.map(e=>{let l=t.has(e.guardrailName);return(0,n.jsx)(ls.Z,{className:"bg-green-50 border-green-200",children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center space-x-2 cursor-pointer flex-1",onClick:()=>r(e.guardrailName),children:[l?(0,n.jsx)(l_.Z,{className:"text-gray-500 text-xs"}):(0,n.jsx)(lb.Z,{className:"text-gray-500 text-xs"}),(0,n.jsx)(lN.Z,{className:"text-green-600 text-lg"}),(0,n.jsx)("span",{className:"text-sm font-medium text-green-800",children:e.guardrailName})]}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsxs)("div",{className:"flex items-center space-x-1 text-xs text-gray-600",children:[(0,n.jsx)(lw.Z,{}),(0,n.jsxs)("span",{className:"font-medium",children:[e.latency,"ms"]})]}),!l&&(0,n.jsx)(d.Z,{size:"xs",variant:"secondary",icon:ly.Z,onClick:async()=>{await s(e.response_text)?et.Z.success("Result copied to clipboard"):et.Z.fromBackend("Failed to copy result")},children:"Copy"})]})]}),!l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"bg-white border border-green-200 rounded p-3",children:[(0,n.jsx)("label",{className:"text-xs font-medium text-gray-600 mb-2 block",children:"Output Text"}),(0,n.jsx)("div",{className:"font-mono text-sm text-gray-900 whitespace-pre-wrap break-words",children:e.response_text})]}),(0,n.jsxs)("div",{className:"text-xs text-gray-600",children:[(0,n.jsx)("span",{className:"font-medium",children:"Characters:"})," ",e.response_text.length]})]})]})},e.guardrailName)}),a&&a.map(e=>{let l=t.has(e.guardrailName);return(0,n.jsx)(ls.Z,{className:"bg-red-50 border-red-200",children:(0,n.jsxs)("div",{className:"flex items-start space-x-2",children:[(0,n.jsx)("div",{className:"cursor-pointer mt-0.5",onClick:()=>r(e.guardrailName),children:l?(0,n.jsx)(l_.Z,{className:"text-gray-500 text-xs"}):(0,n.jsx)(lb.Z,{className:"text-gray-500 text-xs"})}),(0,n.jsx)("div",{className:"text-red-600 mt-0.5",children:(0,n.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,n.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,n.jsxs)("p",{className:"text-sm font-medium text-red-800 cursor-pointer",onClick:()=>r(e.guardrailName),children:[e.guardrailName," - Error"]}),(0,n.jsxs)("div",{className:"flex items-center space-x-1 text-xs text-gray-600",children:[(0,n.jsx)(lw.Z,{}),(0,n.jsxs)("span",{className:"font-medium",children:[e.latency,"ms"]})]})]}),!l&&(0,n.jsx)("p",{className:"text-sm text-red-700 mt-1",children:e.error.message})]})]})},e.guardrailName)})]}):null};let{TextArea:lS}=eL.default,{Text:lZ}=g.default;var lP=function(e){let{guardrailNames:l,onSubmit:a,isLoading:t,results:i,errors:r,onClose:s}=e,[d,c]=(0,o.useState)(""),u=()=>{if(!d.trim()){et.Z.fromBackend("Please enter text to test");return}a(d)},m=async e=>{try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0;{let l=document.createElement("textarea");l.value=e,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.focus(),l.select();let a=document.execCommand("copy");if(document.body.removeChild(l),!a)throw Error("execCommand failed");return!0}}catch(e){return console.error("Copy failed:",e),!1}},x=async()=>{await m(d)?et.Z.success("Input copied to clipboard"):et.Z.fromBackend("Failed to copy input")};return(0,n.jsxs)("div",{className:"space-y-4 h-full flex flex-col",children:[(0,n.jsx)("div",{className:"flex items-center justify-between pb-3 border-b border-gray-200",children:(0,n.jsx)("div",{className:"flex items-center space-x-3",children:(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center space-x-2 mb-1",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-gray-900",children:"Test Guardrails:"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:l.map(e=>(0,n.jsx)("div",{className:"inline-flex items-center space-x-1 bg-blue-50 px-3 py-1 rounded-md border border-blue-200",children:(0,n.jsx)("span",{className:"font-mono text-blue-700 font-medium text-sm",children:e})},e))})]}),(0,n.jsxs)("p",{className:"text-sm text-gray-500",children:["Test ",l.length>1?"guardrails":"guardrail"," and compare results"]})]})})}),(0,n.jsxs)("div",{className:"flex-1 overflow-auto space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Input Text"}),(0,n.jsx)(L.Z,{title:"Press Enter to submit. Use Shift+Enter for new line.",children:(0,n.jsx)(ez.Z,{className:"text-gray-400 cursor-help"})})]}),d&&(0,n.jsx)(ed.z,{size:"xs",variant:"secondary",icon:ly.Z,onClick:x,children:"Copy Input"})]}),(0,n.jsx)(lS,{value:d,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),u())},placeholder:"Enter text to test with guardrails...",rows:8,className:"font-mono text-sm"}),(0,n.jsxs)("div",{className:"flex justify-between items-center mt-1",children:[(0,n.jsxs)(lZ,{className:"text-xs text-gray-500",children:["Press ",(0,n.jsx)("kbd",{className:"px-1 py-0.5 bg-gray-100 border border-gray-300 rounded text-xs",children:"Enter"})," to submit • ",(0,n.jsx)("kbd",{className:"px-1 py-0.5 bg-gray-100 border border-gray-300 rounded text-xs",children:"Shift+Enter"})," for new line"]}),(0,n.jsxs)(lZ,{className:"text-xs text-gray-500",children:["Characters: ",d.length]})]})]}),(0,n.jsx)("div",{className:"pt-2",children:(0,n.jsx)(ed.z,{onClick:u,loading:t,disabled:!d.trim(),className:"w-full",children:t?"Testing ".concat(l.length," guardrail").concat(l.length>1?"s":"","..."):"Test ".concat(l.length," guardrail").concat(l.length>1?"s":"")})})]}),(0,n.jsx)(lC,{results:i,errors:r})]})]})},lO=e=>{let{guardrailsList:l,isLoading:a,accessToken:t,onClose:i}=e,[r,s]=(0,o.useState)(new Set),[d,c]=(0,o.useState)(""),[u,m]=(0,o.useState)([]),[x,p]=(0,o.useState)([]),[g,f]=(0,o.useState)(!1),j=l.filter(e=>{var l;return null===(l=e.guardrail_name)||void 0===l?void 0:l.toLowerCase().includes(d.toLowerCase())}),v=e=>{let l=new Set(r);l.has(e)?l.delete(e):l.add(e),s(l)},y=async e=>{if(0===r.size||!t)return;f(!0),m([]),p([]);let l=[],a=[];await Promise.all(Array.from(r).map(async i=>{let r=Date.now();try{let a=await (0,h.applyGuardrail)(t,i,e,null,null),s=Date.now()-r;l.push({guardrailName:i,response_text:a.response_text,latency:s})}catch(l){let e=Date.now()-r;console.error("Error testing guardrail ".concat(i,":"),l),a.push({guardrailName:i,error:l,latency:e})}})),m(l),p(a),f(!1),l.length>0&&et.Z.success("".concat(l.length," guardrail").concat(l.length>1?"s":""," applied successfully")),a.length>0&&et.Z.fromBackend("".concat(a.length," guardrail").concat(a.length>1?"s":""," failed"))};return(0,n.jsx)("div",{className:"w-full h-[calc(100vh-200px)]",children:(0,n.jsx)(ls.Z,{className:"h-full",children:(0,n.jsxs)("div",{className:"flex h-full",children:[(0,n.jsxs)("div",{className:"w-1/4 border-r border-gray-200 flex flex-col overflow-hidden",children:[(0,n.jsx)("div",{className:"p-4 border-b border-gray-200",children:(0,n.jsxs)("div",{className:"mb-3",children:[(0,n.jsx)(lg.Z,{className:"text-lg font-semibold mb-3",children:"Guardrails"}),(0,n.jsx)(eg.Z,{icon:lj.Z,placeholder:"Search guardrails...",value:d,onValueChange:c})]})}),(0,n.jsx)("div",{className:"flex-1 overflow-auto",children:a?(0,n.jsx)("div",{className:"flex items-center justify-center h-32",children:(0,n.jsx)(H.Z,{})}):0===j.length?(0,n.jsx)("div",{className:"p-4",children:(0,n.jsx)(eT.Z,{description:d?"No guardrails match your search":"No guardrails available"})}):(0,n.jsx)(lf.Z,{dataSource:j,renderItem:e=>(0,n.jsx)(lf.Z.Item,{onClick:()=>{e.guardrail_name&&v(e.guardrail_name)},className:"cursor-pointer hover:bg-gray-50 transition-colors px-4 ".concat(r.has(e.guardrail_name||"")?"bg-blue-50 border-l-4 border-l-blue-500":"border-l-4 border-l-transparent"),children:(0,n.jsx)(lf.Z.Item.Meta,{avatar:(0,n.jsx)(T.Z,{checked:r.has(e.guardrail_name||""),onClick:l=>{l.stopPropagation(),e.guardrail_name&&v(e.guardrail_name)}}),title:(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,n.jsx)(lv.Z,{className:"text-gray-400"}),(0,n.jsx)("span",{className:"font-medium text-gray-900",children:e.guardrail_name})]}),description:(0,n.jsxs)("div",{className:"text-xs space-y-1 mt-1",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"font-medium",children:"Type: "}),(0,n.jsx)("span",{className:"text-gray-600",children:e.litellm_params.guardrail})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"font-medium",children:"Mode: "}),(0,n.jsx)("span",{className:"text-gray-600",children:e.litellm_params.mode})]})]})})})})}),(0,n.jsx)("div",{className:"p-3 border-t border-gray-200 bg-gray-50",children:(0,n.jsxs)(ln.Z,{className:"text-xs text-gray-600",children:[r.size," of ",j.length," selected"]})})]}),(0,n.jsxs)("div",{className:"w-3/4 flex flex-col bg-white",children:[(0,n.jsx)("div",{className:"p-4 border-b border-gray-200 flex justify-between items-center",children:(0,n.jsx)(lg.Z,{className:"text-xl font-semibold mb-0",children:"Guardrail Testing Playground"})}),(0,n.jsx)("div",{className:"flex-1 overflow-auto p-4",children:0===r.size?(0,n.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-gray-400",children:[(0,n.jsx)(lv.Z,{style:{fontSize:"48px",marginBottom:"16px"}}),(0,n.jsx)(ln.Z,{className:"text-lg font-medium text-gray-600 mb-2",children:"Select Guardrails to Test"}),(0,n.jsx)(ln.Z,{className:"text-center text-gray-500 max-w-md",children:"Choose one or more guardrails from the left sidebar to start testing and comparing results."})]}):(0,n.jsx)("div",{className:"h-full",children:(0,n.jsx)(lP,{guardrailNames:Array.from(r),onSubmit:y,results:u.length>0?u:null,errors:x.length>0?x:null,isLoading:g,onClose:()=>s(new Set)})})})]})]})})})},lI=a(21609),lA=e=>{let{accessToken:l,userRole:a}=e,[t,i]=(0,o.useState)([]),[r,s]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),[j,v]=(0,o.useState)(!1),[y,_]=(0,o.useState)(null),[b,N]=(0,o.useState)(!1),[w,k]=(0,o.useState)(null),[C,S]=(0,o.useState)(0),Z=!!a&&(0,lt.tY)(a),P=async()=>{if(l){f(!0);try{let e=await (0,h.getGuardrailsList)(l);console.log("guardrails: ".concat(JSON.stringify(e))),i(e.guardrails)}catch(e){console.error("Error fetching guardrails:",e)}finally{f(!1)}}};(0,o.useEffect)(()=>{P()},[l]);let O=async()=>{if(y&&l){v(!0);try{await (0,h.deleteGuardrailCall)(l,y.guardrail_id),et.Z.success('Guardrail "'.concat(y.guardrail_name,'" deleted successfully')),await P()}catch(e){console.error("Error deleting guardrail:",e),et.Z.fromBackend("Failed to delete guardrail")}finally{v(!1),N(!1),_(null)}}},I=y&&y.litellm_params?A(y.litellm_params.guardrail).displayName:void 0;return(0,n.jsx)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:(0,n.jsxs)(u.Z,{index:C,onIndexChange:S,children:[(0,n.jsxs)(m.Z,{className:"mb-4",children:[(0,n.jsx)(c.Z,{children:"Guardrails"}),(0,n.jsx)(c.Z,{disabled:!l||0===t.length,children:"Test Playground"})]}),(0,n.jsxs)(p.Z,{children:[(0,n.jsxs)(x.Z,{children:[(0,n.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,n.jsx)(d.Z,{onClick:()=>{w&&k(null),s(!0)},disabled:!l,children:"+ Add New Guardrail"})}),w?(0,n.jsx)(lh,{guardrailId:w,onClose:()=>k(null),accessToken:l,isAdmin:Z}):(0,n.jsx)(la,{guardrailsList:t,isLoading:g,onDeleteClick:(e,l)=>{_(t.find(l=>l.guardrail_id===e)||null),N(!0)},accessToken:l,onGuardrailUpdated:P,isAdmin:Z,onGuardrailClick:e=>k(e)}),(0,n.jsx)(eU,{visible:r,onClose:()=>{s(!1)},accessToken:l,onSuccess:()=>{P()}}),(0,n.jsx)(lI.Z,{isOpen:b,title:"Delete Guardrail",message:"Are you sure you want to delete guardrail: ".concat(null==y?void 0:y.guardrail_name,"? This action cannot be undone."),resourceInformationTitle:"Guardrail Information",resourceInformation:[{label:"Name",value:null==y?void 0:y.guardrail_name},{label:"ID",value:null==y?void 0:y.guardrail_id,code:!0},{label:"Provider",value:I},{label:"Mode",value:null==y?void 0:y.litellm_params.mode},{label:"Default On",value:(null==y?void 0:y.litellm_params.default_on)?"Yes":"No"}],onCancel:()=>{N(!1),_(null)},onOk:O,confirmLoading:j})]}),(0,n.jsx)(x.Z,{children:(0,n.jsx)(lO,{guardrailsList:t,isLoading:g,accessToken:l,onClose:()=>S(0)})})]})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1739-d3bc839f59e07ce9.js b/litellm/proxy/_experimental/out/_next/static/chunks/1739-e00951b4ce375e4e.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/1739-d3bc839f59e07ce9.js rename to litellm/proxy/_experimental/out/_next/static/chunks/1739-e00951b4ce375e4e.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/1971-e7ecf0afb327457d.js b/litellm/proxy/_experimental/out/_next/static/chunks/1971-e7ecf0afb327457d.js deleted file mode 100644 index b23e1a59a2..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/1971-e7ecf0afb327457d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1971,5945,1623],{58747:function(e,t,r){r.d(t,{Z:function(){return o}});var n=r(5853),a=r(2265);let o=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"}))}},4537:function(e,t,r){r.d(t,{Z:function(){return o}});var n=r(5853),a=r(2265);let o=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z"}))}},30150:function(e,t,r){r.d(t,{Z:function(){return h}});var n=r(5853),a=r(2265);let o=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),a.createElement("path",{d:"M12 4v16m8-8H4"}))},i=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),a.createElement("path",{d:"M20 12H4"}))};var s=r(13241),l=r(1153),c=r(69262);let u="flex mx-auto text-tremor-content-subtle dark:text-dark-tremor-content-subtle",d="cursor-pointer hover:text-tremor-content dark:hover:text-dark-tremor-content",h=a.forwardRef((e,t)=>{let{onSubmit:r,enableStepper:h=!0,disabled:m,onValueChange:f,onChange:p}=e,b=(0,n._T)(e,["onSubmit","enableStepper","disabled","onValueChange","onChange"]),g=(0,a.useRef)(null),[v,y]=a.useState(!1),w=a.useCallback(()=>{y(!0)},[]),x=a.useCallback(()=>{y(!1)},[]),[E,C]=a.useState(!1),O=a.useCallback(()=>{C(!0)},[]),k=a.useCallback(()=>{C(!1)},[]);return a.createElement(c.Z,Object.assign({type:"number",ref:(0,l.lq)([g,t]),disabled:m,makeInputClassName:(0,l.fn)("NumberInput"),onKeyDown:e=>{var t;if("Enter"===e.key&&!e.ctrlKey&&!e.altKey&&!e.shiftKey){let e=null===(t=g.current)||void 0===t?void 0:t.value;null==r||r(parseFloat(null!=e?e:""))}"ArrowDown"===e.key&&w(),"ArrowUp"===e.key&&O()},onKeyUp:e=>{"ArrowDown"===e.key&&x(),"ArrowUp"===e.key&&k()},onChange:e=>{m||(null==f||f(parseFloat(e.target.value)),null==p||p(e))},stepper:h?a.createElement("div",{className:(0,s.q)("flex justify-center align-middle")},a.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;m||(null===(e=g.current)||void 0===e||e.stepDown(),null===(t=g.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,s.q)(!m&&d,u,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},a.createElement(i,{"data-testid":"step-down",className:(v?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"})),a.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;m||(null===(e=g.current)||void 0===e||e.stepUp(),null===(t=g.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,s.q)(!m&&d,u,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},a.createElement(o,{"data-testid":"step-up",className:(E?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"}))):null},b))});h.displayName="NumberInput"},27281:function(e,t,r){r.d(t,{Z:function(){return f}});var n=r(5853),a=r(58747),o=r(2265),i=r(4537),s=r(13241),l=r(1153),c=r(96398),u=r(51975),d=r(85238),h=r(44140);let m=(0,l.fn)("Select"),f=o.forwardRef((e,t)=>{let{defaultValue:r="",value:l,onValueChange:f,placeholder:p="Select...",disabled:b=!1,icon:g,enableClear:v=!1,required:y,children:w,name:x,error:E=!1,errorMessage:C,className:O,id:k}=e,S=(0,n._T)(e,["defaultValue","value","onValueChange","placeholder","disabled","icon","enableClear","required","children","name","error","errorMessage","className","id"]),P=(0,o.useRef)(null),N=o.Children.toArray(w),[T,q]=(0,h.Z)(r,l),M=(0,o.useMemo)(()=>{let e=o.Children.toArray(w).filter(o.isValidElement);return(0,c.sl)(e)},[w]);return o.createElement("div",{className:(0,s.q)("w-full min-w-[10rem] text-tremor-default",O)},o.createElement("div",{className:"relative"},o.createElement("select",{title:"select-hidden",required:y,className:(0,s.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:T,onChange:e=>{e.preventDefault()},name:x,disabled:b,id:k,onFocus:()=>{let e=P.current;e&&e.focus()}},o.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},p),N.map(e=>{let t=e.props.value,r=e.props.children;return o.createElement("option",{className:"hidden",key:t,value:t},r)})),o.createElement(u.Ri,Object.assign({as:"div",ref:t,defaultValue:T,value:T,onChange:e=>{null==f||f(e),q(e)},disabled:b,id:k},S),e=>{var t;let{value:r}=e;return o.createElement(o.Fragment,null,o.createElement(u.Y4,{ref:P,className:(0,s.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-2","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",g?"pl-10":"pl-3",(0,c.um)((0,c.Uh)(r),b,E))},g&&o.createElement("span",{className:(0,s.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},o.createElement(g,{className:(0,s.q)(m("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),o.createElement("span",{className:"w-[90%] block truncate"},r&&null!==(t=M.get(r))&&void 0!==t?t:p),o.createElement("span",{className:(0,s.q)("absolute inset-y-0 right-0 flex items-center mr-3")},o.createElement(a.Z,{className:(0,s.q)(m("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),v&&T?o.createElement("button",{type:"button",className:(0,s.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),q(""),null==f||f("")}},o.createElement(i.Z,{className:(0,s.q)(m("clearIcon"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,o.createElement(d.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},o.createElement(u.O_,{anchor:"bottom start",className:(0,s.q)("z-10 w-[var(--button-width)] divide-y overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},w)))})),E&&C?o.createElement("p",{className:(0,s.q)("errorMessage","text-sm text-rose-500 mt-1")},C):null)});f.displayName="Select"},16853:function(e,t,r){r.d(t,{Z:function(){return u}});var n=r(5853),a=r(96398),o=r(44140),i=r(2265),s=r(13241),l=r(1153);let c=(0,l.fn)("Textarea"),u=i.forwardRef((e,t)=>{let{value:r,defaultValue:u="",placeholder:d="Type...",error:h=!1,errorMessage:m,disabled:f=!1,className:p,onChange:b,onValueChange:g,autoHeight:v=!1}=e,y=(0,n._T)(e,["value","defaultValue","placeholder","error","errorMessage","disabled","className","onChange","onValueChange","autoHeight"]),[w,x]=(0,o.Z)(u,r),E=(0,i.useRef)(null),C=(0,a.Uh)(w);return(0,i.useEffect)(()=>{let e=E.current;if(v&&e){e.style.height="60px";let t=e.scrollHeight;e.style.height=t+"px"}},[v,E,w]),i.createElement(i.Fragment,null,i.createElement("textarea",Object.assign({ref:(0,l.lq)([E,t]),value:w,placeholder:d,disabled:f,className:(0,s.q)(c("Textarea"),"w-full flex items-center outline-none rounded-tremor-default px-3 py-2 text-tremor-default focus:ring-2 transition duration-100 border","shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:shadow-dark-tremor-input focus:dark:border-dark-tremor-brand-subtle focus:dark:ring-dark-tremor-brand-muted",(0,a.um)(C,f,h),f?"placeholder:text-tremor-content-subtle dark:placeholder:text-dark-tremor-content-subtle":"placeholder:text-tremor-content dark:placeholder:text-dark-tremor-content",p),"data-testid":"text-area",onChange:e=>{null==b||b(e),x(e.target.value),null==g||g(e.target.value)}},y)),h&&m?i.createElement("p",{className:(0,s.q)(c("errorMessage"),"text-sm text-red-500 mt-1")},m):null)});u.displayName="Textarea"},87452:function(e,t,r){r.d(t,{Z:function(){return d},r:function(){return u}});var n=r(5853),a=r(91054);r(42698),r(64016);var o=r(8710);r(33232);var i=r(13241),s=r(1153),l=r(2265);let c=(0,s.fn)("Accordion"),u=(0,l.createContext)({isOpen:!1}),d=l.forwardRef((e,t)=>{var r;let{defaultOpen:s=!1,children:d,className:h}=e,m=(0,n._T)(e,["defaultOpen","children","className"]),f=null!==(r=(0,l.useContext)(o.Z))&&void 0!==r?r:(0,i.q)("rounded-tremor-default border");return l.createElement(a.pJ,Object.assign({as:"div",ref:t,className:(0,i.q)(c("root"),"overflow-hidden","bg-tremor-background border-tremor-border","dark:bg-dark-tremor-background dark:border-dark-tremor-border",f,h),defaultOpen:s},m),e=>{let{open:t}=e;return l.createElement(u.Provider,{value:{isOpen:t}},d)})});d.displayName="Accordion"},88829:function(e,t,r){r.d(t,{Z:function(){return l}});var n=r(5853),a=r(2265),o=r(91054),i=r(13241);let s=(0,r(1153).fn)("AccordionBody"),l=a.forwardRef((e,t)=>{let{children:r,className:l}=e,c=(0,n._T)(e,["children","className"]);return a.createElement(o.pJ.Panel,Object.assign({ref:t,className:(0,i.q)(s("root"),"w-full text-tremor-default px-4 pb-3","text-tremor-content","dark:text-dark-tremor-content",l)},c),r)});l.displayName="AccordionBody"},72208:function(e,t,r){r.d(t,{Z:function(){return u}});var n=r(5853),a=r(2265),o=r(91054);let i=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M11.9999 10.8284L7.0502 15.7782L5.63599 14.364L11.9999 8L18.3639 14.364L16.9497 15.7782L11.9999 10.8284Z"}))};var s=r(87452),l=r(13241);let c=(0,r(1153).fn)("AccordionHeader"),u=a.forwardRef((e,t)=>{let{children:r,className:u}=e,d=(0,n._T)(e,["children","className"]),{isOpen:h}=(0,a.useContext)(s.r);return a.createElement(o.pJ.Button,Object.assign({ref:t,className:(0,l.q)(c("root"),"w-full flex items-center justify-between px-4 py-3","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis",u)},d),a.createElement("div",{className:(0,l.q)(c("children"),"flex flex-1 text-inherit mr-4")},r),a.createElement("div",null,a.createElement(i,{className:(0,l.q)(c("arrowIcon"),"h-5 w-5 -mr-1","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle",h?"transition-all":"transition-all -rotate-180")})))});u.displayName="AccordionHeader"},67982:function(e,t,r){r.d(t,{Z:function(){return l}});var n=r(5853),a=r(13241),o=r(1153),i=r(2265);let s=(0,o.fn)("Divider"),l=i.forwardRef((e,t)=>{let{className:r,children:o}=e,l=(0,n._T)(e,["className","children"]);return i.createElement("div",Object.assign({ref:t,className:(0,a.q)(s("root"),"w-full mx-auto my-6 flex justify-between gap-3 items-center text-tremor-default","text-tremor-content","dark:text-dark-tremor-content",r)},l),o?i.createElement(i.Fragment,null,i.createElement("div",{className:(0,a.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")}),i.createElement("div",{className:(0,a.q)("text-inherit whitespace-nowrap")},o),i.createElement("div",{className:(0,a.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")})):i.createElement("div",{className:(0,a.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")}))});l.displayName="Divider"},44140:function(e,t,r){r.d(t,{Z:function(){return a}});var n=r(2265);let a=(e,t)=>{let r=void 0!==t,[a,o]=(0,n.useState)(e);return[r?t:a,e=>{r||o(e)}]}},5945:function(e,t,r){r.d(t,{Z:function(){return M}});var n=r(2265),a=r(36760),o=r.n(a),i=r(18694),s=r(71744),l=r(33759),c=r(50337),u=r(65869),d=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);at.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r},h=e=>{var{prefixCls:t,className:r,hoverable:a=!0}=e,i=d(e,["prefixCls","className","hoverable"]);let{getPrefixCls:l}=n.useContext(s.E_),c=l("card",t),u=o()("".concat(c,"-grid"),r,{["".concat(c,"-grid-hoverable")]:a});return n.createElement("div",Object.assign({},i,{className:u}))},m=r(93463),f=r(12918),p=r(99320),b=r(71140);let g=e=>{let{antCls:t,componentCls:r,headerHeight:n,headerPadding:a,tabsMarginBottom:o}=e;return Object.assign(Object.assign({display:"flex",justifyContent:"center",flexDirection:"column",minHeight:n,marginBottom:-1,padding:"0 ".concat((0,m.bf)(a)),color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:e.headerFontSize,background:e.headerBg,borderBottom:"".concat((0,m.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorderSecondary),borderRadius:"".concat((0,m.bf)(e.borderRadiusLG)," ").concat((0,m.bf)(e.borderRadiusLG)," 0 0")},(0,f.dF)()),{"&-wrapper":{width:"100%",display:"flex",alignItems:"center"},"&-title":Object.assign(Object.assign({display:"inline-block",flex:1},f.vS),{["\n > ".concat(r,"-typography,\n > ").concat(r,"-typography-edit-content\n ")]:{insetInlineStart:0,marginTop:0,marginBottom:0}}),["".concat(t,"-tabs-top")]:{clear:"both",marginBottom:o,color:e.colorText,fontWeight:"normal",fontSize:e.fontSize,"&-bar":{borderBottom:"".concat((0,m.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorderSecondary)}}})},v=e=>{let{cardPaddingBase:t,colorBorderSecondary:r,cardShadow:n,lineWidth:a}=e;return{width:"33.33%",padding:t,border:0,borderRadius:0,boxShadow:"\n ".concat((0,m.bf)(a)," 0 0 0 ").concat(r,",\n 0 ").concat((0,m.bf)(a)," 0 0 ").concat(r,",\n ").concat((0,m.bf)(a)," ").concat((0,m.bf)(a)," 0 0 ").concat(r,",\n ").concat((0,m.bf)(a)," 0 0 0 ").concat(r," inset,\n 0 ").concat((0,m.bf)(a)," 0 0 ").concat(r," inset;\n "),transition:"all ".concat(e.motionDurationMid),"&-hoverable:hover":{position:"relative",zIndex:1,boxShadow:n}}},y=e=>{let{componentCls:t,iconCls:r,actionsLiMargin:n,cardActionsIconSize:a,colorBorderSecondary:o,actionsBg:i}=e;return Object.assign(Object.assign({margin:0,padding:0,listStyle:"none",background:i,borderTop:"".concat((0,m.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(o),display:"flex",borderRadius:"0 0 ".concat((0,m.bf)(e.borderRadiusLG)," ").concat((0,m.bf)(e.borderRadiusLG))},(0,f.dF)()),{"& > li":{margin:n,color:e.colorTextDescription,textAlign:"center","> span":{position:"relative",display:"block",minWidth:e.calc(e.cardActionsIconSize).mul(2).equal(),fontSize:e.fontSize,lineHeight:e.lineHeight,cursor:"pointer","&:hover":{color:e.colorPrimary,transition:"color ".concat(e.motionDurationMid)},["a:not(".concat(t,"-btn), > ").concat(r)]:{display:"inline-block",width:"100%",color:e.colorIcon,lineHeight:(0,m.bf)(e.fontHeight),transition:"color ".concat(e.motionDurationMid),"&:hover":{color:e.colorPrimary}},["> ".concat(r)]:{fontSize:a,lineHeight:(0,m.bf)(e.calc(a).mul(e.lineHeight).equal())}},"&:not(:last-child)":{borderInlineEnd:"".concat((0,m.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(o)}}})},w=e=>Object.assign(Object.assign({margin:"".concat((0,m.bf)(e.calc(e.marginXXS).mul(-1).equal())," 0"),display:"flex"},(0,f.dF)()),{"&-avatar":{paddingInlineEnd:e.padding},"&-detail":{overflow:"hidden",flex:1,"> div:not(:last-child)":{marginBottom:e.marginXS}},"&-title":Object.assign({color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:e.fontSizeLG},f.vS),"&-description":{color:e.colorTextDescription}}),x=e=>{let{componentCls:t,colorFillAlter:r,headerPadding:n,bodyPadding:a}=e;return{["".concat(t,"-head")]:{padding:"0 ".concat((0,m.bf)(n)),background:r,"&-title":{fontSize:e.fontSize}},["".concat(t,"-body")]:{padding:"".concat((0,m.bf)(e.padding)," ").concat((0,m.bf)(a))}}},E=e=>{let{componentCls:t}=e;return{overflow:"hidden",["".concat(t,"-body")]:{userSelect:"none"}}},C=e=>{let{componentCls:t,cardShadow:r,cardHeadPadding:n,colorBorderSecondary:a,boxShadowTertiary:o,bodyPadding:i,extraColor:s}=e;return{[t]:Object.assign(Object.assign({},(0,f.Wf)(e)),{position:"relative",background:e.colorBgContainer,borderRadius:e.borderRadiusLG,["&:not(".concat(t,"-bordered)")]:{boxShadow:o},["".concat(t,"-head")]:g(e),["".concat(t,"-extra")]:{marginInlineStart:"auto",color:s,fontWeight:"normal",fontSize:e.fontSize},["".concat(t,"-body")]:{padding:i,borderRadius:"0 0 ".concat((0,m.bf)(e.borderRadiusLG)," ").concat((0,m.bf)(e.borderRadiusLG))},["".concat(t,"-grid")]:v(e),["".concat(t,"-cover")]:{"> *":{display:"block",width:"100%",borderRadius:"".concat((0,m.bf)(e.borderRadiusLG)," ").concat((0,m.bf)(e.borderRadiusLG)," 0 0")}},["".concat(t,"-actions")]:y(e),["".concat(t,"-meta")]:w(e)}),["".concat(t,"-bordered")]:{border:"".concat((0,m.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(a),["".concat(t,"-cover")]:{marginTop:-1,marginInlineStart:-1,marginInlineEnd:-1}},["".concat(t,"-hoverable")]:{cursor:"pointer",transition:"box-shadow ".concat(e.motionDurationMid,", border-color ").concat(e.motionDurationMid),"&:hover":{borderColor:"transparent",boxShadow:r}},["".concat(t,"-contain-grid")]:{borderRadius:"".concat((0,m.bf)(e.borderRadiusLG)," ").concat((0,m.bf)(e.borderRadiusLG)," 0 0 "),["".concat(t,"-body")]:{display:"flex",flexWrap:"wrap"},["&:not(".concat(t,"-loading) ").concat(t,"-body")]:{marginBlockStart:e.calc(e.lineWidth).mul(-1).equal(),marginInlineStart:e.calc(e.lineWidth).mul(-1).equal(),padding:0}},["".concat(t,"-contain-tabs")]:{["> div".concat(t,"-head")]:{minHeight:0,["".concat(t,"-head-title, ").concat(t,"-extra")]:{paddingTop:n}}},["".concat(t,"-type-inner")]:x(e),["".concat(t,"-loading")]:E(e),["".concat(t,"-rtl")]:{direction:"rtl"}}},O=e=>{let{componentCls:t,bodyPaddingSM:r,headerPaddingSM:n,headerHeightSM:a,headerFontSizeSM:o}=e;return{["".concat(t,"-small")]:{["> ".concat(t,"-head")]:{minHeight:a,padding:"0 ".concat((0,m.bf)(n)),fontSize:o,["> ".concat(t,"-head-wrapper")]:{["> ".concat(t,"-extra")]:{fontSize:e.fontSize}}},["> ".concat(t,"-body")]:{padding:r}},["".concat(t,"-small").concat(t,"-contain-tabs")]:{["> ".concat(t,"-head")]:{["".concat(t,"-head-title, ").concat(t,"-extra")]:{paddingTop:0,display:"flex",alignItems:"center"}}}}};var k=(0,p.I$)("Card",e=>{let t=(0,b.IX)(e,{cardShadow:e.boxShadowCard,cardHeadPadding:e.padding,cardPaddingBase:e.paddingLG,cardActionsIconSize:e.fontSize});return[C(t),O(t)]},e=>{var t,r;return{headerBg:"transparent",headerFontSize:e.fontSizeLG,headerFontSizeSM:e.fontSize,headerHeight:e.fontSizeLG*e.lineHeightLG+2*e.padding,headerHeightSM:e.fontSize*e.lineHeight+2*e.paddingXS,actionsBg:e.colorBgContainer,actionsLiMargin:"".concat(e.paddingSM,"px 0"),tabsMarginBottom:-e.padding-e.lineWidth,extraColor:e.colorText,bodyPaddingSM:12,headerPaddingSM:12,bodyPadding:null!==(t=e.bodyPadding)&&void 0!==t?t:e.paddingLG,headerPadding:null!==(r=e.headerPadding)&&void 0!==r?r:e.paddingLG}}),S=r(56250),P=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);at.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r};let N=e=>{let{actionClasses:t,actions:r=[],actionStyle:a}=e;return n.createElement("ul",{className:t,style:a},r.map((e,t)=>n.createElement("li",{style:{width:"".concat(100/r.length,"%")},key:"action-".concat(t)},n.createElement("span",null,e))))},T=n.forwardRef((e,t)=>{let r;let{prefixCls:a,className:d,rootClassName:m,style:f,extra:p,headStyle:b={},bodyStyle:g={},title:v,loading:y,bordered:w,variant:x,size:E,type:C,cover:O,actions:T,tabList:q,children:M,activeTabKey:j,defaultActiveTabKey:D,tabBarExtraContent:L,hoverable:R,tabProps:I={},classNames:_,styles:Z}=e,F=P(e,["prefixCls","className","rootClassName","style","extra","headStyle","bodyStyle","title","loading","bordered","variant","size","type","cover","actions","tabList","children","activeTabKey","defaultActiveTabKey","tabBarExtraContent","hoverable","tabProps","classNames","styles"]),{getPrefixCls:A,direction:z,card:H}=n.useContext(s.E_),[B]=(0,S.Z)("card",x,w),V=e=>{var t;return o()(null===(t=null==H?void 0:H.classNames)||void 0===t?void 0:t[e],null==_?void 0:_[e])},Q=e=>{var t;return Object.assign(Object.assign({},null===(t=null==H?void 0:H.styles)||void 0===t?void 0:t[e]),null==Z?void 0:Z[e])},G=n.useMemo(()=>{let e=!1;return n.Children.forEach(M,t=>{(null==t?void 0:t.type)===h&&(e=!0)}),e},[M]),K=A("card",a),[W,U,X]=k(K),J=n.createElement(c.Z,{loading:!0,active:!0,paragraph:{rows:4},title:!1},M),Y=void 0!==j,$=Object.assign(Object.assign({},I),{[Y?"activeKey":"defaultActiveKey"]:Y?j:D,tabBarExtraContent:L}),ee=(0,l.Z)(E),et=ee&&"default"!==ee?ee:"large",er=q?n.createElement(u.default,Object.assign({size:et},$,{className:"".concat(K,"-head-tabs"),onChange:t=>{var r;null===(r=e.onTabChange)||void 0===r||r.call(e,t)},items:q.map(e=>{var{tab:t}=e;return Object.assign({label:t},P(e,["tab"]))})})):null;if(v||p||er){let e=o()("".concat(K,"-head"),V("header")),t=o()("".concat(K,"-head-title"),V("title")),a=o()("".concat(K,"-extra"),V("extra")),i=Object.assign(Object.assign({},b),Q("header"));r=n.createElement("div",{className:e,style:i},n.createElement("div",{className:"".concat(K,"-head-wrapper")},v&&n.createElement("div",{className:t,style:Q("title")},v),p&&n.createElement("div",{className:a,style:Q("extra")},p)),er)}let en=o()("".concat(K,"-cover"),V("cover")),ea=O?n.createElement("div",{className:en,style:Q("cover")},O):null,eo=o()("".concat(K,"-body"),V("body")),ei=Object.assign(Object.assign({},g),Q("body")),es=n.createElement("div",{className:eo,style:ei},y?J:M),el=o()("".concat(K,"-actions"),V("actions")),ec=(null==T?void 0:T.length)?n.createElement(N,{actionClasses:el,actionStyle:Q("actions"),actions:T}):null,eu=(0,i.Z)(F,["onTabChange"]),ed=o()(K,null==H?void 0:H.className,{["".concat(K,"-loading")]:y,["".concat(K,"-bordered")]:"borderless"!==B,["".concat(K,"-hoverable")]:R,["".concat(K,"-contain-grid")]:G,["".concat(K,"-contain-tabs")]:null==q?void 0:q.length,["".concat(K,"-").concat(ee)]:ee,["".concat(K,"-type-").concat(C)]:!!C,["".concat(K,"-rtl")]:"rtl"===z},d,m,U,X),eh=Object.assign(Object.assign({},null==H?void 0:H.style),f);return W(n.createElement("div",Object.assign({ref:t},eu,{className:ed,style:eh}),r,ea,es,ec))});var q=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);at.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r};T.Grid=h,T.Meta=e=>{let{prefixCls:t,className:r,avatar:a,title:i,description:l}=e,c=q(e,["prefixCls","className","avatar","title","description"]),{getPrefixCls:u}=n.useContext(s.E_),d=u("card",t),h=o()("".concat(d,"-meta"),r),m=a?n.createElement("div",{className:"".concat(d,"-meta-avatar")},a):null,f=i?n.createElement("div",{className:"".concat(d,"-meta-title")},i):null,p=l?n.createElement("div",{className:"".concat(d,"-meta-description")},l):null,b=f||p?n.createElement("div",{className:"".concat(d,"-meta-detail")},f,p):null;return n.createElement("div",Object.assign({},c,{className:h}),m,b)};var M=T},10900:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=a},44633:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=a},15731:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=a},53410:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});t.Z=a},23628:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});t.Z=a},49084:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});t.Z=a},2894:function(e,t,r){r.d(t,{R:function(){return s},m:function(){return i}});var n=r(18238),a=r(7989),o=r(11255),i=class extends a.F{#e;#t;#r;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||s(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#a({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=(0,o.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let n="pending"===this.state.status,a=!this.#n.canStart();try{if(n)t();else{this.#a({type:"pending",variables:e,isPaused:a}),await this.#r.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#a({type:"pending",context:t,variables:e,isPaused:a})}let o=await this.#n.start();return await this.#r.config.onSuccess?.(o,e,this.state.context,this,r),await this.options.onSuccess?.(o,e,this.state.context,r),await this.#r.config.onSettled?.(o,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(o,null,e,this.state.context,r),this.#a({type:"success",data:o}),o}catch(t){try{throw await this.#r.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#a({type:"error",error:t})}}finally{this.#r.runNext(this)}}#a(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function s(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21623:function(e,t,r){r.d(t,{S:function(){return p}});var n=r(45345),a=r(21733),o=r(18238),i=r(24112),s=class extends i.l{constructor(e={}){super(),this.config=e,this.#o=new Map}#o;build(e,t,r){let o=t.queryKey,i=t.queryHash??(0,n.Rm)(o,t),s=this.get(i);return s||(s=new a.A({client:e,queryKey:o,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(o)}),this.add(s)),s}add(e){this.#o.has(e.queryHash)||(this.#o.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#o.get(e.queryHash);t&&(e.destroy(),t===e&&this.#o.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){o.Vr.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#o.get(e)}getAll(){return[...this.#o.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n._x)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n._x)(e,t)):t}notify(e){o.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){o.Vr.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){o.Vr.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=r(2894),c=class extends i.l{constructor(e={}){super(),this.config=e,this.#i=new Set,this.#s=new Map,this.#l=0}#i;#s;#l;build(e,t,r){let n=new l.m({client:e,mutationCache:this,mutationId:++this.#l,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#i.add(e);let t=u(e);if("string"==typeof t){let r=this.#s.get(t);r?r.push(e):this.#s.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#i.delete(e)){let t=u(e);if("string"==typeof t){let r=this.#s.get(t);if(r){if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#s.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=u(e);if("string"!=typeof t)return!0;{let r=this.#s.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=u(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#s.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){o.Vr.batch(()=>{this.#i.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#i.clear(),this.#s.clear()})}getAll(){return Array.from(this.#i)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.X7)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.X7)(e,t))}notify(e){o.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return o.Vr.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.ZT))))}};function u(e){return e.options.scope?.id}var d=r(87045),h=r(57853);function m(e){return{onFetch:(t,r)=>{let a=t.options,o=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],s=t.state.data?.pageParams||[],l={pages:[],pageParams:[]},c=0,u=async()=>{let r=!1,u=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)})},d=(0,n.cG)(t.options,t.fetchOptions),h=async(e,a,o)=>{if(r)return Promise.reject();if(null==a&&e.pages.length)return Promise.resolve(e);let i=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:a,direction:o?"backward":"forward",meta:t.options.meta};return u(e),e})(),s=await d(i),{maxPages:l}=t.options,c=o?n.Ht:n.VX;return{pages:c(e.pages,s,l),pageParams:c(e.pageParams,a,l)}};if(o&&i.length){let e="backward"===o,t={pages:i,pageParams:s},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:f)(a,t);l=await h(t,r,e)}else{let t=e??i.length;do{let e=0===c?s[0]??a.initialPageParam:f(a,l);if(c>0&&null==e)break;l=await h(l,e),c++}while(ct.options.persister?.(u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=u}}}function f(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var p=class{#c;#r;#u;#d;#h;#m;#f;#p;constructor(e={}){this.#c=e.queryCache||new s,this.#r=e.mutationCache||new c,this.#u=e.defaultOptions||{},this.#d=new Map,this.#h=new Map,this.#m=0}mount(){this.#m++,1===this.#m&&(this.#f=d.j.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#c.onFocus())}),this.#p=h.N.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#c.onOnline())}))}unmount(){this.#m--,0===this.#m&&(this.#f?.(),this.#f=void 0,this.#p?.(),this.#p=void 0)}isFetching(e){return this.#c.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#r.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#c.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#c.build(this,t),a=r.state.data;return void 0===a?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.KC)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(a))}getQueriesData(e){return this.#c.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let a=this.defaultQueryOptions({queryKey:e}),o=this.#c.get(a.queryHash),i=o?.state.data,s=(0,n.SE)(t,i);if(void 0!==s)return this.#c.build(this,a).setData(s,{...r,manual:!0})}setQueriesData(e,t,r){return o.Vr.batch(()=>this.#c.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#c.get(t.queryHash)?.state}removeQueries(e){let t=this.#c;o.Vr.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#c;return o.Vr.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(o.Vr.batch(()=>this.#c.findAll(e).map(e=>e.cancel(r)))).then(n.ZT).catch(n.ZT)}invalidateQueries(e,t={}){return o.Vr.batch(()=>(this.#c.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(o.Vr.batch(()=>this.#c.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.ZT)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.ZT)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#c.build(this,t);return r.isStaleByTime((0,n.KC)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.ZT).catch(n.ZT)}fetchInfiniteQuery(e){return e.behavior=m(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.ZT).catch(n.ZT)}ensureInfiniteQueryData(e){return e.behavior=m(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return h.N.isOnline()?this.#r.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#c}getMutationCache(){return this.#r}getDefaultOptions(){return this.#u}setDefaultOptions(e){this.#u=e}setQueryDefaults(e,t){this.#d.set((0,n.Ym)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#d.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#h.set((0,n.Ym)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#h.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#u.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.Rm)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.CN&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#u.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#c.clear(),this.#r.clear()}}},19616:function(e,t,r){r.d(t,{G:function(){return i}});var n=r(2265);let a={enabled:!0,leading:!1,trailing:!0,wait:0,onExecute:()=>{}};class o{constructor(e,t){this.fn=e,this._canLeadingExecute=!0,this._isPending=!1,this._executionCount=0,this._options={...a,...t}}setOptions(e){return this._options={...this._options,...e},this._options.enabled||(this._isPending=!1),this._options}getOptions(){return this._options}maybeExecute(...e){this._options.leading&&this._canLeadingExecute&&(this.executeFunction(...e),this._canLeadingExecute=!1),(this._options.leading||this._options.trailing)&&(this._isPending=!0),this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=setTimeout(()=>{this._canLeadingExecute=!0,this._isPending=!1,this._options.trailing&&this.executeFunction(...e)},this._options.wait)}executeFunction(...e){this._options.enabled&&(this.fn(...e),this._executionCount++,this._options.onExecute(this))}cancel(){this._timeoutId&&(clearTimeout(this._timeoutId),this._canLeadingExecute=!0,this._isPending=!1)}getExecutionCount(){return this._executionCount}getIsPending(){return this._options.enabled&&this._isPending}}function i(e,t){let[r,a]=(0,n.useState)(e),i=function(e,t){let[r]=(0,n.useState)(()=>{var r;return Object.getOwnPropertyNames(Object.getPrototypeOf(r=new o(e,t))).filter(e=>"function"==typeof r[e]).reduce((e,t)=>{let n=r[t];return"function"==typeof n&&(e[t]=n.bind(r)),e},{})});return r.setOptions(t),r}(a,t);return[r,i.maybeExecute,i]}},91054:function(e,t,r){let n,a;r.d(t,{pJ:function(){return j}});var o,i=r(71049),s=r(11323),l=r(2265),c=r(66797),u=r(93980),d=r(65573),h=r(67561),m=r(98218),f=r(33443),p=r(28294),b=r(31370),g=r(72468),v=r(5664),y=r(38929);let w=null!=(o=l.startTransition)?o:function(e){e()};var x=r(52724),E=((n=E||{})[n.Open=0]="Open",n[n.Closed=1]="Closed",n),C=((a=C||{})[a.ToggleDisclosure=0]="ToggleDisclosure",a[a.CloseDisclosure=1]="CloseDisclosure",a[a.SetButtonId=2]="SetButtonId",a[a.SetPanelId=3]="SetPanelId",a[a.SetButtonElement=4]="SetButtonElement",a[a.SetPanelElement=5]="SetPanelElement",a);let O={0:e=>({...e,disclosureState:(0,g.E)(e.disclosureState,{0:1,1:0})}),1:e=>1===e.disclosureState?e:{...e,disclosureState:1},2:(e,t)=>e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId},3:(e,t)=>e.panelId===t.panelId?e:{...e,panelId:t.panelId},4:(e,t)=>e.buttonElement===t.element?e:{...e,buttonElement:t.element},5:(e,t)=>e.panelElement===t.element?e:{...e,panelElement:t.element}},k=(0,l.createContext)(null);function S(e){let t=(0,l.useContext)(k);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,S),t}return t}k.displayName="DisclosureContext";let P=(0,l.createContext)(null);P.displayName="DisclosureAPIContext";let N=(0,l.createContext)(null);function T(e,t){return(0,g.E)(t.type,O,e,t)}N.displayName="DisclosurePanelContext";let q=l.Fragment,M=y.VN.RenderStrategy|y.VN.Static,j=Object.assign((0,y.yV)(function(e,t){let{defaultOpen:r=!1,...n}=e,a=(0,l.useRef)(null),o=(0,h.T)(t,(0,h.h)(e=>{a.current=e},void 0===e.as||e.as===l.Fragment)),i=(0,l.useReducer)(T,{disclosureState:r?0:1,buttonElement:null,panelElement:null,buttonId:null,panelId:null}),[{disclosureState:s,buttonId:c},d]=i,m=(0,u.z)(e=>{d({type:1});let t=(0,v.r)(a);if(!t||!c)return;let r=e?e instanceof HTMLElement?e:e.current instanceof HTMLElement?e.current:t.getElementById(c):t.getElementById(c);null==r||r.focus()}),b=(0,l.useMemo)(()=>({close:m}),[m]),w=(0,l.useMemo)(()=>({open:0===s,close:m}),[s,m]),x=(0,y.L6)();return l.createElement(k.Provider,{value:i},l.createElement(P.Provider,{value:b},l.createElement(f.Z,{value:m},l.createElement(p.up,{value:(0,g.E)(s,{0:p.ZM.Open,1:p.ZM.Closed})},x({ourProps:{ref:o},theirProps:n,slot:w,defaultTag:q,name:"Disclosure"})))))}),{Button:(0,y.yV)(function(e,t){let r=(0,l.useId)(),{id:n="headlessui-disclosure-button-".concat(r),disabled:a=!1,autoFocus:o=!1,...m}=e,[f,p]=S("Disclosure.Button"),g=(0,l.useContext)(N),v=null!==g&&g===f.panelId,w=(0,l.useRef)(null),E=(0,h.T)(w,t,(0,u.z)(e=>{if(!v)return p({type:4,element:e})}));(0,l.useEffect)(()=>{if(!v)return p({type:2,buttonId:n}),()=>{p({type:2,buttonId:null})}},[n,p,v]);let C=(0,u.z)(e=>{var t;if(v){if(1===f.disclosureState)return;switch(e.key){case x.R.Space:case x.R.Enter:e.preventDefault(),e.stopPropagation(),p({type:0}),null==(t=f.buttonElement)||t.focus()}}else switch(e.key){case x.R.Space:case x.R.Enter:e.preventDefault(),e.stopPropagation(),p({type:0})}}),O=(0,u.z)(e=>{e.key===x.R.Space&&e.preventDefault()}),k=(0,u.z)(e=>{var t;(0,b.P)(e.currentTarget)||a||(v?(p({type:0}),null==(t=f.buttonElement)||t.focus()):p({type:0}))}),{isFocusVisible:P,focusProps:T}=(0,i.F)({autoFocus:o}),{isHovered:q,hoverProps:M}=(0,s.X)({isDisabled:a}),{pressed:j,pressProps:D}=(0,c.x)({disabled:a}),L=(0,l.useMemo)(()=>({open:0===f.disclosureState,hover:q,active:j,disabled:a,focus:P,autofocus:o}),[f,q,j,P,a,o]),R=(0,d.f)(e,f.buttonElement),I=v?(0,y.dG)({ref:E,type:R,disabled:a||void 0,autoFocus:o,onKeyDown:C,onClick:k},T,M,D):(0,y.dG)({ref:E,id:n,type:R,"aria-expanded":0===f.disclosureState,"aria-controls":f.panelElement?f.panelId:void 0,disabled:a||void 0,autoFocus:o,onKeyDown:C,onKeyUp:O,onClick:k},T,M,D);return(0,y.L6)()({ourProps:I,theirProps:m,slot:L,defaultTag:"button",name:"Disclosure.Button"})}),Panel:(0,y.yV)(function(e,t){let r=(0,l.useId)(),{id:n="headlessui-disclosure-panel-".concat(r),transition:a=!1,...o}=e,[i,s]=S("Disclosure.Panel"),{close:c}=function e(t){let r=(0,l.useContext)(P);if(null===r){let r=Error("<".concat(t," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(r,e),r}return r}("Disclosure.Panel"),[d,f]=(0,l.useState)(null),b=(0,h.T)(t,(0,u.z)(e=>{w(()=>s({type:5,element:e}))}),f);(0,l.useEffect)(()=>(s({type:3,panelId:n}),()=>{s({type:3,panelId:null})}),[n,s]);let g=(0,p.oJ)(),[v,x]=(0,m.Y)(a,d,null!==g?(g&p.ZM.Open)===p.ZM.Open:0===i.disclosureState),E=(0,l.useMemo)(()=>({open:0===i.disclosureState,close:c}),[i.disclosureState,c]),C={ref:b,id:n,...(0,m.X)(x)},O=(0,y.L6)();return l.createElement(p.uu,null,l.createElement(N.Provider,{value:i.panelId},O({ourProps:C,theirProps:o,slot:E,defaultTag:"div",features:M,visible:v,name:"Disclosure.Panel"})))})})},85238:function(e,t,r){let n;r.d(t,{u:function(){return N}});var a=r(2265),o=r(59456),i=r(93980),s=r(25289),l=r(73389),c=r(43507),u=r(180),d=r(67561),h=r(98218),m=r(28294),f=r(95504),p=r(72468),b=r(38929);function g(e){var t;return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||(null!=(t=e.as)?t:C)!==a.Fragment||1===a.Children.count(e.children)}let v=(0,a.createContext)(null);v.displayName="TransitionContext";var y=((n=y||{}).Visible="visible",n.Hidden="hidden",n);let w=(0,a.createContext)(null);function x(e){return"children"in e?x(e.children):e.current.filter(e=>{let{el:t}=e;return null!==t.current}).filter(e=>{let{state:t}=e;return"visible"===t}).length>0}function E(e,t){let r=(0,c.E)(e),n=(0,a.useRef)([]),l=(0,s.t)(),u=(0,o.G)(),d=(0,i.z)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b.l4.Hidden,a=n.current.findIndex(t=>{let{el:r}=t;return r===e});-1!==a&&((0,p.E)(t,{[b.l4.Unmount](){n.current.splice(a,1)},[b.l4.Hidden](){n.current[a].state="hidden"}}),u.microTask(()=>{var e;!x(n)&&l.current&&(null==(e=r.current)||e.call(r))}))}),h=(0,i.z)(e=>{let t=n.current.find(t=>{let{el:r}=t;return r===e});return t?"visible"!==t.state&&(t.state="visible"):n.current.push({el:e,state:"visible"}),()=>d(e,b.l4.Unmount)}),m=(0,a.useRef)([]),f=(0,a.useRef)(Promise.resolve()),g=(0,a.useRef)({enter:[],leave:[]}),v=(0,i.z)((e,r,n)=>{m.current.splice(0),t&&(t.chains.current[r]=t.chains.current[r].filter(t=>{let[r]=t;return r!==e})),null==t||t.chains.current[r].push([e,new Promise(e=>{m.current.push(e)})]),null==t||t.chains.current[r].push([e,new Promise(e=>{Promise.all(g.current[r].map(e=>{let[t,r]=e;return r})).then(()=>e())})]),"enter"===r?f.current=f.current.then(()=>null==t?void 0:t.wait.current).then(()=>n(r)):n(r)}),y=(0,i.z)((e,t,r)=>{Promise.all(g.current[t].splice(0).map(e=>{let[t,r]=e;return r})).then(()=>{var e;null==(e=m.current.shift())||e()}).then(()=>r(t))});return(0,a.useMemo)(()=>({children:n,register:h,unregister:d,onStart:v,onStop:y,wait:f,chains:g}),[h,d,n,v,y,g,f])}w.displayName="NestingContext";let C=a.Fragment,O=b.VN.RenderStrategy,k=(0,b.yV)(function(e,t){let{show:r,appear:n=!1,unmount:o=!0,...s}=e,c=(0,a.useRef)(null),h=g(e),f=(0,d.T)(...h?[c,t]:null===t?[]:[t]);(0,u.H)();let p=(0,m.oJ)();if(void 0===r&&null!==p&&(r=(p&m.ZM.Open)===m.ZM.Open),void 0===r)throw Error("A is used but it is missing a `show={true | false}` prop.");let[y,C]=(0,a.useState)(r?"visible":"hidden"),k=E(()=>{r||C("hidden")}),[P,N]=(0,a.useState)(!0),T=(0,a.useRef)([r]);(0,l.e)(()=>{!1!==P&&T.current[T.current.length-1]!==r&&(T.current.push(r),N(!1))},[T,r]);let q=(0,a.useMemo)(()=>({show:r,appear:n,initial:P}),[r,n,P]);(0,l.e)(()=>{r?C("visible"):x(k)||null===c.current||C("hidden")},[r,k]);let M={unmount:o},j=(0,i.z)(()=>{var t;P&&N(!1),null==(t=e.beforeEnter)||t.call(e)}),D=(0,i.z)(()=>{var t;P&&N(!1),null==(t=e.beforeLeave)||t.call(e)}),L=(0,b.L6)();return a.createElement(w.Provider,{value:k},a.createElement(v.Provider,{value:q},L({ourProps:{...M,as:a.Fragment,children:a.createElement(S,{ref:f,...M,...s,beforeEnter:j,beforeLeave:D})},theirProps:{},defaultTag:a.Fragment,features:O,visible:"visible"===y,name:"Transition"})))}),S=(0,b.yV)(function(e,t){var r,n;let{transition:o=!0,beforeEnter:s,afterEnter:c,beforeLeave:y,afterLeave:k,enter:S,enterFrom:P,enterTo:N,entered:T,leave:q,leaveFrom:M,leaveTo:j,...D}=e,[L,R]=(0,a.useState)(null),I=(0,a.useRef)(null),_=g(e),Z=(0,d.T)(..._?[I,t,R]:null===t?[]:[t]),F=null==(r=D.unmount)||r?b.l4.Unmount:b.l4.Hidden,{show:A,appear:z,initial:H}=function(){let e=(0,a.useContext)(v);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),[B,V]=(0,a.useState)(A?"visible":"hidden"),Q=function(){let e=(0,a.useContext)(w);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),{register:G,unregister:K}=Q;(0,l.e)(()=>G(I),[G,I]),(0,l.e)(()=>{if(F===b.l4.Hidden&&I.current){if(A&&"visible"!==B){V("visible");return}return(0,p.E)(B,{hidden:()=>K(I),visible:()=>G(I)})}},[B,I,G,K,A,F]);let W=(0,u.H)();(0,l.e)(()=>{if(_&&W&&"visible"===B&&null===I.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[I,B,W,_]);let U=H&&!z,X=z&&A&&H,J=(0,a.useRef)(!1),Y=E(()=>{J.current||(V("hidden"),K(I))},Q),$=(0,i.z)(e=>{J.current=!0,Y.onStart(I,e?"enter":"leave",e=>{"enter"===e?null==s||s():"leave"===e&&(null==y||y())})}),ee=(0,i.z)(e=>{let t=e?"enter":"leave";J.current=!1,Y.onStop(I,t,e=>{"enter"===e?null==c||c():"leave"===e&&(null==k||k())}),"leave"!==t||x(Y)||(V("hidden"),K(I))});(0,a.useEffect)(()=>{_&&o||($(A),ee(A))},[A,_,o]);let et=!(!o||!_||!W||U),[,er]=(0,h.Y)(et,L,A,{start:$,end:ee}),en=(0,b.oA)({ref:Z,className:(null==(n=(0,f.A)(D.className,X&&S,X&&P,er.enter&&S,er.enter&&er.closed&&P,er.enter&&!er.closed&&N,er.leave&&q,er.leave&&!er.closed&&M,er.leave&&er.closed&&j,!er.transition&&A&&T))?void 0:n.trim())||void 0,...(0,h.X)(er)}),ea=0;"visible"===B&&(ea|=m.ZM.Open),"hidden"===B&&(ea|=m.ZM.Closed),er.enter&&(ea|=m.ZM.Opening),er.leave&&(ea|=m.ZM.Closing);let eo=(0,b.L6)();return a.createElement(w.Provider,{value:Y},a.createElement(m.up,{value:ea},eo({ourProps:en,theirProps:D,defaultTag:C,features:O,visible:"visible"===B,name:"Transition.Child"})))}),P=(0,b.yV)(function(e,t){let r=null!==(0,a.useContext)(v),n=null!==(0,m.oJ)();return a.createElement(a.Fragment,null,!r&&n?a.createElement(k,{ref:t,...e}):a.createElement(S,{ref:t,...e}))}),N=Object.assign(k,{Child:P,Root:k})},33443:function(e,t,r){r.d(t,{Z:function(){return o}});var n=r(2265);let a=(0,n.createContext)(()=>{});function o(e){let{value:t,children:r}=e;return n.createElement(a.Provider,{value:t},r)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/2004-4722312b97815d34.js b/litellm/proxy/_experimental/out/_next/static/chunks/2004-092c0438baa1cbfc.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/2004-4722312b97815d34.js rename to litellm/proxy/_experimental/out/_next/static/chunks/2004-092c0438baa1cbfc.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/2012-63eecec542524e91.js b/litellm/proxy/_experimental/out/_next/static/chunks/2012-63eecec542524e91.js deleted file mode 100644 index c145c72ac6..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/2012-63eecec542524e91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2012],{26210:function(e,l,s){s.d(l,{UQ:function(){return t.Z},X1:function(){return i.Z},_m:function(){return a.Z},oi:function(){return n.Z},xv:function(){return r.Z}});var t=s(87452),i=s(88829),a=s(72208),r=s(84264),n=s(49566)},30078:function(e,l,s){s.d(l,{Ct:function(){return t.Z},Dx:function(){return x.Z},OK:function(){return n.Z},Zb:function(){return a.Z},nP:function(){return c.Z},oi:function(){return h.Z},rj:function(){return r.Z},td:function(){return o.Z},v0:function(){return m.Z},x4:function(){return d.Z},xv:function(){return u.Z},zx:function(){return i.Z}});var t=s(41649),i=s(78489),a=s(12514),r=s(67101),n=s(12485),m=s(18135),o=s(35242),d=s(29706),c=s(77991),u=s(84264),h=s(49566),x=s(96761)},62490:function(e,l,s){s.d(l,{Ct:function(){return t.Z},RM:function(){return n.Z},SC:function(){return c.Z},Zb:function(){return a.Z},iA:function(){return r.Z},pj:function(){return m.Z},ss:function(){return o.Z},xs:function(){return d.Z},xv:function(){return u.Z},zx:function(){return i.Z}});var t=s(41649),i=s(78489),a=s(12514),r=s(21626),n=s(97214),m=s(28241),o=s(58834),d=s(69552),c=s(71876),u=s(84264)},11318:function(e,l,s){s.d(l,{Z:function(){return n}});var t=s(2265),i=s(39760),a=s(19250);let r=async(e,l,s,t)=>"Admin"!=s&&"Admin Viewer"!=s?await (0,a.teamListCall)(e,(null==t?void 0:t.organization_id)||null,l):await (0,a.teamListCall)(e,(null==t?void 0:t.organization_id)||null);var n=()=>{let[e,l]=(0,t.useState)([]),{accessToken:s,userId:a,userRole:n}=(0,i.Z)();return(0,t.useEffect)(()=>{(async()=>{l(await r(s,a,n,null))})()},[s,a,n]),{teams:e,setTeams:l}}},21609:function(e,l,s){s.d(l,{Z:function(){return d}});var t=s(57437),i=s(57840),a=s(22116),r=s(51653),n=s(76188),m=s(4260),o=s(2265);function d(e){let{isOpen:l,title:s,alertMessage:d,message:c,resourceInformationTitle:u,resourceInformation:h,onCancel:x,onOk:p,confirmLoading:g,requiredConfirmation:b}=e,{Title:_,Text:v}=i.default,[j,f]=(0,o.useState)("");return(0,o.useEffect)(()=>{l&&f("")},[l]),(0,t.jsx)(a.Z,{title:s,open:l,onOk:p,onCancel:x,confirmLoading:g,okText:g?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!b&&j!==b||g},cancelButtonProps:{disabled:g},children:(0,t.jsxs)("div",{className:"space-y-4",children:[d&&(0,t.jsx)(r.Z,{message:d,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(_,{level:5,className:"mb-3 text-gray-900",children:u}),(0,t.jsx)(n.Z,{column:1,size:"small",children:h&&h.map(e=>{let{label:l,value:s,...i}=e;return(0,t.jsx)(n.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:l}),children:(0,t.jsx)(v,{...i,children:null!=s?s:"-"})},l)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(v,{children:c})}),b&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(v,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(v,{children:"Type "}),(0,t.jsx)(v,{strong:!0,type:"danger",children:b}),(0,t.jsx)(v,{children:" to confirm deletion:"})]}),(0,t.jsx)(m.default,{value:j,onChange:e=>f(e.target.value),placeholder:b,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},33860:function(e,l,s){var t=s(57437),i=s(2265),a=s(10032),r=s(22116),n=s(37592),m=s(99981),o=s(5545),d=s(7310),c=s.n(d),u=s(19250);l.Z=e=>{let{isVisible:l,onCancel:s,onSubmit:d,accessToken:h,title:x="Add Team Member",roles:p=[{label:"admin",value:"admin",description:"Admin role. Can create team keys, add members, and manage settings."},{label:"user",value:"user",description:"User role. Can view team info, but not manage it."}],defaultRole:g="user"}=e,[b]=a.Z.useForm(),[_,v]=(0,i.useState)([]),[j,f]=(0,i.useState)(!1),[Z,y]=(0,i.useState)("user_email"),N=async(e,l)=>{if(!e){v([]);return}f(!0);try{let s=new URLSearchParams;if(s.append(l,e),null==h)return;let t=(await (0,u.userFilterUICall)(h,s)).map(e=>({label:"user_email"===l?"".concat(e.user_email):"".concat(e.user_id),value:"user_email"===l?e.user_email:e.user_id,user:e}));v(t)}catch(e){console.error("Error fetching users:",e)}finally{f(!1)}},w=(0,i.useCallback)(c()((e,l)=>N(e,l),300),[]),k=(e,l)=>{y(l),w(e,l)},M=(e,l)=>{let s=l.user;b.setFieldsValue({user_email:s.user_email,user_id:s.user_id,role:b.getFieldValue("role")})};return(0,t.jsx)(r.Z,{title:x,open:l,onCancel:()=>{b.resetFields(),v([]),s()},footer:null,width:800,children:(0,t.jsxs)(a.Z,{form:b,onFinish:d,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:{role:g},children:[(0,t.jsx)(a.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,t.jsx)(n.default,{showSearch:!0,className:"w-full",placeholder:"Search by email",filterOption:!1,onSearch:e=>k(e,"user_email"),onSelect:(e,l)=>M(e,l),options:"user_email"===Z?_:[],loading:j,allowClear:!0})}),(0,t.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,t.jsx)(a.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,t.jsx)(n.default,{showSearch:!0,className:"w-full",placeholder:"Search by user ID",filterOption:!1,onSearch:e=>k(e,"user_id"),onSelect:(e,l)=>M(e,l),options:"user_id"===Z?_:[],loading:j,allowClear:!0})}),(0,t.jsx)(a.Z.Item,{label:"Member Role",name:"role",className:"mb-4",children:(0,t.jsx)(n.default,{defaultValue:g,children:p.map(e=>(0,t.jsx)(n.default.Option,{value:e.value,children:(0,t.jsxs)(m.Z,{title:e.description,children:[(0,t.jsx)("span",{className:"font-medium",children:e.label}),(0,t.jsxs)("span",{className:"ml-2 text-gray-500 text-sm",children:["- ",e.description]})]})},e.value))})}),(0,t.jsx)("div",{className:"text-right mt-4",children:(0,t.jsx)(o.ZP,{type:"default",htmlType:"submit",children:"Add Member"})})]})})}},36894:function(e,l,s){var t=s(57437),i=s(56522),a=s(10032),r=s(37592),n=s(22116),m=s(5545),o=s(2265),d=s(24199);l.Z=e=>{var l,s,c;let{visible:u,onCancel:h,onSubmit:x,initialData:p,mode:g,config:b}=e,[_]=a.Z.useForm(),[v,j]=(0,o.useState)(!1);console.log("Initial Data:",p),(0,o.useEffect)(()=>{if(u){if("edit"===g&&p){let e={...p,role:p.role||b.defaultRole,max_budget_in_team:p.max_budget_in_team||null,tpm_limit:p.tpm_limit||null,rpm_limit:p.rpm_limit||null};console.log("Setting form values:",e),_.setFieldsValue(e)}else{var e;_.resetFields(),_.setFieldsValue({role:b.defaultRole||(null===(e=b.roleOptions[0])||void 0===e?void 0:e.value)})}}},[u,p,g,_,b.defaultRole,b.roleOptions]);let f=async e=>{try{j(!0);let l=Object.entries(e).reduce((e,l)=>{let[s,t]=l;if("string"==typeof t){let l=t.trim();return""===l&&("max_budget_in_team"===s||"tpm_limit"===s||"rpm_limit"===s)?{...e,[s]:null}:{...e,[s]:l}}return{...e,[s]:t}},{});console.log("Submitting form data:",l),await Promise.resolve(x(l)),_.resetFields()}catch(e){console.error("Form submission error:",e)}finally{j(!1)}},Z=e=>{switch(e.type){case"input":return(0,t.jsx)(i.o,{placeholder:e.placeholder});case"numerical":return(0,t.jsx)(d.Z,{step:e.step||1,min:e.min||0,style:{width:"100%"},placeholder:e.placeholder||"Enter a numerical value"});case"select":var l;return(0,t.jsx)(r.default,{children:null===(l=e.options)||void 0===l?void 0:l.map(e=>(0,t.jsx)(r.default.Option,{value:e.value,children:e.label},e.value))});default:return null}};return(0,t.jsx)(n.Z,{title:b.title||("add"===g?"Add Member":"Edit Member"),open:u,width:1e3,footer:null,onCancel:h,children:(0,t.jsxs)(a.Z,{form:_,onFinish:f,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[b.showEmail&&(0,t.jsx)(a.Z.Item,{label:"Email",name:"user_email",className:"mb-4",rules:[{type:"email",message:"Please enter a valid email!"}],children:(0,t.jsx)(i.o,{placeholder:"user@example.com"})}),b.showEmail&&b.showUserId&&(0,t.jsx)("div",{className:"text-center mb-4",children:(0,t.jsx)(i.x,{children:"OR"})}),b.showUserId&&(0,t.jsx)(a.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,t.jsx)(i.o,{placeholder:"user_123"})}),(0,t.jsx)(a.Z.Item,{label:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{children:"Role"}),"edit"===g&&p&&(0,t.jsxs)("span",{className:"text-gray-500 text-sm",children:["(Current: ",(s=p.role,(null===(c=b.roleOptions.find(e=>e.value===s))||void 0===c?void 0:c.label)||s),")"]})]}),name:"role",className:"mb-4",rules:[{required:!0,message:"Please select a role!"}],children:(0,t.jsx)(r.default,{children:"edit"===g&&p?[...b.roleOptions.filter(e=>e.value===p.role),...b.roleOptions.filter(e=>e.value!==p.role)].map(e=>(0,t.jsx)(r.default.Option,{value:e.value,children:e.label},e.value)):b.roleOptions.map(e=>(0,t.jsx)(r.default.Option,{value:e.value,children:e.label},e.value))})}),null===(l=b.additionalFields)||void 0===l?void 0:l.map(e=>(0,t.jsx)(a.Z.Item,{label:e.label,name:e.name,className:"mb-4",rules:e.rules,children:Z(e)},e.name)),(0,t.jsxs)("div",{className:"text-right mt-6",children:[(0,t.jsx)(m.ZP,{onClick:h,className:"mr-2",disabled:v,children:"Cancel"}),(0,t.jsx)(m.ZP,{type:"default",htmlType:"submit",loading:v,children:"add"===g?v?"Adding...":"Add Member":v?"Saving...":"Save Changes"})]})]})})}},33293:function(e,l,s){s.d(l,{Z:function(){return et}});var t=s(57437),i=s(33860),a=s(19250),r=s(59872),n=s(33304),m=s(15424),o=s(10900),d=s(30078),c=s(10032),u=s(42264),h=s(5545),x=s(4260),p=s(37592),g=s(99981),b=s(63709),_=s(30401),v=s(78867),j=s(2265),f=s(82586),Z=s(21609),y=s(95096),N=s(46468),w=s(27799),k=s(95920),M=s(68473),S=s(9114),C=s(60131),T=s(24199),I=s(97415),P=s(21425),L=s(36894),O=s(78489),F=s(12514),E=s(21626),D=s(97214),A=s(28241),R=s(58834),z=s(69552),U=s(71876),V=s(84264),B=s(96761),G=s(61994),q=s(85180),K=s(89245),$=s(78355);let J={"/key/generate":"Member can generate a virtual key for this team","/key/service-account/generate":"Member can generate a service account key (not belonging to any user) for this team","/key/update":"Member can update a virtual key belonging to this team","/key/delete":"Member can delete a virtual key belonging to this team","/key/info":"Member can get info about a virtual key belonging to this team","/key/regenerate":"Member can regenerate a virtual key belonging to this team","/key/{key_id}/regenerate":"Member can regenerate a virtual key belonging to this team","/key/list":"Member can list virtual keys belonging to this team","/key/block":"Member can block a virtual key belonging to this team","/key/unblock":"Member can unblock a virtual key belonging to this team"},Q=e=>e.includes("/info")||e.includes("/list")?"GET":"POST",W=e=>{let l=Q(e),s=J[e];if(!s){for(let[l,t]of Object.entries(J))if(e.includes(l)){s=t;break}}return s||(s="Access ".concat(e)),{method:l,endpoint:e,description:s,route:e}};var X=e=>{let{teamId:l,accessToken:s,canEditTeam:i}=e,[r,n]=(0,j.useState)([]),[m,o]=(0,j.useState)([]),[d,c]=(0,j.useState)(!0),[u,x]=(0,j.useState)(!1),[p,g]=(0,j.useState)(!1),b=async()=>{try{if(c(!0),!s)return;let e=await (0,a.getTeamPermissionsCall)(s,l),t=e.all_available_permissions||[];n(t);let i=e.team_member_permissions||[];o(i),g(!1)}catch(e){S.Z.fromBackend("Failed to load permissions"),console.error("Error fetching permissions:",e)}finally{c(!1)}};(0,j.useEffect)(()=>{b()},[l,s]);let _=(e,l)=>{o(l?[...m,e]:m.filter(l=>l!==e)),g(!0)},v=async()=>{try{if(!s)return;x(!0),await (0,a.teamPermissionsUpdateCall)(s,l,m),S.Z.success("Permissions updated successfully"),g(!1)}catch(e){S.Z.fromBackend("Failed to update permissions"),console.error("Error updating permissions:",e)}finally{x(!1)}};if(d)return(0,t.jsx)("div",{className:"p-6 text-center",children:"Loading permissions..."});let f=r.length>0;return(0,t.jsxs)(F.Z,{className:"bg-white shadow-md rounded-md p-6",children:[(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center border-b pb-4 mb-6",children:[(0,t.jsx)(B.Z,{className:"mb-2 sm:mb-0",children:"Member Permissions"}),i&&p&&(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(h.ZP,{icon:(0,t.jsx)(K.Z,{}),onClick:()=>{b()},children:"Reset"}),(0,t.jsxs)(O.Z,{onClick:v,loading:u,className:"flex items-center gap-2",children:[(0,t.jsx)($.Z,{})," Save Changes"]})]})]}),(0,t.jsx)(V.Z,{className:"mb-6 text-gray-600",children:"Control what team members can do when they are not team admins."}),f?(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)(E.Z,{className:" min-w-full",children:[(0,t.jsx)(R.Z,{children:(0,t.jsxs)(U.Z,{children:[(0,t.jsx)(z.Z,{children:"Method"}),(0,t.jsx)(z.Z,{children:"Endpoint"}),(0,t.jsx)(z.Z,{children:"Description"}),(0,t.jsx)(z.Z,{className:"sticky right-0 bg-white shadow-[-4px_0_4px_-4px_rgba(0,0,0,0.1)] text-center",children:"Allow Access"})]})}),(0,t.jsx)(D.Z,{children:r.map(e=>{let l=W(e);return(0,t.jsxs)(U.Z,{className:"hover:bg-gray-50 transition-colors",children:[(0,t.jsx)(A.Z,{children:(0,t.jsx)("span",{className:"px-2 py-1 rounded text-xs font-medium ".concat("GET"===l.method?"bg-blue-100 text-blue-800":"bg-green-100 text-green-800"),children:l.method})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)("span",{className:"font-mono text-sm text-gray-800",children:l.endpoint})}),(0,t.jsx)(A.Z,{className:"text-gray-700",children:l.description}),(0,t.jsx)(A.Z,{className:"sticky right-0 bg-white shadow-[-4px_0_4px_-4px_rgba(0,0,0,0.1)] text-center",children:(0,t.jsx)(G.Z,{checked:m.includes(e),onChange:l=>_(e,l.target.checked),disabled:!i})})]},e)})})]})}):(0,t.jsx)("div",{className:"py-12",children:(0,t.jsx)(q.Z,{description:"No permissions available"})})]})},Y=s(47323),H=s(53410),ee=s(74998),el=e=>{let{teamData:l,canEditTeam:s,handleMemberDelete:i,setSelectedEditMember:a,setIsEditMemberModalVisible:n,setIsAddMemberModalVisible:o}=e,d=e=>{if(null==e)return"0";if("number"==typeof e){let l=Number(e);return l===Math.floor(l)?l.toString():(0,r.pw)(l,8).replace(/\.?0+$/,"")}return"0"},c=e=>{if(!e)return 0;let s=l.team_memberships.find(l=>l.user_id===e);return(null==s?void 0:s.spend)||0},u=e=>{var s;if(!e)return null;let t=l.team_memberships.find(l=>l.user_id===e);console.log("membership=".concat(t));let i=null==t?void 0:null===(s=t.litellm_budget_table)||void 0===s?void 0:s.max_budget;return null==i?null:d(i)},h=e=>{var s,t;if(!e)return"No Limits";let i=l.team_memberships.find(l=>l.user_id===e),a=null==i?void 0:null===(s=i.litellm_budget_table)||void 0===s?void 0:s.rpm_limit,r=null==i?void 0:null===(t=i.litellm_budget_table)||void 0===t?void 0:t.tpm_limit,n=[a?"".concat(d(a)," RPM"):null,r?"".concat(d(r)," TPM"):null].filter(Boolean);return n.length>0?n.join(" / "):"No Limits"};return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(F.Z,{className:"w-full mx-auto flex-auto overflow-auto max-h-[50vh]",children:(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)(E.Z,{className:"min-w-full",children:[(0,t.jsx)(R.Z,{children:(0,t.jsxs)(U.Z,{children:[(0,t.jsx)(z.Z,{children:"User ID"}),(0,t.jsx)(z.Z,{children:"User Email"}),(0,t.jsx)(z.Z,{children:"Role"}),(0,t.jsxs)(z.Z,{children:["Team Member Spend (USD)"," ",(0,t.jsx)(g.Z,{title:"This is the amount spent by a user in the team.",children:(0,t.jsx)(m.Z,{})})]}),(0,t.jsx)(z.Z,{children:"Team Member Budget (USD)"}),(0,t.jsxs)(z.Z,{children:["Team Member Rate Limits"," ",(0,t.jsx)(g.Z,{title:"Rate limits for this member's usage within this team.",children:(0,t.jsx)(m.Z,{})})]}),(0,t.jsx)(z.Z,{className:"sticky right-0 bg-white z-10 border-l border-gray-200",children:"Actions"})]})}),(0,t.jsx)(D.Z,{children:l.team_info.members_with_roles.map((e,m)=>(0,t.jsxs)(U.Z,{children:[(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:e.user_id})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:e.user_email?e.user_email:"No Email"})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:e.role})}),(0,t.jsx)(A.Z,{children:(0,t.jsxs)(V.Z,{className:"font-mono",children:["$",(0,r.pw)(c(e.user_id),4)]})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:u(e.user_id)?"$".concat((0,r.pw)(Number(u(e.user_id)),4)):"No Limit"})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:h(e.user_id)})}),(0,t.jsx)(A.Z,{className:"sticky right-0 bg-white z-10 border-l border-gray-200",children:s&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(Y.Z,{icon:H.Z,size:"sm",onClick:()=>{var s,t,i;let r=l.team_memberships.find(l=>l.user_id===e.user_id);a({...e,max_budget_in_team:(null==r?void 0:null===(s=r.litellm_budget_table)||void 0===s?void 0:s.max_budget)||null,tpm_limit:(null==r?void 0:null===(t=r.litellm_budget_table)||void 0===t?void 0:t.tpm_limit)||null,rpm_limit:(null==r?void 0:null===(i=r.litellm_budget_table)||void 0===i?void 0:i.rpm_limit)||null}),n(!0)},className:"cursor-pointer hover:text-blue-600"}),(0,t.jsx)(Y.Z,{icon:ee.Z,size:"sm",onClick:()=>i(e),className:"cursor-pointer hover:text-red-600"})]})})]},m))})]})})}),(0,t.jsx)(O.Z,{onClick:()=>o(!0),children:"Add Member"})]})};let es=(e,l)=>{let s=[];return s=e?e.models.includes("all-proxy-models")?l:e.models.length>0?e.models:l:l,(0,N.Ob)(s,l)};var et=e=>{var l,s,O,F,E,D,A,R,z,U,V,B,G,q,K,$,J,Q,W,Y,H;let ee;let{teamId:et,onClose:ei,accessToken:ea,is_team_admin:er,is_proxy_admin:en,userModels:em,editTeam:eo,premiumUser:ed=!1,onUpdate:ec}=e,[eu,eh]=(0,j.useState)(null),[ex,ep]=(0,j.useState)(!0),[eg,eb]=(0,j.useState)(!1),[e_]=c.Z.useForm(),[ev,ej]=(0,j.useState)(!1),[ef,eZ]=(0,j.useState)(null),[ey,eN]=(0,j.useState)(!1),[ew,ek]=(0,j.useState)([]),[eM,eS]=(0,j.useState)(!1),[eC,eT]=(0,j.useState)({}),[eI,eP]=(0,j.useState)([]),[eL,eO]=(0,j.useState)(null),[eF,eE]=(0,j.useState)(!1),[eD,eA]=(0,j.useState)(!1),[eR,ez]=(0,j.useState)(!1),[eU,eV]=(0,j.useState)(null);console.log("userModels in team info",em);let eB=er||en,eG=async()=>{try{if(ep(!0),!ea)return;let e=await (0,a.teamInfoCall)(ea,et);eh(e)}catch(e){S.Z.fromBackend("Failed to load team information"),console.error("Error fetching team info:",e)}finally{ep(!1)}};(0,j.useEffect)(()=>{eG()},[et,ea]),(0,j.useEffect)(()=>{(async()=>{var e;if(!ea||!(null==eu?void 0:null===(e=eu.team_info)||void 0===e?void 0:e.organization_id)){eV(null);return}try{let e=await (0,a.organizationInfoCall)(ea,eu.team_info.organization_id);eV(e)}catch(e){console.error("Error fetching organization info:",e),eV(null)}})()},[ea,null==eu?void 0:null===(l=eu.team_info)||void 0===l?void 0:l.organization_id]);let eq=(0,j.useMemo)(()=>es(eU,em),[eU,em]);(0,j.useEffect)(()=>{(async()=>{try{if(!ea)return;let e=(await (0,a.getGuardrailsList)(ea)).guardrails.map(e=>e.guardrail_name);eP(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[ea]);let eK=async e=>{try{if(null==ea)return;let l={user_email:e.user_email,user_id:e.user_id,role:e.role};await (0,a.teamMemberAddCall)(ea,et,l),S.Z.success("Team member added successfully"),eb(!1),e_.resetFields();let s=await (0,a.teamInfoCall)(ea,et);eh(s),ec(s)}catch(i){var l,s,t;let e="Failed to add team member";(null==i?void 0:null===(t=i.raw)||void 0===t?void 0:null===(s=t.detail)||void 0===s?void 0:null===(l=s.error)||void 0===l?void 0:l.includes("Assigning team admins is a premium feature"))?e="Assigning admins is an enterprise-only feature. Please upgrade your LiteLLM plan to enable this.":(null==i?void 0:i.message)&&(e=i.message),S.Z.fromBackend(e),console.error("Error adding team member:",i)}},e$=async e=>{try{if(null==ea)return;let l={user_email:e.user_email,user_id:e.user_id,role:e.role,max_budget_in_team:e.max_budget_in_team,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit};console.log("Updating member with values:",l),u.ZP.destroy(),await (0,a.teamMemberUpdateCall)(ea,et,l),S.Z.success("Team member updated successfully"),ej(!1);let s=await (0,a.teamInfoCall)(ea,et);eh(s),ec(s)}catch(t){var l,s;let e="Failed to update team member";(null==t?void 0:null===(s=t.raw)||void 0===s?void 0:null===(l=s.detail)||void 0===l?void 0:l.includes("Assigning team admins is a premium feature"))?e="Assigning admins is an enterprise-only feature. Please upgrade your LiteLLM plan to enable this.":(null==t?void 0:t.message)&&(e=t.message),ej(!1),u.ZP.destroy(),S.Z.fromBackend(e),console.error("Error updating team member:",t)}},eJ=async()=>{if(eL&&ea){eA(!0);try{await (0,a.teamMemberDeleteCall)(ea,et,eL),S.Z.success("Team member removed successfully");let e=await (0,a.teamInfoCall)(ea,et);eh(e),ec(e)}catch(e){S.Z.fromBackend("Failed to remove team member"),console.error("Error removing team member:",e)}finally{eA(!1),eE(!1),eO(null)}}},eQ=async e=>{try{if(!ea)return;ez(!0);let l={};try{l=e.metadata?JSON.parse(e.metadata):{}}catch(e){S.Z.fromBackend("Invalid JSON in metadata field");return}let s=e=>null==e||"string"==typeof e&&""===e.trim()||"number"==typeof e&&Number.isNaN(e)?null:e,t={team_id:et,team_alias:e.team_alias,models:e.models,tpm_limit:s(e.tpm_limit),rpm_limit:s(e.rpm_limit),max_budget:e.max_budget,budget_duration:e.budget_duration,metadata:{...l,guardrails:e.guardrails||[],logging:e.logging_settings||[]},organization_id:e.organization_id};t.max_budget=(0,n.C)(t.max_budget),void 0!==e.team_member_budget&&(t.team_member_budget=Number(e.team_member_budget)),void 0!==e.team_member_key_duration&&(t.team_member_key_duration=e.team_member_key_duration),(void 0!==e.team_member_tpm_limit||void 0!==e.team_member_rpm_limit)&&(t.team_member_tpm_limit=s(e.team_member_tpm_limit),t.team_member_rpm_limit=s(e.team_member_rpm_limit));let{servers:i,accessGroups:r}=e.mcp_servers_and_groups||{servers:[],accessGroups:[]},m=new Set(i||[]),o=Object.fromEntries(Object.entries(e.mcp_tool_permissions||{}).filter(e=>{let[l]=e;return m.has(l)}));t.object_permission={},i&&(t.object_permission.mcp_servers=i),r&&(t.object_permission.mcp_access_groups=r),o&&(t.object_permission.mcp_tool_permissions=o),delete e.mcp_servers_and_groups,delete e.mcp_tool_permissions;let{agents:d,accessGroups:c}=e.agents_and_groups||{agents:[],accessGroups:[]};d&&d.length>0&&(t.object_permission.agents=d),c&&c.length>0&&(t.object_permission.agent_access_groups=c),delete e.agents_and_groups,await (0,a.teamUpdateCall)(ea,t),S.Z.success("Team settings updated successfully"),eN(!1),eG()}catch(e){console.error("Error updating team:",e)}finally{ez(!1)}};if(ex)return(0,t.jsx)("div",{className:"p-4",children:"Loading..."});if(!(null==eu?void 0:eu.team_info))return(0,t.jsx)("div",{className:"p-4",children:"Team not found"});let{team_info:eW}=eu,eX=async(e,l)=>{await (0,r.vQ)(e)&&(eT(e=>({...e,[l]:!0})),setTimeout(()=>{eT(e=>({...e,[l]:!1}))},2e3))};return(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsx)("div",{className:"flex justify-between items-center mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(d.zx,{icon:o.Z,variant:"light",onClick:ei,className:"mb-4",children:"Back to Teams"}),(0,t.jsx)(d.Dx,{children:eW.team_alias}),(0,t.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,t.jsx)(d.xv,{className:"text-gray-500 font-mono",children:eW.team_id}),(0,t.jsx)(h.ZP,{type:"text",size:"small",icon:eC["team-id"]?(0,t.jsx)(_.Z,{size:12}):(0,t.jsx)(v.Z,{size:12}),onClick:()=>eX(eW.team_id,"team-id"),className:"left-2 z-10 transition-all duration-200 ".concat(eC["team-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]})}),(0,t.jsxs)(d.v0,{defaultIndex:eo?3:0,children:[(0,t.jsx)(d.td,{className:"mb-4",children:[(0,t.jsx)(d.OK,{children:"Overview"},"overview"),...eB?[(0,t.jsx)(d.OK,{children:"Members"},"members"),(0,t.jsx)(d.OK,{children:"Member Permissions"},"member-permissions"),(0,t.jsx)(d.OK,{children:"Settings"},"settings")]:[]]}),(0,t.jsxs)(d.nP,{children:[(0,t.jsx)(d.x4,{children:(0,t.jsxs)(d.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{children:"Budget Status"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(d.Dx,{children:["$",(0,r.pw)(eW.spend,4)]}),(0,t.jsxs)(d.xv,{children:["of ",null===eW.max_budget?"Unlimited":"$".concat((0,r.pw)(eW.max_budget,4))]}),eW.budget_duration&&(0,t.jsxs)(d.xv,{className:"text-gray-500",children:["Reset: ",eW.budget_duration]}),(0,t.jsx)("br",{}),eW.team_member_budget_table&&(0,t.jsxs)(d.xv,{className:"text-gray-500",children:["Team Member Budget: $",(0,r.pw)(eW.team_member_budget_table.max_budget,4)]})]})]}),(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{children:"Rate Limits"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(d.xv,{children:["TPM: ",eW.tpm_limit||"Unlimited"]}),(0,t.jsxs)(d.xv,{children:["RPM: ",eW.rpm_limit||"Unlimited"]}),eW.max_parallel_requests&&(0,t.jsxs)(d.xv,{children:["Max Parallel Requests: ",eW.max_parallel_requests]})]})]}),(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{children:"Models"}),(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:0===eW.models.length?(0,t.jsx)(d.Ct,{color:"red",children:"All proxy models"}):eW.models.map((e,l)=>(0,t.jsx)(d.Ct,{color:"red",children:e},l))})]}),(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{className:"font-semibold text-gray-900",children:"Virtual Keys"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(d.xv,{children:["User Keys: ",eu.keys.filter(e=>e.user_id).length]}),(0,t.jsxs)(d.xv,{children:["Service Account Keys: ",eu.keys.filter(e=>!e.user_id).length]}),(0,t.jsxs)(d.xv,{className:"text-gray-500",children:["Total: ",eu.keys.length]})]})]}),(0,t.jsx)(C.Z,{objectPermission:eW.object_permission,variant:"card",accessToken:ea}),(0,t.jsx)(w.Z,{loggingConfigs:(null===(s=eW.metadata)||void 0===s?void 0:s.logging)||[],disabledCallbacks:[],variant:"card"})]})}),(0,t.jsx)(d.x4,{children:(0,t.jsx)(el,{teamData:eu,canEditTeam:eB,handleMemberDelete:e=>{eO(e),eE(!0)},setSelectedEditMember:eZ,setIsEditMemberModalVisible:ej,setIsAddMemberModalVisible:eb})}),eB&&(0,t.jsx)(d.x4,{children:(0,t.jsx)(X,{teamId:et,accessToken:ea,canEditTeam:eB})}),(0,t.jsx)(d.x4,{children:(0,t.jsxs)(d.Zb,{className:"overflow-y-auto max-h-[65vh]",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,t.jsx)(d.Dx,{children:"Team Settings"}),eB&&!ey&&(0,t.jsx)(d.zx,{onClick:()=>eN(!0),children:"Edit Settings"})]}),ey?(0,t.jsxs)(c.Z,{form:e_,onFinish:eQ,initialValues:{...eW,team_alias:eW.team_alias,models:eW.models,tpm_limit:eW.tpm_limit,rpm_limit:eW.rpm_limit,max_budget:eW.max_budget,budget_duration:eW.budget_duration,team_member_tpm_limit:null===(O=eW.team_member_budget_table)||void 0===O?void 0:O.tpm_limit,team_member_rpm_limit:null===(F=eW.team_member_budget_table)||void 0===F?void 0:F.rpm_limit,guardrails:(null===(E=eW.metadata)||void 0===E?void 0:E.guardrails)||[],disable_global_guardrails:(null===(D=eW.metadata)||void 0===D?void 0:D.disable_global_guardrails)||!1,metadata:eW.metadata?JSON.stringify((e=>{let{logging:l,...s}=e;return s})(eW.metadata),null,2):"",logging_settings:(null===(A=eW.metadata)||void 0===A?void 0:A.logging)||[],organization_id:eW.organization_id,vector_stores:(null===(R=eW.object_permission)||void 0===R?void 0:R.vector_stores)||[],mcp_servers:(null===(z=eW.object_permission)||void 0===z?void 0:z.mcp_servers)||[],mcp_access_groups:(null===(U=eW.object_permission)||void 0===U?void 0:U.mcp_access_groups)||[],mcp_servers_and_groups:{servers:(null===(V=eW.object_permission)||void 0===V?void 0:V.mcp_servers)||[],accessGroups:(null===(B=eW.object_permission)||void 0===B?void 0:B.mcp_access_groups)||[]},mcp_tool_permissions:(null===(G=eW.object_permission)||void 0===G?void 0:G.mcp_tool_permissions)||{},agents_and_groups:{agents:(null===(q=eW.object_permission)||void 0===q?void 0:q.agents)||[],accessGroups:(null===(K=eW.object_permission)||void 0===K?void 0:K.agent_access_groups)||[]}},layout:"vertical",children:[(0,t.jsx)(c.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,t.jsx)(x.default,{type:""})}),(0,t.jsx)(c.Z.Item,{label:"Models",name:"models",rules:[{required:!0,message:"Please select at least one model"}],children:(0,t.jsxs)(p.default,{mode:"multiple",placeholder:"Select models",children:[(ee=!1,eU?(0===eU.models.length||eU.models.includes("all-proxy-models"))&&(ee=!0):ee=en||em.includes("all-proxy-models"),ee?(0,t.jsx)(p.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"):null),!eU||eU.models.includes("no-default-models")?(0,t.jsx)(p.default.Option,{value:"no-default-models",children:"No Default Models"},"no-default-models"):null,Array.from(new Set(eq)).map((e,l)=>(0,t.jsx)(p.default.Option,{value:e,children:(0,N.W0)(e)},l))]})}),(0,t.jsx)(c.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(T.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:"Team Member Budget (USD)",name:"team_member_budget",tooltip:"This is the individual budget for a user in the team.",children:(0,t.jsx)(T.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:"Team Member Key Duration (eg: 1d, 1mo)",name:"team_member_key_duration",tooltip:"Set a limit to the duration of a team member's key. Format: 30s (seconds), 30m (minutes), 30h (hours), 30d (days), 1mo (month)",children:(0,t.jsx)(d.oi,{placeholder:"e.g., 30d"})}),(0,t.jsx)(c.Z.Item,{label:"Team Member TPM Limit",name:"team_member_tpm_limit",tooltip:"Default tokens per minute limit for an individual team member. This limit applies to all requests the user makes within this team. Can be overridden per member.",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"},placeholder:"e.g., 1000"})}),(0,t.jsx)(c.Z.Item,{label:"Team Member RPM Limit",name:"team_member_rpm_limit",tooltip:"Default requests per minute limit for an individual team member. This limit applies to all requests the user makes within this team. Can be overridden per member.",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"},placeholder:"e.g., 100"})}),(0,t.jsx)(c.Z.Item,{label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(p.default,{placeholder:"n/a",children:[(0,t.jsx)(p.default.Option,{value:"24h",children:"daily"}),(0,t.jsx)(p.default.Option,{value:"7d",children:"weekly"}),(0,t.jsx)(p.default.Option,{value:"30d",children:"monthly"})]})}),(0,t.jsx)(c.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:(0,t.jsxs)("span",{children:["Guardrails"," ",(0,t.jsx)(g.Z,{title:"Setup your first guardrail",children:(0,t.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",help:"Select existing guardrails or enter new ones",children:(0,t.jsx)(p.default,{mode:"tags",placeholder:"Select or enter guardrails",options:eI.map(e=>({value:e,label:e}))})}),(0,t.jsx)(c.Z.Item,{label:(0,t.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,t.jsx)(g.Z,{title:"When enabled, this team will bypass any guardrails configured to run on every request (global guardrails)",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",valuePropName:"checked",help:"Bypass global guardrails for this team",children:(0,t.jsx)(b.Z,{checkedChildren:"Yes",unCheckedChildren:"No"})}),(0,t.jsx)(c.Z.Item,{label:"Vector Stores",name:"vector_stores",children:(0,t.jsx)(I.Z,{onChange:e=>e_.setFieldValue("vector_stores",e),value:e_.getFieldValue("vector_stores"),accessToken:ea||"",placeholder:"Select vector stores"})}),(0,t.jsx)(c.Z.Item,{label:"Allowed Pass Through Routes",name:"allowed_passthrough_routes",children:(0,t.jsx)(y.Z,{onChange:e=>e_.setFieldValue("allowed_passthrough_routes",e),value:e_.getFieldValue("allowed_passthrough_routes"),accessToken:ea||"",placeholder:"Select pass through routes"})}),(0,t.jsx)(c.Z.Item,{label:"MCP Servers / Access Groups",name:"mcp_servers_and_groups",children:(0,t.jsx)(k.Z,{onChange:e=>e_.setFieldValue("mcp_servers_and_groups",e),value:e_.getFieldValue("mcp_servers_and_groups"),accessToken:ea||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,t.jsx)(c.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,t.jsx)(x.default,{type:"hidden"})}),(0,t.jsx)(c.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.mcp_servers_and_groups!==l.mcp_servers_and_groups||e.mcp_tool_permissions!==l.mcp_tool_permissions,children:()=>{var e;return(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)(M.Z,{accessToken:ea||"",selectedServers:(null===(e=e_.getFieldValue("mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:e_.getFieldValue("mcp_tool_permissions")||{},onChange:e=>e_.setFieldsValue({mcp_tool_permissions:e})})})}}),(0,t.jsx)(c.Z.Item,{label:"Agents / Access Groups",name:"agents_and_groups",children:(0,t.jsx)(f.Z,{onChange:e=>e_.setFieldValue("agents_and_groups",e),value:e_.getFieldValue("agents_and_groups"),accessToken:ea||"",placeholder:"Select agents or access groups (optional)"})}),(0,t.jsx)(c.Z.Item,{label:"Organization ID",name:"organization_id",children:(0,t.jsx)(x.default,{type:"",disabled:!0})}),(0,t.jsx)(c.Z.Item,{label:"Logging Settings",name:"logging_settings",children:(0,t.jsx)(P.Z,{value:e_.getFieldValue("logging_settings"),onChange:e=>e_.setFieldValue("logging_settings",e)})}),(0,t.jsx)(c.Z.Item,{label:"Metadata",name:"metadata",children:(0,t.jsx)(x.default.TextArea,{rows:10})}),(0,t.jsx)("div",{className:"sticky z-10 bg-white p-4 border-t border-gray-200 bottom-[-1.5rem] inset-x-[-1.5rem]",children:(0,t.jsxs)("div",{className:"flex justify-end items-center gap-2",children:[(0,t.jsx)(d.zx,{variant:"secondary",onClick:()=>eN(!1),disabled:eR,children:"Cancel"}),(0,t.jsx)(d.zx,{type:"submit",loading:eR,children:"Save Changes"})]})})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Team Name"}),(0,t.jsx)("div",{children:eW.team_alias})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Team ID"}),(0,t.jsx)("div",{className:"font-mono",children:eW.team_id})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Created At"}),(0,t.jsx)("div",{children:new Date(eW.created_at).toLocaleString()})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Models"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:eW.models.map((e,l)=>(0,t.jsx)(d.Ct,{color:"red",children:e},l))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Rate Limits"}),(0,t.jsxs)("div",{children:["TPM: ",eW.tpm_limit||"Unlimited"]}),(0,t.jsxs)("div",{children:["RPM: ",eW.rpm_limit||"Unlimited"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Team Budget"}),(0,t.jsxs)("div",{children:["Max Budget:"," ",null!==eW.max_budget?"$".concat((0,r.pw)(eW.max_budget,4)):"No Limit"]}),(0,t.jsxs)("div",{children:["Budget Reset: ",eW.budget_duration||"Never"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(d.xv,{className:"font-medium",children:["Team Member Settings"," ",(0,t.jsx)(g.Z,{title:"These are limits on individual team members",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),(0,t.jsxs)("div",{children:["Max Budget: ",(null===($=eW.team_member_budget_table)||void 0===$?void 0:$.max_budget)||"No Limit"]}),(0,t.jsxs)("div",{children:["Key Duration: ",(null===(J=eW.metadata)||void 0===J?void 0:J.team_member_key_duration)||"No Limit"]}),(0,t.jsxs)("div",{children:["TPM Limit: ",(null===(Q=eW.team_member_budget_table)||void 0===Q?void 0:Q.tpm_limit)||"No Limit"]}),(0,t.jsxs)("div",{children:["RPM Limit: ",(null===(W=eW.team_member_budget_table)||void 0===W?void 0:W.rpm_limit)||"No Limit"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Organization ID"}),(0,t.jsx)("div",{children:eW.organization_id})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Status"}),(0,t.jsx)(d.Ct,{color:eW.blocked?"red":"green",children:eW.blocked?"Blocked":"Active"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Disable Global Guardrails"}),(0,t.jsx)("div",{children:(null===(Y=eW.metadata)||void 0===Y?void 0:Y.disable_global_guardrails)===!0?(0,t.jsx)(d.Ct,{color:"yellow",children:"Enabled - Global guardrails bypassed"}):(0,t.jsx)(d.Ct,{color:"green",children:"Disabled - Global guardrails active"})})]}),(0,t.jsx)(C.Z,{objectPermission:eW.object_permission,variant:"inline",className:"pt-4 border-t border-gray-200",accessToken:ea}),(0,t.jsx)(w.Z,{loggingConfigs:(null===(H=eW.metadata)||void 0===H?void 0:H.logging)||[],disabledCallbacks:[],variant:"inline",className:"pt-4 border-t border-gray-200"})]})]})})]})]}),(0,t.jsx)(L.Z,{visible:ev,onCancel:()=>ej(!1),onSubmit:e$,initialData:ef,mode:"edit",config:{title:"Edit Member",showEmail:!0,showUserId:!0,roleOptions:[{label:"Admin",value:"admin"},{label:"User",value:"user"}],additionalFields:[{name:"max_budget_in_team",label:(0,t.jsxs)("span",{children:["Team Member Budget (USD)"," ",(0,t.jsx)(g.Z,{title:"Maximum amount in USD this member can spend within this team. This is separate from any global user budget limits",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),type:"numerical",step:.01,min:0,placeholder:"Budget limit for this member within this team"},{name:"tpm_limit",label:(0,t.jsxs)("span",{children:["Team Member TPM Limit"," ",(0,t.jsx)(g.Z,{title:"Maximum tokens per minute this member can use within this team. This is separate from any global user TPM limit",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),type:"numerical",step:1,min:0,placeholder:"Tokens per minute limit for this member in this team"},{name:"rpm_limit",label:(0,t.jsxs)("span",{children:["Team Member RPM Limit"," ",(0,t.jsx)(g.Z,{title:"Maximum requests per minute this member can make within this team. This is separate from any global user RPM limit",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),type:"numerical",step:1,min:0,placeholder:"Requests per minute limit for this member in this team"}]}}),(0,t.jsx)(i.Z,{isVisible:eg,onCancel:()=>eb(!1),onSubmit:eK,accessToken:ea}),(0,t.jsx)(Z.Z,{isOpen:eF,title:"Delete Team Member",alertMessage:"Removing team members will also delete any keys created by or created for this member.",message:"Are you sure you want to remove this member from the team? This action cannot be undone.",resourceInformationTitle:"Team Member Information",resourceInformation:[{label:"User ID",value:null==eL?void 0:eL.user_id,code:!0},{label:"Email",value:null==eL?void 0:eL.user_email},{label:"Role",value:null==eL?void 0:eL.role}],onCancel:()=>{eE(!1),eO(null)},onOk:eJ,confirmLoading:eD})]})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/2117-bb4323b3c0b11a1f.js b/litellm/proxy/_experimental/out/_next/static/chunks/2117-26a589a1115bdd0a.js similarity index 83% rename from litellm/proxy/_experimental/out/_next/static/chunks/2117-bb4323b3c0b11a1f.js rename to litellm/proxy/_experimental/out/_next/static/chunks/2117-26a589a1115bdd0a.js index fae288cfed..10b7be385d 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/2117-bb4323b3c0b11a1f.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/2117-26a589a1115bdd0a.js @@ -1,2 +1,2 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2117],{65157:function(e,t){"use strict";function n(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return n}})},91572:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},1634:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let r=n(68498),o=n(33068);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,r.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},75266:function(e,t){"use strict";function n(e){var t,n;t=self.__next_s,n=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[n,r]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(r)for(let e in r)"children"!==e&&o.setAttribute(e,r[e]);n?(o.src=n,o.onload=()=>e(),o.onerror=t):r&&(o.innerHTML=r.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{n()}):n()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return n}}),window.next={version:"14.2.33",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},83079:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let r=n(12846);async function o(e,t){let n=(0,r.getServerActionDispatcher)();if(!n)throw Error("Invariant: missing action dispatcher.");return new Promise((r,o)=>{n({actionId:e,actionArgs:t,resolve:r,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},92304:function(e,t,n){"use strict";let r,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return x}});let u=n(47043),l=n(53099),a=n(57437);n(91572);let i=u._(n(34040)),c=l._(n(2265)),s=n(6671),f=n(48701),d=u._(n(61404)),p=n(83079),h=n(89721),y=n(2103);n(70647);let _=window.console.error;window.console.error=function(){for(var e=arguments.length,t=Array(e),n=0;n{if((0,h.isNextRouterError)(e.error)){e.preventDefault();return}});let v=document,b=new TextEncoder,g=!1,m=!1,R=null;function P(e){if(0===e[0])r=[];else if(1===e[0]){if(!r)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(b.encode(e[1])):r.push(e[1])}else 2===e[0]&&(R=e[1])}let j=function(){o&&!m&&(o.close(),m=!0,r=void 0),g=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",j,!1):j();let O=self.__next_f=self.__next_f||[];O.forEach(P),O.push=P;let E=new ReadableStream({start(e){r&&(r.forEach(t=>{e.enqueue(b.encode(t))}),g&&!m&&(e.close(),m=!0,r=void 0)),o=e}}),S=(0,s.createFromReadableStream)(E,{callServer:p.callServer});function w(){return(0,c.use)(S)}let M=c.default.StrictMode;function T(e){let{children:t}=e;return t}function x(){let e=(0,y.createMutableActionQueue)(),t=(0,a.jsx)(M,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(y.ActionQueueContext.Provider,{value:e,children:(0,a.jsx)(T,{children:(0,a.jsx)(w,{})})})})}),n=window.__next_root_layout_missing_tags,r=!!(null==n?void 0:n.length),o={onRecoverableError:d.default};"__next_error__"===document.documentElement.id||r?i.default.createRoot(v,o).render(t):c.default.startTransition(()=>i.default.hydrateRoot(v,t,{...o,formState:R}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54278:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(19506),(0,n(75266).appBootstrap)(()=>{let{hydrate:e}=n(92304);n(12846),n(4707),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19506:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(65157);{let e=n.u;n.u=function(){for(var t=arguments.length,n=Array(t),r=0;r(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,r.useState)(""),c=(0,r.useRef)();return(0,r.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),n?(0,o.createPortal)(a,n):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6866:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION:function(){return r},FLIGHT_PARAMETERS:function(){return i},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_RSC_UNION_QUERY:function(){return c},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return a},RSC_HEADER:function(){return n}});let n="RSC",r="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Url",a="text/x-component",i=[[n],[o],[u]],c="_rsc",s="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},12846:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createEmptyCacheNode:function(){return C},default:function(){return I},getServerActionDispatcher:function(){return S},urlToUrlWithoutFlightMarker:function(){return M}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(61956),a=n(24673),i=n(33456),c=n(79060),s=n(47744),f=n(61060),d=n(82952),p=n(86146),h=n(1634),y=n(6495),_=n(4123),v=n(39320),b=n(38137),g=n(6866),m=n(35076),R=n(11283),P=n(84541),j="undefined"==typeof window,O=j?null:new Map,E=null;function S(){return E}let w={};function M(e){let t=new URL(e,location.origin);if(t.searchParams.delete(g.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,n=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-n)}return t}function T(e){return e.origin!==window.location.origin}function x(e){let{appRouterState:t,sync:n}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:o}=t,u={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==o?(r.pendingPush=!1,window.history.pushState(u,"",o)):window.history.replaceState(u,"",o),n(t)},[t,n]),null}function C(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null}}function A(e){null==e&&(e={});let t=window.history.state,n=null==t?void 0:t.__NA;n&&(e.__NA=n);let r=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return r&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=r),e}function N(e){let{headCacheNode:t}=e,n=null!==t?t.head:null,r=null!==t?t.prefetchHead:null,o=null!==r?r:n;return(0,u.useDeferredValue)(n,o)}function D(e){let t,{buildId:n,initialHead:r,initialTree:i,urlParts:f,initialSeedData:g,couldBeIntercepted:S,assetPrefix:M,missingSlots:C}=e,D=(0,u.useMemo)(()=>(0,d.createInitialRouterState)({buildId:n,initialSeedData:g,urlParts:f,initialTree:i,initialParallelRoutes:O,location:j?null:window.location,initialHead:r,couldBeIntercepted:S}),[n,g,f,i,r,S]),[I,U,k]=(0,s.useReducerWithReduxDevtools)(D);(0,u.useEffect)(()=>{O=null},[]);let{canonicalUrl:F}=(0,s.useUnwrapState)(I),{searchParams:L,pathname:H}=(0,u.useMemo)(()=>{let e=new URL(F,"undefined"==typeof window?"http://n":window.location.href);return{searchParams:e.searchParams,pathname:(0,R.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[F]),G=(0,u.useCallback)(e=>{let{previousTree:t,serverResponse:n}=e;(0,u.startTransition)(()=>{U({type:a.ACTION_SERVER_PATCH,previousTree:t,serverResponse:n})})},[U]),$=(0,u.useCallback)((e,t,n)=>{let r=new URL((0,h.addBasePath)(e),location.href);return U({type:a.ACTION_NAVIGATE,url:r,isExternalUrl:T(r),locationSearch:location.search,shouldScroll:null==n||n,navigateType:t})},[U]);E=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{U({...e,type:a.ACTION_SERVER_ACTION})})},[U]);let z=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let n;if(!(0,p.isBot)(window.navigator.userAgent)){try{n=new URL((0,h.addBasePath)(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}T(n)||(0,u.startTransition)(()=>{var e;U({type:a.ACTION_PREFETCH,url:n,kind:null!=(e=null==t?void 0:t.kind)?e:a.PrefetchKind.FULL})})}},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;$(e,"replace",null==(n=t.scroll)||n)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;$(e,"push",null==(n=t.scroll)||n)})},refresh:()=>{(0,u.startTransition)(()=>{U({type:a.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[U,$]);(0,u.useEffect)(()=>{window.next&&(window.next.router=z)},[z]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(w.pendingMpaPath=void 0,U({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[U]);let{pushRef:B}=(0,s.useUnwrapState)(I);if(B.mpaNavigation){if(w.pendingMpaPath!==F){let e=window.location;B.pendingPush?e.assign(F):e.replace(F),w.pendingMpaPath=F}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),n=e=>{var t;let n=window.location.href,r=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{U({type:a.ACTION_RESTORE,url:new URL(null!=e?e:n,n),tree:r})})};window.history.pushState=function(t,r,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=A(t),o&&n(o)),e(t,r,o)},window.history.replaceState=function(e,r,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=A(e),o&&n(o)),t(e,r,o)};let r=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,u.startTransition)(()=>{U({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",r),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",r)}},[U]);let{cache:W,tree:K,nextUrl:V,focusAndScrollRef:Y}=(0,s.useUnwrapState)(I),X=(0,u.useMemo)(()=>(0,v.findHeadInCache)(W,K[1]),[W,K]),q=(0,u.useMemo)(()=>(function e(t,n){for(let r of(void 0===n&&(n={}),Object.values(t[1]))){let t=r[0],o=Array.isArray(t),u=o?t[1]:t;!u||u.startsWith(P.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?n[t[0]]=t[1].split("/"):o&&(n[t[0]]=t[1]),n=e(r,n))}return n})(K),[K]);if(null!==X){let[e,n]=X;t=(0,o.jsx)(N,{headCacheNode:e},n)}else t=null;let J=(0,o.jsxs)(_.RedirectBoundary,{children:[t,W.rsc,(0,o.jsx)(y.AppRouterAnnouncer,{tree:K})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x,{appRouterState:(0,s.useUnwrapState)(I),sync:k}),(0,o.jsx)(c.PathParamsContext.Provider,{value:q,children:(0,o.jsx)(c.PathnameContext.Provider,{value:H,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:L,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:{buildId:n,changeByServerResponse:G,tree:K,focusAndScrollRef:Y,nextUrl:V},children:(0,o.jsx)(l.AppRouterContext.Provider,{value:z,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:{childNodes:W.parallelRoutes,tree:K,url:F,loading:W.loading},children:J})})})})})})]})}function I(e){let{globalErrorComponent:t,...n}=e;return(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(D,{...n})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96149:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return u}});let r=n(18993),o=n(51845);function u(e){let t=o.staticGenerationAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new r.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19107:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let r=n(57437),o=n(54535);function u(e){let{Component:t,props:n}=e;return n.searchParams=(0,o.createDynamicallyTrackedSearchParams)(n.searchParams||{}),(0,r.jsx)(t,{...n})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},61060:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let r=n(47043),o=n(57437),u=r._(n(2265)),l=n(35475),a=n(89721),i=n(51845),c={error:{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"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e,n=i.staticGenerationAsyncStorage.getStore();if((null==n?void 0:n.isRevalidate)||(null==n?void 0:n.isStaticGeneration))throw console.error(t),t;return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,n=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:c.text,children:"Application error: a "+(n?"server":"client")+"-side exception has occurred (see the "+(n?"server logs":"browser console")+" for more information)."}),n?(0,o.jsx)("p",{style:c.text,children:"Digest: "+n}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:n,errorScripts:r,children:u}=e,a=(0,l.usePathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:n,errorScripts:r,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},46177:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DynamicServerError:function(){return r},isDynamicServerError:function(){return o}});let n="DYNAMIC_SERVER_USAGE";class r extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},89721:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let r=n(98200),o=n(88968);function u(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,r.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4707:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return E}});let r=n(47043),o=n(53099),u=n(57437),l=o._(n(2265)),a=r._(n(54887)),i=n(61956),c=n(44848),s=n(38137),f=n(61060),d=n(76015),p=n(7092),h=n(4123),y=n(80),_=n(73171),v=n(78505),b=n(28077),g=["bottom","height","left","right","top","width","x","y"];function m(e,t){let n=e.getBoundingClientRect();return n.top>=0&&n.top<=t}class R extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){var n;if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,n)=>(0,d.matchSegment)(t,e[n]))))return;let r=null,o=e.hashFragment;if(o&&(r="top"===o?document.body:null!=(n=document.getElementById(o))?n:document.getElementsByName(o)[0]),r||(r="undefined"==typeof window?null:a.default.findDOMNode(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return g.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(o){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!m(r,t)&&(e.scrollTop=0,m(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function P(e){let{segmentPath:t,children:n}=e,r=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!r)throw Error("invariant global layout router not mounted");return(0,u.jsx)(R,{segmentPath:t,focusAndScrollRef:r.focusAndScrollRef,children:n})}function j(e){let{parallelRouterKey:t,url:n,childNodes:r,segmentPath:o,tree:a,cacheKey:f}=e,p=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:y,tree:_}=p,v=r.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};v=e,r.set(f,e)}let g=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,m=(0,l.useDeferredValue)(v.rsc,g),R="object"==typeof m&&null!==m&&"function"==typeof m.then?(0,l.use)(m):m;if(!R){let e=v.lazyData;if(null===e){let t=function e(t,n){if(t){let[r,o]=t,u=2===t.length;if((0,d.matchSegment)(n[0],r)&&n[1].hasOwnProperty(o)){if(u){let t=e(void 0,n[1][o]);return[n[0],{...n[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[n[0],{...n[1],[o]:e(t.slice(2),n[1][o])}]}}return n}(["",...o],_),r=(0,b.hasInterceptionRouteInCurrentTree)(_);v.lazyData=e=(0,c.fetchServerResponse)(new URL(n,location.origin),t,r?p.nextUrl:null,h),v.lazyDataResolved=!1}let t=(0,l.use)(e);v.lazyDataResolved||(setTimeout(()=>{(0,l.startTransition)(()=>{y({previousTree:_,serverResponse:t})})}),v.lazyDataResolved=!0),(0,l.use)(s.unresolvedThenable)}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{tree:a[1][t],childNodes:v.parallelRoutes,url:n,loading:v.loading},children:R})}function O(e){let{children:t,hasLoading:n,loading:r,loadingStyles:o,loadingScripts:a}=e;return n?(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[o,a,r]}),children:t}):(0,u.jsx)(u.Fragment,{children:t})}function E(e){let{parallelRouterKey:t,segmentPath:n,error:r,errorStyles:o,errorScripts:a,templateStyles:c,templateScripts:s,template:d,notFound:p,notFoundStyles:b}=e,g=(0,l.useContext)(i.LayoutRouterContext);if(!g)throw Error("invariant expected layout router to be mounted");let{childNodes:m,tree:R,url:E,loading:S}=g,w=m.get(t);w||(w=new Map,m.set(t,w));let M=R[1][t][0],T=(0,_.getSegmentValue)(M),x=[M];return(0,u.jsx)(u.Fragment,{children:x.map(e=>{let l=(0,_.getSegmentValue)(e),g=(0,v.createRouterCacheKey)(e);return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:n,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:o,errorScripts:a,children:(0,u.jsx)(O,{hasLoading:!!S,loading:null==S?void 0:S[0],loadingStyles:null==S?void 0:S[1],loadingScripts:null==S?void 0:S[2],children:(0,u.jsx)(y.NotFoundBoundary,{notFound:p,notFoundStyles:b,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(j,{parallelRouterKey:t,url:E,tree:R,childNodes:w,segmentPath:n,cacheKey:g,isActive:T===l})})})})})}),children:[c,s,d]},(0,v.createRouterCacheKey)(e,!0))})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},76015:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{canSegmentBeOverridden:function(){return u},matchSegment:function(){return o}});let r=n(87417),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],u=(e,t)=>{var n;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(n=(0,r.getSegmentParam)(e))?void 0:n.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35475:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},useParams:function(){return p},usePathname:function(){return f},useRouter:function(){return d},useSearchParams:function(){return s},useSelectedLayoutSegment:function(){return y},useSelectedLayoutSegments:function(){return h},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let r=n(2265),o=n(61956),u=n(79060),l=n(73171),a=n(84541),i=n(52646),c=n(55501);function s(){let e=(0,r.useContext)(u.SearchParamsContext),t=(0,r.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e]);if("undefined"==typeof window){let{bailoutToClientRendering:e}=n(96149);e("useSearchParams()")}return t}function f(){return(0,r.useContext)(u.PathnameContext)}function d(){let e=(0,r.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function p(){return(0,r.useContext)(u.PathParamsContext)}function h(e){void 0===e&&(e="children");let t=(0,r.useContext)(o.LayoutRouterContext);return t?function e(t,n,r,o){let u;if(void 0===r&&(r=!0),void 0===o&&(o=[]),r)u=t[1][n];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,n,!1,o))}(t.tree,e):null}function y(e){void 0===e&&(e="children");let t=h(e);if(!t||0===t.length)return null;let n="children"===e?t[0]:t[t.length-1];return n===a.DEFAULT_SEGMENT_KEY?null:n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},52646:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return r.RedirectType},notFound:function(){return o.notFound},permanentRedirect:function(){return r.permanentRedirect},redirect:function(){return r.redirect}});let r=n(88968),o=n(98200);class u extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new u}delete(){throw new u}set(){throw new u}sort(){throw new u}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},80:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return s}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(35475),a=n(98200);n(31765);let i=n(61956);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function s(e){let{notFound:t,notFoundStyles:n,asNotFound:r,children:a}=e,s=(0,l.usePathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t?(0,o.jsx)(c,{pathname:s,notFound:t,notFoundStyles:n,asNotFound:r,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},98200:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{isNotFoundError:function(){return o},notFound:function(){return r}});let n="NEXT_NOT_FOUND";function r(){let e=Error(n);throw e.digest=n,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},29744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let r=n(2522),o=n(90675);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,n;let o=new Promise((e,r)=>{t=e,n=r}),u=async()=>{try{r._(this,l)[l]++;let n=await e();t(n)}catch(e){n(e)}finally{r._(this,l)[l]--,r._(this,i)[i]()}};return r._(this,a)[a].push({promiseFn:o,task:u}),r._(this,i)[i](),o}bump(e){let t=r._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=r._(this,a)[a].splice(t,1)[0];r._(this,a)[a].unshift(e),r._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),r._(this,u)[u]=e,r._(this,l)[l]=0,r._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(r._(this,l)[l]0){var t;null==(t=r._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4123:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectBoundary:function(){return s},RedirectErrorBoundary:function(){return c}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(35475),a=n(88968);function i(e){let{redirect:t,reset:n,redirectType:r}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{r===a.RedirectType.push?o.push(t,{}):o.replace(t,{}),n()})},[t,r,n,o]),null}class c extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(i,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function s(e){let{children:t}=e,n=(0,l.useRouter)();return(0,o.jsx)(c,{router:n,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5001:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return n}}),(r=n||(n={}))[r.SeeOther=303]="SeeOther",r[r.TemporaryRedirect=307]="TemporaryRedirect",r[r.PermanentRedirect=308]="PermanentRedirect",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},88968:function(e,t,n){"use strict";var r,o;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectType:function(){return r},getRedirectError:function(){return c},getRedirectStatusCodeFromError:function(){return y},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return p},isRedirectError:function(){return d},permanentRedirect:function(){return f},redirect:function(){return s}});let u=n(20544),l=n(90295),a=n(5001),i="NEXT_REDIRECT";function c(e,t,n){void 0===n&&(n=a.RedirectStatusCode.TemporaryRedirect);let r=Error(i);r.digest=i+";"+t+";"+e+";"+n+";";let o=u.requestAsyncStorage.getStore();return o&&(r.mutableCookies=o.mutableCookies),r}function s(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.TemporaryRedirect)}function f(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,n,r,o]=e.digest.split(";",4),u=Number(o);return t===i&&("replace"===n||"push"===n)&&"string"==typeof r&&!isNaN(u)&&u in a.RedirectStatusCode}function p(e){return d(e)?e.digest.split(";",3)[2]:null}function h(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function y(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(o=r||(r={})).push="push",o.replace="replace",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36423:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(61956);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},20544:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getExpectedRequestStore:function(){return o},requestAsyncStorage:function(){return r.requestAsyncStorage}});let r=n(25575);function o(e){let t=r.requestAsyncStorage.getStore();if(t)return t;throw Error("`"+e+"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},22356:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let r=n(27420),o=n(92576);function u(e,t,n,u){let[l,a,i]=n.slice(-3);if(null===a)return!1;if(3===n.length){let n=a[2],o=a[3];t.loading=o,t.rsc=n,t.prefetchRsc=null,(0,r.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,n,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},81935:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,n,r,a){let i;let[c,s,f,d,p]=n;if(1===t.length){let e=l(n,r,t);return(0,u.addRefreshMarkerToActiveParallelSegments)(e,a),e}let[h,y]=t;if(!(0,o.matchSegment)(h,c))return null;if(2===t.length)i=l(s[y],r,t);else if(null===(i=e(t.slice(2),s[y],r,a)))return null;let _=[t[0],{...s,[y]:i},f,d];return p&&(_[4]=!0),(0,u.addRefreshMarkerToActiveParallelSegments)(_,a),_}}});let r=n(84541),o=n(76015),u=n(50232);function l(e,t,n){let[u,a]=e,[i,c]=t;if(i===r.DEFAULT_SEGMENT_KEY&&u!==r.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(u,i)){let t={};for(let e in a)void 0!==c[e]?t[e]=l(a[e],c[e],n):t[e]=a[e];for(let e in c)t[e]||(t[e]=c[e]);let r=[u,t];return e[2]&&(r[2]=e[2]),e[3]&&(r[3]=e[3]),e[4]&&(r[4]=e[4]),r}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65556:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l),s=t.parallelRoutes.get(l);s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s));let f=null==c?void 0:c.get(i),d=s.get(i);if(u){d&&d.lazyData&&d!==f||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}if(!d||!f){d||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}return d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved,loading:d.loading},s.set(i,d)),e(d,f,o.slice(2))}}});let r=n(78505);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5410:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c}});let r=n(91182),o=n(84541),u=n(76015),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let n=Array.isArray(e[0])?e[0][1]:e[0];if(n===o.DEFAULT_SEGMENT_KEY||r.INTERCEPTION_ROUTE_MARKERS.some(e=>n.startsWith(e)))return;if(n.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(n)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let n=c(t);void 0!==n&&u.push(n)}return i(u)}function s(e,t){let n=function e(t,n){let[o,l]=t,[i,s]=n,f=a(o),d=a(i);if(r.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(n))?p:""}for(let t in l)if(s[t]){let n=e(l[t],s[t]);if(null!==n)return a(i)+"/"+n}return null}(e,t);return null==n||"/"===n?n:i(n.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},33456:function(e,t){"use strict";function n(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82952:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return c}});let r=n(33456),o=n(27420),u=n(5410),l=n(60305),a=n(24673),i=n(50232);function c(e){var t;let{buildId:n,initialTree:c,initialSeedData:s,urlParts:f,initialParallelRoutes:d,location:p,initialHead:h,couldBeIntercepted:y}=e,_=f.join("/"),v=!p,b={lazyData:null,rsc:s[2],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:v?new Map:d,lazyDataResolved:!1,loading:s[3]},g=p?(0,r.createHrefFromUrl)(p):_;(0,i.addRefreshMarkerToActiveParallelSegments)(c,g);let m=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(b,void 0,c,s,h);let R={buildId:n,tree:c,cache:b,prefetchCache:m,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:g,nextUrl:null!=(t=(0,u.extractPathFromFlightRouterState)(c)||(null==p?void 0:p.pathname))?t:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin),t=[["",c,null,null]];(0,l.createPrefetchCacheEntryForInitialLoad)({url:e,kind:a.PrefetchKind.AUTO,data:[t,void 0,!1,y],tree:R.tree,prefetchCache:R.prefetchCache,nextUrl:R.nextUrl})}return R}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},78505:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let r=n(84541);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(r.PAGE_SEGMENT_KEY)?r.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44848:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return f}});let r=n(6866),o=n(12846),u=n(83079),l=n(24673),a=n(37207),i=n(91311),{createFromFetch:c}=n(6671);function s(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0,!1,!1]}async function f(e,t,n,f,d){let p={[r.RSC_HEADER]:"1",[r.NEXT_ROUTER_STATE_TREE]:(0,i.prepareFlightRouterStateForRequest)(t)};d===l.PrefetchKind.AUTO&&(p[r.NEXT_ROUTER_PREFETCH_HEADER]="1"),n&&(p[r.NEXT_URL]=n);let h=(0,a.hexHash)([p[r.NEXT_ROUTER_PREFETCH_HEADER]||"0",p[r.NEXT_ROUTER_STATE_TREE],p[r.NEXT_URL]].join(","));try{var y;let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(r.NEXT_RSC_UNION_QUERY,h);let n=await fetch(t,{credentials:"same-origin",headers:p}),l=(0,o.urlToUrlWithoutFlightMarker)(n.url),a=n.redirected?l:void 0,i=n.headers.get("content-type")||"",d=!!n.headers.get(r.NEXT_DID_POSTPONE_HEADER),_=!!(null==(y=n.headers.get("vary"))?void 0:y.includes(r.NEXT_URL)),v=i===r.RSC_CONTENT_TYPE_HEADER;if(v||(v=i.startsWith("text/plain")),!v||!n.ok)return e.hash&&(l.hash=e.hash),s(l.toString());let[b,g]=await c(Promise.resolve(n),{callServer:u.callServer});if(f!==b)return s(n.url);return[g,a,d,_]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0,!1,!1]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},92576:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,n,l,a){let i=l.length<=5,[c,s]=l,f=(0,u.createRouterCacheKey)(s),d=n.parallelRoutes.get(c);if(!d)return;let p=t.parallelRoutes.get(c);p&&p!==d||(p=new Map(d),t.parallelRoutes.set(c,p));let h=d.get(f),y=p.get(f);if(i){if(!y||!y.lazyData||y===h){let e=l[3];y={lazyData:null,rsc:e[2],prefetchRsc:null,head:null,prefetchHead:null,loading:e[3],parallelRoutes:h?new Map(h.parallelRoutes):new Map,lazyDataResolved:!1},h&&(0,r.invalidateCacheByRouterState)(y,h,l[2]),(0,o.fillLazyItemsTillLeafWithHead)(y,h,l[2],e,l[4],a),p.set(f,y)}return}y&&h&&(y===h&&(y={lazyData:y.lazyData,rsc:y.rsc,prefetchRsc:y.prefetchRsc,head:y.head,prefetchHead:y.prefetchHead,parallelRoutes:new Map(y.parallelRoutes),lazyDataResolved:!1,loading:y.loading},p.set(f,y)),e(y,h,l.slice(2),a))}}});let r=n(94377),o=n(27420),u=n(78505);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},27420:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,n,u,l,a,i){if(0===Object.keys(u[1]).length){t.head=a;return}for(let c in u[1]){let s;let f=u[1][c],d=f[0],p=(0,r.createRouterCacheKey)(d),h=null!==l&&void 0!==l[1][c]?l[1][c]:null;if(n){let r=n.parallelRoutes.get(c);if(r){let n;let u=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,l=new Map(r),s=l.get(p);n=null!==h?{lazyData:null,rsc:h[2],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1}:u&&s?{lazyData:s.lazyData,rsc:s.rsc,prefetchRsc:s.prefetchRsc,head:s.head,prefetchHead:s.prefetchHead,parallelRoutes:new Map(s.parallelRoutes),lazyDataResolved:s.lazyDataResolved,loading:s.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1,loading:null},l.set(p,n),e(n,s,f,h||null,a,i),t.parallelRoutes.set(c,l);continue}}if(null!==h){let e=h[2],t=h[3];s={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:t}}else s={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};let y=t.parallelRoutes.get(c);y?y.set(p,s):t.parallelRoutes.set(c,new Map([[p,s]])),e(s,void 0,f,h,a,i)}}}});let r=n(78505),o=n(24673);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44510:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let r=n(5410);function o(e){return void 0!==e}function u(e,t){var n,u,l;let a=null==(u=t.shouldScroll)||u,i=e.nextUrl;if(o(t.patchedTree)){let n=(0,r.computeChangedPath)(e.tree,t.patchedTree);n?i=n:i||(i=e.canonicalUrl)}return{buildId:e.buildId,canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!a&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:!!t.hashFragment&&e.canonicalUrl.split("#",1)[0]===(null==(n=t.canonicalUrl)?void 0:n.split("#",1)[0]),hashFragment:a?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:a?null!=(l=null==t?void 0:t.scrollableSegments)?l:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77831:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let r=n(95967);function o(e,t,n){return(0,r.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77058:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l);if(!c)return;let s=t.parallelRoutes.get(l);if(s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s)),u){s.delete(i);return}let f=c.get(i),d=s.get(i);d&&f&&(d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved},s.set(i,d)),e(d,f,o.slice(2)))}}});let r=n(78505);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},94377:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let r=n(78505);function o(e,t,n){for(let o in n[1]){let u=n[1][o][0],l=(0,r.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63237:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,n){let r=t[0],o=n[0];if(Array.isArray(r)&&Array.isArray(o)){if(r[0]!==o[0]||r[2]!==o[2])return!0}else if(r!==o)return!0;if(t[4])return!n[4];if(n[4])return!0;let u=Object.values(t[1])[0],l=Object.values(n[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},56118:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{abortTask:function(){return c},listenForDynamicRequest:function(){return a},updateCacheNodeOnNavigation:function(){return function e(t,n,a,c,s){let f=n[1],d=a[1],p=c[1],h=t.parallelRoutes,y=new Map(h),_={},v=null;for(let t in d){let n;let a=d[t],c=f[t],b=h.get(t),g=p[t],m=a[0],R=(0,u.createRouterCacheKey)(m),P=void 0!==c?c[0]:void 0,j=void 0!==b?b.get(R):void 0;if(null!==(n=m===r.PAGE_SEGMENT_KEY?l(a,void 0!==g?g:null,s):m===r.DEFAULT_SEGMENT_KEY?void 0!==c?{route:c,node:null,children:null}:l(a,void 0!==g?g:null,s):void 0!==P&&(0,o.matchSegment)(m,P)&&void 0!==j&&void 0!==c?null!=g?e(j,c,a,g,s):function(e){let t=i(e,null,null);return{route:e,node:t,children:null}}(a):l(a,void 0!==g?g:null,s))){null===v&&(v=new Map),v.set(t,n);let e=n.node;if(null!==e){let n=new Map(b);n.set(R,e),y.set(t,n)}_[t]=n.route}else _[t]=a}if(null===v)return null;let b={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:y,lazyDataResolved:!1};return{route:function(e,t){let n=[e[0],t];return 2 in e&&(n[2]=e[2]),3 in e&&(n[3]=e[3]),4 in e&&(n[4]=e[4]),n}(a,_),node:b,children:v}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,n){let r=n[1],o=t.parallelRoutes,l=new Map(o);for(let t in r){let n=r[t],a=n[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let r=c.get(i);if(void 0!==r){let o=e(r,n),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=d(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:null,prefetchRsc:i?t.prefetchRsc:null,loading:i?t.loading:null,parallelRoutes:l,lazyDataResolved:!1}}}});let r=n(84541),o=n(76015),u=n(78505);function l(e,t,n){let r=i(e,t,n);return{route:e,node:r,children:null}}function a(e,t){t.then(t=>{for(let n of t[0]){let t=n.slice(0,-3),r=n[n.length-3],l=n[n.length-2],a=n[n.length-1];"string"!=typeof t&&function(e,t,n,r,l){let a=e;for(let e=0;e{c(e,t)})}function i(e,t,n){let r=e[1],o=null!==t?t[1]:null,l=new Map;for(let e in r){let t=r[e],a=null!==o?o[e]:null,c=t[0],s=(0,u.createRouterCacheKey)(c),f=i(t,void 0===a?null:a,n),d=new Map;d.set(s,f),l.set(e,d)}let a=0===l.size,c=null!==t?t[2]:null,s=null!==t?t[3]:null;return{lazyData:null,parallelRoutes:l,prefetchRsc:void 0!==c?c:null,prefetchHead:a?n:null,loading:void 0!==s?s:null,rsc:p(),head:a?p():null,lazyDataResolved:!1}}function c(e,t){let n=e.node;if(null===n)return;let r=e.children;if(null===r)s(e.route,n,t);else for(let e of r.values())c(e,t);e.node=null}function s(e,t,n){let r=e[1],o=t.parallelRoutes;for(let e in r){let t=r[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&s(t,c,n)}let l=t.rsc;d(l)&&(null===n?l.resolve(null):l.reject(n));let a=t.head;d(a)&&a.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let n=new Promise((n,r)=>{e=n,t=r});return n.status="pending",n.resolve=t=>{"pending"===n.status&&(n.status="fulfilled",n.value=t,e(t))},n.reject=e=>{"pending"===n.status&&(n.status="rejected",n.reason=e,t(e))},n.tag=f,n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},60305:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createPrefetchCacheEntryForInitialLoad:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let r=n(33456),o=n(44848),u=n(24673),l=n(24819);function a(e,t){let n=(0,r.createHrefFromUrl)(e,!1);return t?t+"%"+n:n}function i(e){let t,{url:n,nextUrl:r,tree:o,buildId:l,prefetchCache:i,kind:c}=e,f=a(n,r),d=i.get(f);if(d)t=d;else{let e=a(n),r=i.get(e);r&&(t=r)}return t?(t.status=h(t),t.kind!==u.PrefetchKind.FULL&&c===u.PrefetchKind.FULL)?s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:null!=c?c:u.PrefetchKind.TEMPORARY}):(c&&t.kind===u.PrefetchKind.TEMPORARY&&(t.kind=c),t):s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:c||u.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:n,prefetchCache:r,url:o,kind:l,data:i}=e,[,,,c]=i,s=c?a(o,t):a(o),f={treeAtTimeOfPrefetch:n,data:Promise.resolve(i),kind:l,prefetchTime:Date.now(),lastUsedTime:Date.now(),key:s,status:u.PrefetchCacheEntryStatus.fresh};return r.set(s,f),f}function s(e){let{url:t,kind:n,tree:r,nextUrl:i,buildId:c,prefetchCache:s}=e,f=a(t),d=l.prefetchQueue.enqueue(()=>(0,o.fetchServerResponse)(t,r,i,c,n).then(e=>{let[,,,n]=e;return n&&function(e){let{url:t,nextUrl:n,prefetchCache:r}=e,o=a(t),u=r.get(o);if(!u)return;let l=a(t,n);r.set(l,u),r.delete(o)}({url:t,nextUrl:i,prefetchCache:s}),e})),p={treeAtTimeOfPrefetch:r,data:d,kind:n,prefetchTime:Date.now(),lastUsedTime:null,key:f,status:u.PrefetchCacheEntryStatus.fresh};return s.set(f,p),p}function f(e){for(let[t,n]of e)h(n)===u.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("30"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:n,lastUsedTime:r}=e;return Date.now()<(null!=r?r:n)+d?r?u.PrefetchCacheEntryStatus.reusable:u.PrefetchCacheEntryStatus.fresh:"auto"===t&&Date.now(){let[n,f]=t,h=!1;if(E.lastUsedTime||(E.lastUsedTime=Date.now(),h=!0),"string"==typeof n)return _(e,R,n,O);if(document.getElementById("__next-page-redirect"))return _(e,R,j,O);let b=e.tree,g=e.cache,w=[];for(let t of n){let n=t.slice(0,-4),r=t.slice(-3)[0],c=["",...n],f=(0,u.applyRouterStatePatchToTree)(c,b,r,j);if(null===f&&(f=(0,u.applyRouterStatePatchToTree)(c,S,r,j)),null!==f){if((0,a.isNavigatingToNewRootLayout)(b,f))return _(e,R,j,O);let u=(0,d.createEmptyCacheNode)(),m=!1;for(let e of(E.status!==i.PrefetchCacheEntryStatus.stale||h?m=(0,s.applyFlightData)(g,u,t,E):(m=function(e,t,n,r){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),v(r).map(e=>[...n,...e])))(0,y.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(u,g,n,r),E.lastUsedTime=Date.now()),(0,l.shouldHardNavigate)(c,b)?(u.rsc=g.rsc,u.prefetchRsc=g.prefetchRsc,(0,o.invalidateCacheBelowFlightSegmentPath)(u,g,n),R.cache=u):m&&(R.cache=u,g=u),b=f,v(r))){let t=[...n,...e];t[t.length-1]!==p.DEFAULT_SEGMENT_KEY&&w.push(t)}}}return R.patchedTree=b,R.canonicalUrl=f?(0,r.createHrefFromUrl)(f):j,R.pendingPush=O,R.scrollableSegments=w,R.hashFragment=P,R.shouldScroll=m,(0,c.handleMutable)(e,R)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24819:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{prefetchQueue:function(){return l},prefetchReducer:function(){return a}});let r=n(6866),o=n(29744),u=n(60305),l=new o.PromiseQueue(5);function a(e,t){(0,u.prunePrefetchCache)(e.prefetchCache);let{url:n}=t;return n.searchParams.delete(r.NEXT_RSC_UNION_QUERY),(0,u.getOrCreatePrefetchCacheEntry)({url:n,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,buildId:e.buildId}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99601:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let r=n(44848),o=n(33456),u=n(81935),l=n(63237),a=n(95967),i=n(44510),c=n(27420),s=n(12846),f=n(77831),d=n(28077),p=n(50232);function h(e,t){let{origin:n}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let v=(0,s.createEmptyCacheNode)(),b=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return v.lazyData=(0,r.fetchServerResponse)(new URL(y,n),[_[0],_[1],_[2],"refetch"],b?e.nextUrl:null,e.buildId),v.lazyData.then(async n=>{let[r,s]=n;if("string"==typeof r)return(0,a.handleExternalUrl)(e,h,r,e.pushRef.pendingPush);for(let n of(v.lazyData=null,r)){if(3!==n.length)return console.log("REFRESH FAILED"),e;let[r]=n,i=(0,u.applyRouterStatePatchToTree)([""],_,r,e.canonicalUrl);if(null===i)return(0,f.handleSegmentMismatch)(e,t,r);if((0,l.isNavigatingToNewRootLayout)(_,i))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let d=s?(0,o.createHrefFromUrl)(s):void 0;s&&(h.canonicalUrl=d);let[g,m]=n.slice(-2);if(null!==g){let e=g[2];v.rsc=e,v.prefetchRsc=null,(0,c.fillLazyItemsTillLeafWithHead)(v,void 0,r,g,m),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:i,updatedCache:v,includeNextUrl:b,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=v,h.patchedTree=i,h.canonicalUrl=y,_=i}return(0,i.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77784:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let r=n(33456),o=n(5410);function u(e,t){var n;let{url:u,tree:l}=t,a=(0,r.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{buildId:e.buildId,canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(n=(0,o.extractPathFromFlightRouterState)(i))?n:u.pathname}}n(56118),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13722:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return m}});let r=n(83079),o=n(6866),u=n(1634),l=n(33456),a=n(95967),i=n(81935),c=n(63237),s=n(44510),f=n(27420),d=n(12846),p=n(28077),h=n(77831),y=n(50232),_=n(91311),{createFromFetch:v,encodeReply:b}=n(6671);async function g(e,t,n){let l,{actionId:a,actionArgs:i}=n,c=await b(i),s=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:a,[o.NEXT_ROUTER_STATE_TREE]:(0,_.prepareFlightRouterStateForRequest)(e.tree),...t?{[o.NEXT_URL]:t}:{}},body:c}),f=s.headers.get("x-action-redirect");try{let e=JSON.parse(s.headers.get("x-action-revalidated")||"[[],0,0]");l={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){l={paths:[],tag:!1,cookie:!1}}let d=f?new URL((0,u.addBasePath)(f),new URL(e.canonicalUrl,window.location.href)):void 0;if(s.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await v(Promise.resolve(s),{callServer:r.callServer});if(f){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:d,revalidatedParts:l}}let[t,[,n]]=null!=e?e:[];return{actionResult:t,actionFlightData:n,redirectLocation:d,revalidatedParts:l}}return{redirectLocation:d,revalidatedParts:l}}function m(e,t){let{resolve:n,reject:r}=t,o={},u=e.canonicalUrl,_=e.tree;o.preserveCustomHistoryState=!1;let v=e.nextUrl&&(0,p.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return o.inFlightServerAction=g(e,v,t),o.inFlightServerAction.then(async r=>{let{actionResult:p,actionFlightData:b,redirectLocation:g}=r;if(g&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!b)return(n(p),g)?(0,a.handleExternalUrl)(e,o,g.href,e.pushRef.pendingPush):e;if("string"==typeof b)return(0,a.handleExternalUrl)(e,o,b,e.pushRef.pendingPush);if(o.inFlightServerAction=null,g){let e=(0,l.createHrefFromUrl)(g,!1);o.canonicalUrl=e}for(let n of b){if(3!==n.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[r]=n,s=(0,i.applyRouterStatePatchToTree)([""],_,r,g?(0,l.createHrefFromUrl)(g):e.canonicalUrl);if(null===s)return(0,h.handleSegmentMismatch)(e,t,r);if((0,c.isNavigatingToNewRootLayout)(_,s))return(0,a.handleExternalUrl)(e,o,u,e.pushRef.pendingPush);let[p,b]=n.slice(-2),m=null!==p?p[2]:null;if(null!==m){let t=(0,d.createEmptyCacheNode)();t.rsc=m,t.prefetchRsc=null,(0,f.fillLazyItemsTillLeafWithHead)(t,void 0,r,p,b),await (0,y.refreshInactiveParallelSegments)({state:e,updatedTree:s,updatedCache:t,includeNextUrl:!!v,canonicalUrl:o.canonicalUrl||e.canonicalUrl}),o.cache=t,o.prefetchCache=new Map}o.patchedTree=s,_=s}return n(p),(0,s.handleMutable)(e,o)},t=>(r(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},68448:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return f}});let r=n(33456),o=n(81935),u=n(63237),l=n(95967),a=n(22356),i=n(44510),c=n(12846),s=n(77831);function f(e,t){let{serverResponse:n}=t,[f,d]=n,p={};if(p.preserveCustomHistoryState=!1,"string"==typeof f)return(0,l.handleExternalUrl)(e,p,f,e.pushRef.pendingPush);let h=e.tree,y=e.cache;for(let n of f){let i=n.slice(0,-4),[f]=n.slice(-3,-2),_=(0,o.applyRouterStatePatchToTree)(["",...i],h,f,e.canonicalUrl);if(null===_)return(0,s.handleSegmentMismatch)(e,t,f);if((0,u.isNavigatingToNewRootLayout)(h,_))return(0,l.handleExternalUrl)(e,p,e.canonicalUrl,e.pushRef.pendingPush);let v=d?(0,r.createHrefFromUrl)(d):void 0;v&&(p.canonicalUrl=v);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(y,b,n),p.patchedTree=_,p.cache=b,y=b,h=_}return(0,i.handleMutable)(e,p)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},50232:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,n){let[r,o,,l]=t;for(let a in r.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=n,t[3]="refresh"),o)e(o[a],n)}},refreshInactiveParallelSegments:function(){return l}});let r=n(22356),o=n(44848),u=n(84541);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{state:t,updatedTree:n,updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c=n,canonicalUrl:s}=e,[,f,d,p]=n,h=[];if(d&&d!==s&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),[c[0],c[1],c[2],"refetch"],l?t.nextUrl:null,t.buildId).then(e=>{let t=e[0];if("string"!=typeof t)for(let e of t)(0,r.applyFlightData)(u,u,e)});h.push(e)}for(let e in f){let n=a({state:t,updatedTree:f[e],updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c,canonicalUrl:s});h.push(n)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24673:function(e,t){"use strict";var n,r,o,u;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return a},ACTION_PREFETCH:function(){return s},ACTION_REFRESH:function(){return l},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return c},PrefetchCacheEntryStatus:function(){return r},PrefetchKind:function(){return n},isThenable:function(){return p}});let l="refresh",a="navigate",i="restore",c="server-patch",s="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(o=n||(n={})).AUTO="auto",o.FULL="full",o.TEMPORARY="temporary",(u=r||(r={})).fresh="fresh",u.reusable="reusable",u.expired="expired",u.stale="stale",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91450:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let r=n(24673),o=n(95967),u=n(68448),l=n(77784),a=n(99601),i=n(24819),c=n(44529),s=n(13722),f="undefined"==typeof window?function(e,t){return e}:function(e,t){switch(t.type){case r.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case r.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case r.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case r.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case r.ACTION_FAST_REFRESH:return(0,c.fastRefreshReducer)(e,t);case r.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case r.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},53728:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,n){let[o,u]=n,[l,a]=t;return(0,r.matchSegment)(l,o)?!(t.length<=2)&&e(t.slice(2),u[a]):!!Array.isArray(l)}}});let r=n(76015);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54535:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createDynamicallyTrackedSearchParams:function(){return a},createUntrackedSearchParams:function(){return l}});let r=n(51845),o=n(86999),u=n(30650);function l(e){let t=r.staticGenerationAsyncStorage.getStore();return t&&t.forceStatic?{}:e}function a(e){let t=r.staticGenerationAsyncStorage.getStore();return t?t.forceStatic?{}:t.isStaticGeneration||t.dynamicShouldError?new Proxy({},{get:(e,n,r)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),u.ReflectAdapter.get(e,n,r)),has:(e,n)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),Reflect.has(e,n)),ownKeys:e=>((0,o.trackDynamicDataAccessed)(t,"searchParams"),Reflect.ownKeys(e))}):e:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},51845:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r.staticGenerationAsyncStorage}});let r=n(20030);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36864:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{StaticGenBailoutError:function(){return r},isStaticGenBailoutError:function(){return o}});let n="NEXT_STATIC_GEN_BAILOUT";class r extends Error{constructor(...e){super(...e),this.code=n}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},38137:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{useReducerWithReduxDevtools:function(){return i},useUnwrapState:function(){return a}});let r=n(53099)._(n(2265)),o=n(24673),u=n(2103);function l(e){if(e instanceof Map){let t={};for(let[n,r]of e.entries()){if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r._bundlerConfig){t[n]="FlightData";continue}}t[n]=l(r)}return t}if("object"==typeof e&&null!==e){let t={};for(let n in e){let r=e[n];if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r.hasOwnProperty("_bundlerConfig")){t[n]="FlightData";continue}}t[n]=l(r)}return t}return Array.isArray(e)?e.map(l):e}function a(e){return(0,o.isThenable)(e)?(0,r.use)(e):e}let i="undefined"!=typeof window?function(e){let[t,n]=r.default.useState(e),o=(0,r.useContext)(u.ActionQueueContext);if(!o)throw Error("Invariant: Missing ActionQueueContext");let a=(0,r.useRef)(),i=(0,r.useRef)();return(0,r.useEffect)(()=>{if(!a.current&&!1!==i.current){if(void 0===i.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){i.current=!1;return}return a.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),a.current&&(a.current.init(l(e)),o&&(o.devToolsInstance=a.current)),()=>{a.current=void 0}}},[e,o]),[t,(0,r.useCallback)(t=>{o.state||(o.state=e),o.dispatch(t,n)},[o,e]),(0,r.useCallback)(e=>{a.current&&a.current.send({type:"RENDER_SYNC"},l(e))},[])]}:function(e){return[e,()=>{},()=>{}]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91311:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prepareFlightRouterStateForRequest",{enumerable:!0,get:function(){return o}});let r=n(84541);function o(e,t){return t?encodeURIComponent(JSON.stringify(e)):encodeURIComponent(JSON.stringify(function e(t){let[n,o,,u,l]=t,a="string"==typeof n&&n.startsWith(r.PAGE_SEGMENT_KEY+"?")?r.PAGE_SEGMENT_KEY:n,i={};for(let[t,n]of Object.entries(o))i[t]=e(n);let c=[a,i,null,u&&"refresh"!==u?u:null];return void 0!==l&&(c[4]=l),c}(e)))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},11283:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let r=n(10580);function o(e){return(0,r.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},33068:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let r=n(26674),o=n(63381),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:n,hash:u}=(0,o.parsePath)(e);return""+(0,r.removeTrailingSlash)(t)+n+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},61404:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=n(18993);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,r.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35076:function(e,t,n){"use strict";function r(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return r}}),n(11283),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},12010:function(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0>>1,o=e[r];if(0>>1;ru(i,n))cu(s,i)?(e[r]=s,e[c]=n,r=c):(e[r]=i,e[a]=n,r=a);else if(cu(s,n))e[r]=s,e[c]=n,r=c;else break}}return t}function u(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function R(e){for(var t=r(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,n(s,t);else break;t=r(f)}}function P(e){if(v=!1,R(e),!_){if(null!==r(s))_=!0,C();else{var t=r(f);null!==t&&A(P,t.startTime-e)}}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j=!1,O=-1,E=5,S=-1;function w(){return!(t.unstable_now()-Se&&w());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,R(e),n=!0;break t}p===r(s)&&o(s),R(e)}else o(s);p=r(s)}if(null!==p)n=!0;else{var c=r(f);null!==c&&A(P,c.startTime-e),n=!1}}break e}finally{p=null,h=u,y=!1}n=void 0}}finally{n?l():j=!1}}}if("function"==typeof m)l=function(){m(M)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,x=T.port2;T.port1.onmessage=M,l=function(){x.postMessage(null)}}else l=function(){b(M,0)};function C(){j||(j=!0,l())}function A(e,n){O=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||y||(_=!0,C())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=u,n(f,e),null===r(s)&&e===r(f)&&(v?(g(O),O=-1):v=!0,A(P,u-l))):(e.sortIndex=a,n(s,e),_||y||(_=!0,C())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},71767:function(e,t,n){"use strict";e.exports=n(12010)},60934:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getPathname:function(){return r},isFullStringUrl:function(){return o},parseUrl:function(){return u}});let n="http://n";function r(e){return new URL(e,n).pathname}function o(e){return/https?:\/\//.test(e)}function u(e){let t;try{t=new URL(e,n)}catch{}return t}},86999:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Postpone:function(){return d},createPostponedAbortSignal:function(){return b},createPrerenderState:function(){return c},formatDynamicAPIAccesses:function(){return _},markCurrentScopeAsDynamic:function(){return s},trackDynamicDataAccessed:function(){return f},trackDynamicFetch:function(){return p},usedDynamicAPIs:function(){return y}});let o=(r=n(2265))&&r.__esModule?r:{default:r},u=n(46177),l=n(36864),a=n(60934),i="function"==typeof o.default.unstable_postpone;function c(e){return{isDebugSkeleton:e,dynamicAccesses:[]}}function s(e,t){let n=(0,a.getPathname)(e.urlPathname);if(!e.isUnstableCacheCallback){if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}}function f(e,t){let n=(0,a.getPathname)(e.urlPathname);if(e.isUnstableCacheCallback)throw Error(`Route ${n} used "${t}" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "${t}" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}function d({reason:e,prerenderState:t,pathname:n}){h(t,e,n)}function p(e,t){e.prerenderState&&h(e.prerenderState,t,e.urlPathname)}function h(e,t,n){v();let r=`Route ${n} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;e.dynamicAccesses.push({stack:e.isDebugSkeleton?Error().stack:void 0,expression:t}),o.default.unstable_postpone(r)}function y(e){return e.dynamicAccesses.length>0}function _(e){return e.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: -${t}`))}function v(){if(!i)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function b(e){v();let t=new AbortController;try{o.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}},87417:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let r=n(91182);function o(e){let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},70647:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HMR_ACTIONS_SENT_TO_BROWSER",{enumerable:!0,get:function(){return n}}),(r=n||(n={})).ADDED_PAGE="addedPage",r.REMOVED_PAGE="removedPage",r.RELOAD_PAGE="reloadPage",r.SERVER_COMPONENT_CHANGES="serverComponentChanges",r.MIDDLEWARE_CHANGES="middlewareChanges",r.CLIENT_CHANGES="clientChanges",r.SERVER_ONLY_CHANGES="serverOnlyChanges",r.SYNC="sync",r.BUILT="built",r.BUILDING="building",r.DEV_PAGES_MANIFEST_UPDATE="devPagesManifestUpdate",r.TURBOPACK_MESSAGE="turbopack-message",r.SERVER_ERROR="serverError",r.TURBOPACK_CONNECTED="turbopack-connected"},91182:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let r=n(20926),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,n,u;for(let r of e.split("/"))if(n=o.find(e=>r.startsWith(e))){[t,u]=e.split(n,2);break}if(!t||!n||!u)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,r.normalizeAppPath)(t),n){case"(.)":u="/"===t?`/${u}`:t+"/"+u;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);u=l.slice(0,-2).concat(u).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:u}}},30650:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,n){let r=Reflect.get(e,t,n);return"function"==typeof r?r.bind(e):r}static set(e,t,n,r){return Reflect.set(e,t,n,r)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},61956:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let r=n(47043)._(n(2265)),o=r.default.createContext(null),u=r.default.createContext(null),l=r.default.createContext(null),a=r.default.createContext(null),i=r.default.createContext(new Set)},37207:function(e,t){"use strict";function n(e){let t=5381;for(let n=0;n>>0}function r(e){return n(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{djb2Hash:function(){return n},hexHash:function(){return r}})},48701:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext({})},79060:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let r=n(2265),o=(0,r.createContext)(null),u=(0,r.createContext)(null),l=(0,r.createContext)(null)},18993:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{BailoutToCSRError:function(){return r},isBailoutToCSRError:function(){return o}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class r extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},78162:function(e,t){"use strict";function n(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},2103:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ActionQueueContext:function(){return a},createMutableActionQueue:function(){return s}});let r=n(53099),o=n(24673),u=n(91450),l=r._(n(2265)),a=l.default.createContext(null);function i(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?c({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},t)))}async function c(e){let{actionQueue:t,action:n,setState:r}=e,u=t.state;if(!u)throw Error("Invariant: Router state not initialized");t.pending=n;let l=n.payload,a=t.action(u,l);function c(e){n.discarded||(t.state=e,t.devToolsInstance&&t.devToolsInstance.send(l,e),i(t,r),n.resolve(e))}(0,o.isThenable)(a)?a.then(c,e=>{i(t,r),n.reject(e)}):c(a)}function s(){let e={state:null,dispatch:(t,n)=>(function(e,t,n){let r={resolve:n,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{r={resolve:e,reject:t}});(0,l.startTransition)(()=>{n(e)})}let u={payload:t,next:null,resolve:r.resolve,reject:r.reject};null===e.pending?(e.last=u,c({actionQueue:e,action:u,setState:n})):t.type===o.ACTION_NAVIGATE||t.type===o.ACTION_RESTORE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),c({actionQueue:e,action:u,setState:n})):(null!==e.last&&(e.last.next=u),e.last=u)})(e,t,n),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,u.reducer)(e,t)},pending:null,last:null};return e}},68498:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let r=n(63381);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:n,query:o,hash:u}=(0,r.parsePath)(e);return""+t+n+o+u}},20926:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let r=n(78162),o=n(84541);function u(e){return(0,r.ensureLeadingSlash)(e.split("/").reduce((e,t,n,r)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&n===r.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},7092:function(e,t){"use strict";function n(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let n=document.documentElement,r=n.style.scrollBehavior;n.style.scrollBehavior="auto",t.dontForceLayout||n.getClientRects(),e(),n.style.scrollBehavior=r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return n}})},86146:function(e,t){"use strict";function n(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}})},63381:function(e,t){"use strict";function n(e){let t=e.indexOf("#"),n=e.indexOf("?"),r=n>-1&&(t<0||n-1?{pathname:e.substring(0,r?n:t),query:r?e.substring(n,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return n}})},10580:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let r=n(63381);function o(e,t){if("string"!=typeof e)return!1;let{pathname:n}=(0,r.parsePath)(e);return n===t||n.startsWith(t+"/")}},26674:function(e,t){"use strict";function n(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},84541:function(e,t){"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return r},isGroupSegment:function(){return n}});let r="__PAGE__",o="__DEFAULT__"},55501:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let r=n(53099)._(n(2265)),o=r.default.createContext(null);function u(e){let t=(0,r.useContext)(o);t&&t(e)}},31765:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},47149:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(54832).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54832:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createAsyncLocalStorage",{enumerable:!0,get:function(){return u}});let n=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class r{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}}let o=globalThis.AsyncLocalStorage;function u(){return o?new o:new r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},25575:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"requestAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(54832).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},20030:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(54832).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},34040:function(e,t,n){"use strict";var r=n(54887);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},54887:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(84417)},97950:function(e,t,n){"use strict";var r=n(54887),o={stream:!0},u=new Map;function l(e){var t=n(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function a(){}var i=new Map,c=n.u;n.u=function(e){var t=i.get(e);return void 0!==t?t:c(e)};var s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,f=Symbol.for("react.element"),d=Symbol.for("react.lazy"),p=Symbol.iterator,h=Array.isArray,y=Object.getPrototypeOf,_=Object.prototype,v=new WeakMap;function b(e,t,n,r){this.status=e,this.value=t,this.reason=n,this._response=r}function g(e){switch(e.status){case"resolved_model":S(e);break;case"resolved_module":w(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"cyclic":throw e;default:throw e.reason}}function m(e,t){for(var n=0;nh?(_=h,h=3,p++):(_=0,h=3);continue;case 2:44===(m=d[p++])?h=4:v=v<<4|(96d.length&&(m=-1)}var O=d.byteOffset+p;if(-11&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},1634:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let r=n(68498),o=n(33068);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,r.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},75266:function(e,t){"use strict";function n(e){var t,n;t=self.__next_s,n=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[n,r]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(r)for(let e in r)"children"!==e&&o.setAttribute(e,r[e]);n?(o.src=n,o.onload=()=>e(),o.onerror=t):r&&(o.innerHTML=r.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{n()}):n()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return n}}),window.next={version:"14.2.35",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},83079:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let r=n(12846);async function o(e,t){let n=(0,r.getServerActionDispatcher)();if(!n)throw Error("Invariant: missing action dispatcher.");return new Promise((r,o)=>{n({actionId:e,actionArgs:t,resolve:r,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},92304:function(e,t,n){"use strict";let r,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return x}});let u=n(47043),l=n(53099),a=n(57437);n(91572);let i=u._(n(34040)),c=l._(n(2265)),s=n(6671),f=n(48701),d=u._(n(61404)),p=n(83079),h=n(89721),y=n(2103);n(70647);let _=window.console.error;window.console.error=function(){for(var e=arguments.length,t=Array(e),n=0;n{if((0,h.isNextRouterError)(e.error)){e.preventDefault();return}});let v=document,b=new TextEncoder,g=!1,m=!1,R=null;function P(e){if(0===e[0])r=[];else if(1===e[0]){if(!r)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(b.encode(e[1])):r.push(e[1])}else 2===e[0]&&(R=e[1])}let j=function(){o&&!m&&(o.close(),m=!0,r=void 0),g=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",j,!1):j();let O=self.__next_f=self.__next_f||[];O.forEach(P),O.push=P;let E=new ReadableStream({start(e){r&&(r.forEach(t=>{e.enqueue(b.encode(t))}),g&&!m&&(e.close(),m=!0,r=void 0)),o=e}}),S=(0,s.createFromReadableStream)(E,{callServer:p.callServer});function w(){return(0,c.use)(S)}let M=c.default.StrictMode;function T(e){let{children:t}=e;return t}function x(){let e=(0,y.createMutableActionQueue)(),t=(0,a.jsx)(M,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(y.ActionQueueContext.Provider,{value:e,children:(0,a.jsx)(T,{children:(0,a.jsx)(w,{})})})})}),n=window.__next_root_layout_missing_tags,r=!!(null==n?void 0:n.length),o={onRecoverableError:d.default};"__next_error__"===document.documentElement.id||r?i.default.createRoot(v,o).render(t):c.default.startTransition(()=>i.default.hydrateRoot(v,t,{...o,formState:R}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54278:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(19506),(0,n(75266).appBootstrap)(()=>{let{hydrate:e}=n(92304);n(12846),n(4707),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19506:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(65157);{let e=n.u;n.u=function(){for(var t=arguments.length,n=Array(t),r=0;r(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,r.useState)(""),c=(0,r.useRef)();return(0,r.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),n?(0,o.createPortal)(a,n):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6866:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION:function(){return r},FLIGHT_PARAMETERS:function(){return i},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_RSC_UNION_QUERY:function(){return c},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return a},RSC_HEADER:function(){return n}});let n="RSC",r="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Url",a="text/x-component",i=[[n],[o],[u]],c="_rsc",s="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},12846:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createEmptyCacheNode:function(){return C},default:function(){return I},getServerActionDispatcher:function(){return S},urlToUrlWithoutFlightMarker:function(){return M}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(61956),a=n(24673),i=n(33456),c=n(79060),s=n(47744),f=n(61060),d=n(82952),p=n(86146),h=n(1634),y=n(6495),_=n(4123),v=n(39320),b=n(38137),g=n(6866),m=n(35076),R=n(11283),P=n(84541),j="undefined"==typeof window,O=j?null:new Map,E=null;function S(){return E}let w={};function M(e){let t=new URL(e,location.origin);if(t.searchParams.delete(g.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,n=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-n)}return t}function T(e){return e.origin!==window.location.origin}function x(e){let{appRouterState:t,sync:n}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:o}=t,u={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==o?(r.pendingPush=!1,window.history.pushState(u,"",o)):window.history.replaceState(u,"",o),n(t)},[t,n]),null}function C(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null}}function A(e){null==e&&(e={});let t=window.history.state,n=null==t?void 0:t.__NA;n&&(e.__NA=n);let r=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return r&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=r),e}function N(e){let{headCacheNode:t}=e,n=null!==t?t.head:null,r=null!==t?t.prefetchHead:null,o=null!==r?r:n;return(0,u.useDeferredValue)(n,o)}function D(e){let t,{buildId:n,initialHead:r,initialTree:i,urlParts:f,initialSeedData:g,couldBeIntercepted:S,assetPrefix:M,missingSlots:C}=e,D=(0,u.useMemo)(()=>(0,d.createInitialRouterState)({buildId:n,initialSeedData:g,urlParts:f,initialTree:i,initialParallelRoutes:O,location:j?null:window.location,initialHead:r,couldBeIntercepted:S}),[n,g,f,i,r,S]),[I,U,k]=(0,s.useReducerWithReduxDevtools)(D);(0,u.useEffect)(()=>{O=null},[]);let{canonicalUrl:F}=(0,s.useUnwrapState)(I),{searchParams:L,pathname:H}=(0,u.useMemo)(()=>{let e=new URL(F,"undefined"==typeof window?"http://n":window.location.href);return{searchParams:e.searchParams,pathname:(0,R.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[F]),G=(0,u.useCallback)(e=>{let{previousTree:t,serverResponse:n}=e;(0,u.startTransition)(()=>{U({type:a.ACTION_SERVER_PATCH,previousTree:t,serverResponse:n})})},[U]),$=(0,u.useCallback)((e,t,n)=>{let r=new URL((0,h.addBasePath)(e),location.href);return U({type:a.ACTION_NAVIGATE,url:r,isExternalUrl:T(r),locationSearch:location.search,shouldScroll:null==n||n,navigateType:t})},[U]);E=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{U({...e,type:a.ACTION_SERVER_ACTION})})},[U]);let z=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let n;if(!(0,p.isBot)(window.navigator.userAgent)){try{n=new URL((0,h.addBasePath)(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}T(n)||(0,u.startTransition)(()=>{var e;U({type:a.ACTION_PREFETCH,url:n,kind:null!=(e=null==t?void 0:t.kind)?e:a.PrefetchKind.FULL})})}},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;$(e,"replace",null==(n=t.scroll)||n)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;$(e,"push",null==(n=t.scroll)||n)})},refresh:()=>{(0,u.startTransition)(()=>{U({type:a.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[U,$]);(0,u.useEffect)(()=>{window.next&&(window.next.router=z)},[z]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(w.pendingMpaPath=void 0,U({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[U]);let{pushRef:B}=(0,s.useUnwrapState)(I);if(B.mpaNavigation){if(w.pendingMpaPath!==F){let e=window.location;B.pendingPush?e.assign(F):e.replace(F),w.pendingMpaPath=F}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),n=e=>{var t;let n=window.location.href,r=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{U({type:a.ACTION_RESTORE,url:new URL(null!=e?e:n,n),tree:r})})};window.history.pushState=function(t,r,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=A(t),o&&n(o)),e(t,r,o)},window.history.replaceState=function(e,r,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=A(e),o&&n(o)),t(e,r,o)};let r=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,u.startTransition)(()=>{U({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",r),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",r)}},[U]);let{cache:W,tree:K,nextUrl:V,focusAndScrollRef:Y}=(0,s.useUnwrapState)(I),X=(0,u.useMemo)(()=>(0,v.findHeadInCache)(W,K[1]),[W,K]),q=(0,u.useMemo)(()=>(function e(t,n){for(let r of(void 0===n&&(n={}),Object.values(t[1]))){let t=r[0],o=Array.isArray(t),u=o?t[1]:t;!u||u.startsWith(P.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?n[t[0]]=t[1].split("/"):o&&(n[t[0]]=t[1]),n=e(r,n))}return n})(K),[K]);if(null!==X){let[e,n]=X;t=(0,o.jsx)(N,{headCacheNode:e},n)}else t=null;let J=(0,o.jsxs)(_.RedirectBoundary,{children:[t,W.rsc,(0,o.jsx)(y.AppRouterAnnouncer,{tree:K})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x,{appRouterState:(0,s.useUnwrapState)(I),sync:k}),(0,o.jsx)(c.PathParamsContext.Provider,{value:q,children:(0,o.jsx)(c.PathnameContext.Provider,{value:H,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:L,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:{buildId:n,changeByServerResponse:G,tree:K,focusAndScrollRef:Y,nextUrl:V},children:(0,o.jsx)(l.AppRouterContext.Provider,{value:z,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:{childNodes:W.parallelRoutes,tree:K,url:F,loading:W.loading},children:J})})})})})})]})}function I(e){let{globalErrorComponent:t,...n}=e;return(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(D,{...n})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96149:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return u}});let r=n(18993),o=n(51845);function u(e){let t=o.staticGenerationAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new r.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19107:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let r=n(57437),o=n(54535);function u(e){let{Component:t,props:n}=e;return n.searchParams=(0,o.createDynamicallyTrackedSearchParams)(n.searchParams||{}),(0,r.jsx)(t,{...n})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},61060:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let r=n(47043),o=n(57437),u=r._(n(2265)),l=n(35475),a=n(89721),i=n(51845),c={error:{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"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e,n=i.staticGenerationAsyncStorage.getStore();if((null==n?void 0:n.isRevalidate)||(null==n?void 0:n.isStaticGeneration))throw console.error(t),t;return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,n=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:c.text,children:"Application error: a "+(n?"server":"client")+"-side exception has occurred (see the "+(n?"server logs":"browser console")+" for more information)."}),n?(0,o.jsx)("p",{style:c.text,children:"Digest: "+n}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:n,errorScripts:r,children:u}=e,a=(0,l.usePathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:n,errorScripts:r,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},46177:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DynamicServerError:function(){return r},isDynamicServerError:function(){return o}});let n="DYNAMIC_SERVER_USAGE";class r extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},89721:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let r=n(98200),o=n(88968);function u(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,r.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4707:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return E}});let r=n(47043),o=n(53099),u=n(57437),l=o._(n(2265)),a=r._(n(54887)),i=n(61956),c=n(44848),s=n(38137),f=n(61060),d=n(76015),p=n(7092),h=n(4123),y=n(80),_=n(73171),v=n(78505),b=n(28077),g=["bottom","height","left","right","top","width","x","y"];function m(e,t){let n=e.getBoundingClientRect();return n.top>=0&&n.top<=t}class R extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){var n;if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,n)=>(0,d.matchSegment)(t,e[n]))))return;let r=null,o=e.hashFragment;if(o&&(r="top"===o?document.body:null!=(n=document.getElementById(o))?n:document.getElementsByName(o)[0]),r||(r="undefined"==typeof window?null:a.default.findDOMNode(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return g.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(o){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!m(r,t)&&(e.scrollTop=0,m(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function P(e){let{segmentPath:t,children:n}=e,r=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!r)throw Error("invariant global layout router not mounted");return(0,u.jsx)(R,{segmentPath:t,focusAndScrollRef:r.focusAndScrollRef,children:n})}function j(e){let{parallelRouterKey:t,url:n,childNodes:r,segmentPath:o,tree:a,cacheKey:f}=e,p=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:y,tree:_}=p,v=r.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};v=e,r.set(f,e)}let g=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,m=(0,l.useDeferredValue)(v.rsc,g),R="object"==typeof m&&null!==m&&"function"==typeof m.then?(0,l.use)(m):m;if(!R){let e=v.lazyData;if(null===e){let t=function e(t,n){if(t){let[r,o]=t,u=2===t.length;if((0,d.matchSegment)(n[0],r)&&n[1].hasOwnProperty(o)){if(u){let t=e(void 0,n[1][o]);return[n[0],{...n[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[n[0],{...n[1],[o]:e(t.slice(2),n[1][o])}]}}return n}(["",...o],_),r=(0,b.hasInterceptionRouteInCurrentTree)(_);v.lazyData=e=(0,c.fetchServerResponse)(new URL(n,location.origin),t,r?p.nextUrl:null,h),v.lazyDataResolved=!1}let t=(0,l.use)(e);v.lazyDataResolved||(setTimeout(()=>{(0,l.startTransition)(()=>{y({previousTree:_,serverResponse:t})})}),v.lazyDataResolved=!0),(0,l.use)(s.unresolvedThenable)}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{tree:a[1][t],childNodes:v.parallelRoutes,url:n,loading:v.loading},children:R})}function O(e){let{children:t,hasLoading:n,loading:r,loadingStyles:o,loadingScripts:a}=e;return n?(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[o,a,r]}),children:t}):(0,u.jsx)(u.Fragment,{children:t})}function E(e){let{parallelRouterKey:t,segmentPath:n,error:r,errorStyles:o,errorScripts:a,templateStyles:c,templateScripts:s,template:d,notFound:p,notFoundStyles:b}=e,g=(0,l.useContext)(i.LayoutRouterContext);if(!g)throw Error("invariant expected layout router to be mounted");let{childNodes:m,tree:R,url:E,loading:S}=g,w=m.get(t);w||(w=new Map,m.set(t,w));let M=R[1][t][0],T=(0,_.getSegmentValue)(M),x=[M];return(0,u.jsx)(u.Fragment,{children:x.map(e=>{let l=(0,_.getSegmentValue)(e),g=(0,v.createRouterCacheKey)(e);return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:n,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:o,errorScripts:a,children:(0,u.jsx)(O,{hasLoading:!!S,loading:null==S?void 0:S[0],loadingStyles:null==S?void 0:S[1],loadingScripts:null==S?void 0:S[2],children:(0,u.jsx)(y.NotFoundBoundary,{notFound:p,notFoundStyles:b,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(j,{parallelRouterKey:t,url:E,tree:R,childNodes:w,segmentPath:n,cacheKey:g,isActive:T===l})})})})})}),children:[c,s,d]},(0,v.createRouterCacheKey)(e,!0))})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},76015:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{canSegmentBeOverridden:function(){return u},matchSegment:function(){return o}});let r=n(87417),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],u=(e,t)=>{var n;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(n=(0,r.getSegmentParam)(e))?void 0:n.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35475:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},useParams:function(){return p},usePathname:function(){return f},useRouter:function(){return d},useSearchParams:function(){return s},useSelectedLayoutSegment:function(){return y},useSelectedLayoutSegments:function(){return h},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let r=n(2265),o=n(61956),u=n(79060),l=n(73171),a=n(84541),i=n(52646),c=n(55501);function s(){let e=(0,r.useContext)(u.SearchParamsContext),t=(0,r.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e]);if("undefined"==typeof window){let{bailoutToClientRendering:e}=n(96149);e("useSearchParams()")}return t}function f(){return(0,r.useContext)(u.PathnameContext)}function d(){let e=(0,r.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function p(){return(0,r.useContext)(u.PathParamsContext)}function h(e){void 0===e&&(e="children");let t=(0,r.useContext)(o.LayoutRouterContext);return t?function e(t,n,r,o){let u;if(void 0===r&&(r=!0),void 0===o&&(o=[]),r)u=t[1][n];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,n,!1,o))}(t.tree,e):null}function y(e){void 0===e&&(e="children");let t=h(e);if(!t||0===t.length)return null;let n="children"===e?t[0]:t[t.length-1];return n===a.DEFAULT_SEGMENT_KEY?null:n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},52646:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return r.RedirectType},notFound:function(){return o.notFound},permanentRedirect:function(){return r.permanentRedirect},redirect:function(){return r.redirect}});let r=n(88968),o=n(98200);class u extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new u}delete(){throw new u}set(){throw new u}sort(){throw new u}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},80:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return s}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(35475),a=n(98200);n(31765);let i=n(61956);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function s(e){let{notFound:t,notFoundStyles:n,asNotFound:r,children:a}=e,s=(0,l.usePathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t?(0,o.jsx)(c,{pathname:s,notFound:t,notFoundStyles:n,asNotFound:r,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},98200:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{isNotFoundError:function(){return o},notFound:function(){return r}});let n="NEXT_NOT_FOUND";function r(){let e=Error(n);throw e.digest=n,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},29744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let r=n(2522),o=n(90675);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,n;let o=new Promise((e,r)=>{t=e,n=r}),u=async()=>{try{r._(this,l)[l]++;let n=await e();t(n)}catch(e){n(e)}finally{r._(this,l)[l]--,r._(this,i)[i]()}};return r._(this,a)[a].push({promiseFn:o,task:u}),r._(this,i)[i](),o}bump(e){let t=r._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=r._(this,a)[a].splice(t,1)[0];r._(this,a)[a].unshift(e),r._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),r._(this,u)[u]=e,r._(this,l)[l]=0,r._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(r._(this,l)[l]0){var t;null==(t=r._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4123:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectBoundary:function(){return s},RedirectErrorBoundary:function(){return c}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(35475),a=n(88968);function i(e){let{redirect:t,reset:n,redirectType:r}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{r===a.RedirectType.push?o.push(t,{}):o.replace(t,{}),n()})},[t,r,n,o]),null}class c extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(i,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function s(e){let{children:t}=e,n=(0,l.useRouter)();return(0,o.jsx)(c,{router:n,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5001:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return n}}),(r=n||(n={}))[r.SeeOther=303]="SeeOther",r[r.TemporaryRedirect=307]="TemporaryRedirect",r[r.PermanentRedirect=308]="PermanentRedirect",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},88968:function(e,t,n){"use strict";var r,o;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectType:function(){return r},getRedirectError:function(){return c},getRedirectStatusCodeFromError:function(){return y},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return p},isRedirectError:function(){return d},permanentRedirect:function(){return f},redirect:function(){return s}});let u=n(20544),l=n(90295),a=n(5001),i="NEXT_REDIRECT";function c(e,t,n){void 0===n&&(n=a.RedirectStatusCode.TemporaryRedirect);let r=Error(i);r.digest=i+";"+t+";"+e+";"+n+";";let o=u.requestAsyncStorage.getStore();return o&&(r.mutableCookies=o.mutableCookies),r}function s(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.TemporaryRedirect)}function f(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,n,r,o]=e.digest.split(";",4),u=Number(o);return t===i&&("replace"===n||"push"===n)&&"string"==typeof r&&!isNaN(u)&&u in a.RedirectStatusCode}function p(e){return d(e)?e.digest.split(";",3)[2]:null}function h(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function y(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(o=r||(r={})).push="push",o.replace="replace",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36423:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(53099),o=n(57437),u=r._(n(2265)),l=n(61956);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},20544:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getExpectedRequestStore:function(){return o},requestAsyncStorage:function(){return r.requestAsyncStorage}});let r=n(25575);function o(e){let t=r.requestAsyncStorage.getStore();if(t)return t;throw Error("`"+e+"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},22356:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let r=n(27420),o=n(92576);function u(e,t,n,u){let[l,a,i]=n.slice(-3);if(null===a)return!1;if(3===n.length){let n=a[2],o=a[3];t.loading=o,t.rsc=n,t.prefetchRsc=null,(0,r.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,n,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},81935:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,n,r,a){let i;let[c,s,f,d,p]=n;if(1===t.length){let e=l(n,r,t);return(0,u.addRefreshMarkerToActiveParallelSegments)(e,a),e}let[h,y]=t;if(!(0,o.matchSegment)(h,c))return null;if(2===t.length)i=l(s[y],r,t);else if(null===(i=e(t.slice(2),s[y],r,a)))return null;let _=[t[0],{...s,[y]:i},f,d];return p&&(_[4]=!0),(0,u.addRefreshMarkerToActiveParallelSegments)(_,a),_}}});let r=n(84541),o=n(76015),u=n(50232);function l(e,t,n){let[u,a]=e,[i,c]=t;if(i===r.DEFAULT_SEGMENT_KEY&&u!==r.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(u,i)){let t={};for(let e in a)void 0!==c[e]?t[e]=l(a[e],c[e],n):t[e]=a[e];for(let e in c)t[e]||(t[e]=c[e]);let r=[u,t];return e[2]&&(r[2]=e[2]),e[3]&&(r[3]=e[3]),e[4]&&(r[4]=e[4]),r}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65556:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l),s=t.parallelRoutes.get(l);s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s));let f=null==c?void 0:c.get(i),d=s.get(i);if(u){d&&d.lazyData&&d!==f||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}if(!d||!f){d||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}return d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved,loading:d.loading},s.set(i,d)),e(d,f,o.slice(2))}}});let r=n(78505);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5410:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c}});let r=n(91182),o=n(84541),u=n(76015),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let n=Array.isArray(e[0])?e[0][1]:e[0];if(n===o.DEFAULT_SEGMENT_KEY||r.INTERCEPTION_ROUTE_MARKERS.some(e=>n.startsWith(e)))return;if(n.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(n)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let n=c(t);void 0!==n&&u.push(n)}return i(u)}function s(e,t){let n=function e(t,n){let[o,l]=t,[i,s]=n,f=a(o),d=a(i);if(r.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(n))?p:""}for(let t in l)if(s[t]){let n=e(l[t],s[t]);if(null!==n)return a(i)+"/"+n}return null}(e,t);return null==n||"/"===n?n:i(n.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},33456:function(e,t){"use strict";function n(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82952:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return c}});let r=n(33456),o=n(27420),u=n(5410),l=n(60305),a=n(24673),i=n(50232);function c(e){var t;let{buildId:n,initialTree:c,initialSeedData:s,urlParts:f,initialParallelRoutes:d,location:p,initialHead:h,couldBeIntercepted:y}=e,_=f.join("/"),v=!p,b={lazyData:null,rsc:s[2],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:v?new Map:d,lazyDataResolved:!1,loading:s[3]},g=p?(0,r.createHrefFromUrl)(p):_;(0,i.addRefreshMarkerToActiveParallelSegments)(c,g);let m=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(b,void 0,c,s,h);let R={buildId:n,tree:c,cache:b,prefetchCache:m,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:g,nextUrl:null!=(t=(0,u.extractPathFromFlightRouterState)(c)||(null==p?void 0:p.pathname))?t:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin),t=[["",c,null,null]];(0,l.createPrefetchCacheEntryForInitialLoad)({url:e,kind:a.PrefetchKind.AUTO,data:[t,void 0,!1,y],tree:R.tree,prefetchCache:R.prefetchCache,nextUrl:R.nextUrl})}return R}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},78505:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let r=n(84541);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(r.PAGE_SEGMENT_KEY)?r.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44848:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return f}});let r=n(6866),o=n(12846),u=n(83079),l=n(24673),a=n(37207),i=n(91311),{createFromFetch:c}=n(6671);function s(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0,!1,!1]}async function f(e,t,n,f,d){let p={[r.RSC_HEADER]:"1",[r.NEXT_ROUTER_STATE_TREE]:(0,i.prepareFlightRouterStateForRequest)(t)};d===l.PrefetchKind.AUTO&&(p[r.NEXT_ROUTER_PREFETCH_HEADER]="1"),n&&(p[r.NEXT_URL]=n);let h=(0,a.hexHash)([p[r.NEXT_ROUTER_PREFETCH_HEADER]||"0",p[r.NEXT_ROUTER_STATE_TREE],p[r.NEXT_URL]].join(","));try{var y;let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(r.NEXT_RSC_UNION_QUERY,h);let n=await fetch(t,{credentials:"same-origin",headers:p}),l=(0,o.urlToUrlWithoutFlightMarker)(n.url),a=n.redirected?l:void 0,i=n.headers.get("content-type")||"",d=!!n.headers.get(r.NEXT_DID_POSTPONE_HEADER),_=!!(null==(y=n.headers.get("vary"))?void 0:y.includes(r.NEXT_URL)),v=i===r.RSC_CONTENT_TYPE_HEADER;if(v||(v=i.startsWith("text/plain")),!v||!n.ok)return e.hash&&(l.hash=e.hash),s(l.toString());let[b,g]=await c(Promise.resolve(n),{callServer:u.callServer});if(f!==b)return s(n.url);return[g,a,d,_]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0,!1,!1]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},92576:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,n,l,a){let i=l.length<=5,[c,s]=l,f=(0,u.createRouterCacheKey)(s),d=n.parallelRoutes.get(c);if(!d)return;let p=t.parallelRoutes.get(c);p&&p!==d||(p=new Map(d),t.parallelRoutes.set(c,p));let h=d.get(f),y=p.get(f);if(i){if(!y||!y.lazyData||y===h){let e=l[3];y={lazyData:null,rsc:e[2],prefetchRsc:null,head:null,prefetchHead:null,loading:e[3],parallelRoutes:h?new Map(h.parallelRoutes):new Map,lazyDataResolved:!1},h&&(0,r.invalidateCacheByRouterState)(y,h,l[2]),(0,o.fillLazyItemsTillLeafWithHead)(y,h,l[2],e,l[4],a),p.set(f,y)}return}y&&h&&(y===h&&(y={lazyData:y.lazyData,rsc:y.rsc,prefetchRsc:y.prefetchRsc,head:y.head,prefetchHead:y.prefetchHead,parallelRoutes:new Map(y.parallelRoutes),lazyDataResolved:!1,loading:y.loading},p.set(f,y)),e(y,h,l.slice(2),a))}}});let r=n(94377),o=n(27420),u=n(78505);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},27420:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,n,u,l,a,i){if(0===Object.keys(u[1]).length){t.head=a;return}for(let c in u[1]){let s;let f=u[1][c],d=f[0],p=(0,r.createRouterCacheKey)(d),h=null!==l&&void 0!==l[1][c]?l[1][c]:null;if(n){let r=n.parallelRoutes.get(c);if(r){let n;let u=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,l=new Map(r),s=l.get(p);n=null!==h?{lazyData:null,rsc:h[2],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1}:u&&s?{lazyData:s.lazyData,rsc:s.rsc,prefetchRsc:s.prefetchRsc,head:s.head,prefetchHead:s.prefetchHead,parallelRoutes:new Map(s.parallelRoutes),lazyDataResolved:s.lazyDataResolved,loading:s.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1,loading:null},l.set(p,n),e(n,s,f,h||null,a,i),t.parallelRoutes.set(c,l);continue}}if(null!==h){let e=h[2],t=h[3];s={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:t}}else s={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};let y=t.parallelRoutes.get(c);y?y.set(p,s):t.parallelRoutes.set(c,new Map([[p,s]])),e(s,void 0,f,h,a,i)}}}});let r=n(78505),o=n(24673);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44510:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let r=n(5410);function o(e){return void 0!==e}function u(e,t){var n,u,l;let a=null==(u=t.shouldScroll)||u,i=e.nextUrl;if(o(t.patchedTree)){let n=(0,r.computeChangedPath)(e.tree,t.patchedTree);n?i=n:i||(i=e.canonicalUrl)}return{buildId:e.buildId,canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!a&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:!!t.hashFragment&&e.canonicalUrl.split("#",1)[0]===(null==(n=t.canonicalUrl)?void 0:n.split("#",1)[0]),hashFragment:a?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:a?null!=(l=null==t?void 0:t.scrollableSegments)?l:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77831:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let r=n(95967);function o(e,t,n){return(0,r.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77058:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l);if(!c)return;let s=t.parallelRoutes.get(l);if(s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s)),u){s.delete(i);return}let f=c.get(i),d=s.get(i);d&&f&&(d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved},s.set(i,d)),e(d,f,o.slice(2)))}}});let r=n(78505);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},94377:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let r=n(78505);function o(e,t,n){for(let o in n[1]){let u=n[1][o][0],l=(0,r.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63237:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,n){let r=t[0],o=n[0];if(Array.isArray(r)&&Array.isArray(o)){if(r[0]!==o[0]||r[2]!==o[2])return!0}else if(r!==o)return!0;if(t[4])return!n[4];if(n[4])return!0;let u=Object.values(t[1])[0],l=Object.values(n[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},56118:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{abortTask:function(){return c},listenForDynamicRequest:function(){return a},updateCacheNodeOnNavigation:function(){return function e(t,n,a,c,s){let f=n[1],d=a[1],p=c[1],h=t.parallelRoutes,y=new Map(h),_={},v=null;for(let t in d){let n;let a=d[t],c=f[t],b=h.get(t),g=p[t],m=a[0],R=(0,u.createRouterCacheKey)(m),P=void 0!==c?c[0]:void 0,j=void 0!==b?b.get(R):void 0;if(null!==(n=m===r.PAGE_SEGMENT_KEY?l(a,void 0!==g?g:null,s):m===r.DEFAULT_SEGMENT_KEY?void 0!==c?{route:c,node:null,children:null}:l(a,void 0!==g?g:null,s):void 0!==P&&(0,o.matchSegment)(m,P)&&void 0!==j&&void 0!==c?null!=g?e(j,c,a,g,s):function(e){let t=i(e,null,null);return{route:e,node:t,children:null}}(a):l(a,void 0!==g?g:null,s))){null===v&&(v=new Map),v.set(t,n);let e=n.node;if(null!==e){let n=new Map(b);n.set(R,e),y.set(t,n)}_[t]=n.route}else _[t]=a}if(null===v)return null;let b={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:y,lazyDataResolved:!1};return{route:function(e,t){let n=[e[0],t];return 2 in e&&(n[2]=e[2]),3 in e&&(n[3]=e[3]),4 in e&&(n[4]=e[4]),n}(a,_),node:b,children:v}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,n){let r=n[1],o=t.parallelRoutes,l=new Map(o);for(let t in r){let n=r[t],a=n[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let r=c.get(i);if(void 0!==r){let o=e(r,n),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=d(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:null,prefetchRsc:i?t.prefetchRsc:null,loading:i?t.loading:null,parallelRoutes:l,lazyDataResolved:!1}}}});let r=n(84541),o=n(76015),u=n(78505);function l(e,t,n){let r=i(e,t,n);return{route:e,node:r,children:null}}function a(e,t){t.then(t=>{for(let n of t[0]){let t=n.slice(0,-3),r=n[n.length-3],l=n[n.length-2],a=n[n.length-1];"string"!=typeof t&&function(e,t,n,r,l){let a=e;for(let e=0;e{c(e,t)})}function i(e,t,n){let r=e[1],o=null!==t?t[1]:null,l=new Map;for(let e in r){let t=r[e],a=null!==o?o[e]:null,c=t[0],s=(0,u.createRouterCacheKey)(c),f=i(t,void 0===a?null:a,n),d=new Map;d.set(s,f),l.set(e,d)}let a=0===l.size,c=null!==t?t[2]:null,s=null!==t?t[3]:null;return{lazyData:null,parallelRoutes:l,prefetchRsc:void 0!==c?c:null,prefetchHead:a?n:null,loading:void 0!==s?s:null,rsc:p(),head:a?p():null,lazyDataResolved:!1}}function c(e,t){let n=e.node;if(null===n)return;let r=e.children;if(null===r)s(e.route,n,t);else for(let e of r.values())c(e,t);e.node=null}function s(e,t,n){let r=e[1],o=t.parallelRoutes;for(let e in r){let t=r[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&s(t,c,n)}let l=t.rsc;d(l)&&(null===n?l.resolve(null):l.reject(n));let a=t.head;d(a)&&a.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let n=new Promise((n,r)=>{e=n,t=r});return n.status="pending",n.resolve=t=>{"pending"===n.status&&(n.status="fulfilled",n.value=t,e(t))},n.reject=e=>{"pending"===n.status&&(n.status="rejected",n.reason=e,t(e))},n.tag=f,n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},60305:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createPrefetchCacheEntryForInitialLoad:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let r=n(33456),o=n(44848),u=n(24673),l=n(24819);function a(e,t){let n=(0,r.createHrefFromUrl)(e,!1);return t?t+"%"+n:n}function i(e){let t,{url:n,nextUrl:r,tree:o,buildId:l,prefetchCache:i,kind:c}=e,f=a(n,r),d=i.get(f);if(d)t=d;else{let e=a(n),r=i.get(e);r&&(t=r)}return t?(t.status=h(t),t.kind!==u.PrefetchKind.FULL&&c===u.PrefetchKind.FULL)?s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:null!=c?c:u.PrefetchKind.TEMPORARY}):(c&&t.kind===u.PrefetchKind.TEMPORARY&&(t.kind=c),t):s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:c||u.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:n,prefetchCache:r,url:o,kind:l,data:i}=e,[,,,c]=i,s=c?a(o,t):a(o),f={treeAtTimeOfPrefetch:n,data:Promise.resolve(i),kind:l,prefetchTime:Date.now(),lastUsedTime:Date.now(),key:s,status:u.PrefetchCacheEntryStatus.fresh};return r.set(s,f),f}function s(e){let{url:t,kind:n,tree:r,nextUrl:i,buildId:c,prefetchCache:s}=e,f=a(t),d=l.prefetchQueue.enqueue(()=>(0,o.fetchServerResponse)(t,r,i,c,n).then(e=>{let[,,,n]=e;return n&&function(e){let{url:t,nextUrl:n,prefetchCache:r}=e,o=a(t),u=r.get(o);if(!u)return;let l=a(t,n);r.set(l,u),r.delete(o)}({url:t,nextUrl:i,prefetchCache:s}),e})),p={treeAtTimeOfPrefetch:r,data:d,kind:n,prefetchTime:Date.now(),lastUsedTime:null,key:f,status:u.PrefetchCacheEntryStatus.fresh};return s.set(f,p),p}function f(e){for(let[t,n]of e)h(n)===u.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("30"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:n,lastUsedTime:r}=e;return Date.now()<(null!=r?r:n)+d?r?u.PrefetchCacheEntryStatus.reusable:u.PrefetchCacheEntryStatus.fresh:"auto"===t&&Date.now(){let[n,f]=t,h=!1;if(E.lastUsedTime||(E.lastUsedTime=Date.now(),h=!0),"string"==typeof n)return _(e,R,n,O);if(document.getElementById("__next-page-redirect"))return _(e,R,j,O);let b=e.tree,g=e.cache,w=[];for(let t of n){let n=t.slice(0,-4),r=t.slice(-3)[0],c=["",...n],f=(0,u.applyRouterStatePatchToTree)(c,b,r,j);if(null===f&&(f=(0,u.applyRouterStatePatchToTree)(c,S,r,j)),null!==f){if((0,a.isNavigatingToNewRootLayout)(b,f))return _(e,R,j,O);let u=(0,d.createEmptyCacheNode)(),m=!1;for(let e of(E.status!==i.PrefetchCacheEntryStatus.stale||h?m=(0,s.applyFlightData)(g,u,t,E):(m=function(e,t,n,r){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),v(r).map(e=>[...n,...e])))(0,y.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(u,g,n,r),E.lastUsedTime=Date.now()),(0,l.shouldHardNavigate)(c,b)?(u.rsc=g.rsc,u.prefetchRsc=g.prefetchRsc,(0,o.invalidateCacheBelowFlightSegmentPath)(u,g,n),R.cache=u):m&&(R.cache=u,g=u),b=f,v(r))){let t=[...n,...e];t[t.length-1]!==p.DEFAULT_SEGMENT_KEY&&w.push(t)}}}return R.patchedTree=b,R.canonicalUrl=f?(0,r.createHrefFromUrl)(f):j,R.pendingPush=O,R.scrollableSegments=w,R.hashFragment=P,R.shouldScroll=m,(0,c.handleMutable)(e,R)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24819:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{prefetchQueue:function(){return l},prefetchReducer:function(){return a}});let r=n(6866),o=n(29744),u=n(60305),l=new o.PromiseQueue(5);function a(e,t){(0,u.prunePrefetchCache)(e.prefetchCache);let{url:n}=t;return n.searchParams.delete(r.NEXT_RSC_UNION_QUERY),(0,u.getOrCreatePrefetchCacheEntry)({url:n,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,buildId:e.buildId}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99601:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let r=n(44848),o=n(33456),u=n(81935),l=n(63237),a=n(95967),i=n(44510),c=n(27420),s=n(12846),f=n(77831),d=n(28077),p=n(50232);function h(e,t){let{origin:n}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let v=(0,s.createEmptyCacheNode)(),b=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return v.lazyData=(0,r.fetchServerResponse)(new URL(y,n),[_[0],_[1],_[2],"refetch"],b?e.nextUrl:null,e.buildId),v.lazyData.then(async n=>{let[r,s]=n;if("string"==typeof r)return(0,a.handleExternalUrl)(e,h,r,e.pushRef.pendingPush);for(let n of(v.lazyData=null,r)){if(3!==n.length)return console.log("REFRESH FAILED"),e;let[r]=n,i=(0,u.applyRouterStatePatchToTree)([""],_,r,e.canonicalUrl);if(null===i)return(0,f.handleSegmentMismatch)(e,t,r);if((0,l.isNavigatingToNewRootLayout)(_,i))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let d=s?(0,o.createHrefFromUrl)(s):void 0;s&&(h.canonicalUrl=d);let[g,m]=n.slice(-2);if(null!==g){let e=g[2];v.rsc=e,v.prefetchRsc=null,(0,c.fillLazyItemsTillLeafWithHead)(v,void 0,r,g,m),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:i,updatedCache:v,includeNextUrl:b,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=v,h.patchedTree=i,h.canonicalUrl=y,_=i}return(0,i.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77784:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let r=n(33456),o=n(5410);function u(e,t){var n;let{url:u,tree:l}=t,a=(0,r.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{buildId:e.buildId,canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(n=(0,o.extractPathFromFlightRouterState)(i))?n:u.pathname}}n(56118),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13722:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return m}});let r=n(83079),o=n(6866),u=n(1634),l=n(33456),a=n(95967),i=n(81935),c=n(63237),s=n(44510),f=n(27420),d=n(12846),p=n(28077),h=n(77831),y=n(50232),_=n(91311),{createFromFetch:v,encodeReply:b}=n(6671);async function g(e,t,n){let l,{actionId:a,actionArgs:i}=n,c=await b(i),s=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:a,[o.NEXT_ROUTER_STATE_TREE]:(0,_.prepareFlightRouterStateForRequest)(e.tree),...t?{[o.NEXT_URL]:t}:{}},body:c}),f=s.headers.get("x-action-redirect");try{let e=JSON.parse(s.headers.get("x-action-revalidated")||"[[],0,0]");l={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){l={paths:[],tag:!1,cookie:!1}}let d=f?new URL((0,u.addBasePath)(f),new URL(e.canonicalUrl,window.location.href)):void 0;if(s.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await v(Promise.resolve(s),{callServer:r.callServer});if(f){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:d,revalidatedParts:l}}let[t,[,n]]=null!=e?e:[];return{actionResult:t,actionFlightData:n,redirectLocation:d,revalidatedParts:l}}return{redirectLocation:d,revalidatedParts:l}}function m(e,t){let{resolve:n,reject:r}=t,o={},u=e.canonicalUrl,_=e.tree;o.preserveCustomHistoryState=!1;let v=e.nextUrl&&(0,p.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return o.inFlightServerAction=g(e,v,t),o.inFlightServerAction.then(async r=>{let{actionResult:p,actionFlightData:b,redirectLocation:g}=r;if(g&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!b)return(n(p),g)?(0,a.handleExternalUrl)(e,o,g.href,e.pushRef.pendingPush):e;if("string"==typeof b)return(0,a.handleExternalUrl)(e,o,b,e.pushRef.pendingPush);if(o.inFlightServerAction=null,g){let e=(0,l.createHrefFromUrl)(g,!1);o.canonicalUrl=e}for(let n of b){if(3!==n.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[r]=n,s=(0,i.applyRouterStatePatchToTree)([""],_,r,g?(0,l.createHrefFromUrl)(g):e.canonicalUrl);if(null===s)return(0,h.handleSegmentMismatch)(e,t,r);if((0,c.isNavigatingToNewRootLayout)(_,s))return(0,a.handleExternalUrl)(e,o,u,e.pushRef.pendingPush);let[p,b]=n.slice(-2),m=null!==p?p[2]:null;if(null!==m){let t=(0,d.createEmptyCacheNode)();t.rsc=m,t.prefetchRsc=null,(0,f.fillLazyItemsTillLeafWithHead)(t,void 0,r,p,b),await (0,y.refreshInactiveParallelSegments)({state:e,updatedTree:s,updatedCache:t,includeNextUrl:!!v,canonicalUrl:o.canonicalUrl||e.canonicalUrl}),o.cache=t,o.prefetchCache=new Map}o.patchedTree=s,_=s}return n(p),(0,s.handleMutable)(e,o)},t=>(r(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},68448:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return f}});let r=n(33456),o=n(81935),u=n(63237),l=n(95967),a=n(22356),i=n(44510),c=n(12846),s=n(77831);function f(e,t){let{serverResponse:n}=t,[f,d]=n,p={};if(p.preserveCustomHistoryState=!1,"string"==typeof f)return(0,l.handleExternalUrl)(e,p,f,e.pushRef.pendingPush);let h=e.tree,y=e.cache;for(let n of f){let i=n.slice(0,-4),[f]=n.slice(-3,-2),_=(0,o.applyRouterStatePatchToTree)(["",...i],h,f,e.canonicalUrl);if(null===_)return(0,s.handleSegmentMismatch)(e,t,f);if((0,u.isNavigatingToNewRootLayout)(h,_))return(0,l.handleExternalUrl)(e,p,e.canonicalUrl,e.pushRef.pendingPush);let v=d?(0,r.createHrefFromUrl)(d):void 0;v&&(p.canonicalUrl=v);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(y,b,n),p.patchedTree=_,p.cache=b,y=b,h=_}return(0,i.handleMutable)(e,p)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},50232:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,n){let[r,o,,l]=t;for(let a in r.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=n,t[3]="refresh"),o)e(o[a],n)}},refreshInactiveParallelSegments:function(){return l}});let r=n(22356),o=n(44848),u=n(84541);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{state:t,updatedTree:n,updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c=n,canonicalUrl:s}=e,[,f,d,p]=n,h=[];if(d&&d!==s&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),[c[0],c[1],c[2],"refetch"],l?t.nextUrl:null,t.buildId).then(e=>{let t=e[0];if("string"!=typeof t)for(let e of t)(0,r.applyFlightData)(u,u,e)});h.push(e)}for(let e in f){let n=a({state:t,updatedTree:f[e],updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c,canonicalUrl:s});h.push(n)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24673:function(e,t){"use strict";var n,r,o,u;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return a},ACTION_PREFETCH:function(){return s},ACTION_REFRESH:function(){return l},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return c},PrefetchCacheEntryStatus:function(){return r},PrefetchKind:function(){return n},isThenable:function(){return p}});let l="refresh",a="navigate",i="restore",c="server-patch",s="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(o=n||(n={})).AUTO="auto",o.FULL="full",o.TEMPORARY="temporary",(u=r||(r={})).fresh="fresh",u.reusable="reusable",u.expired="expired",u.stale="stale",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91450:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let r=n(24673),o=n(95967),u=n(68448),l=n(77784),a=n(99601),i=n(24819),c=n(44529),s=n(13722),f="undefined"==typeof window?function(e,t){return e}:function(e,t){switch(t.type){case r.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case r.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case r.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case r.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case r.ACTION_FAST_REFRESH:return(0,c.fastRefreshReducer)(e,t);case r.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case r.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},53728:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,n){let[o,u]=n,[l,a]=t;return(0,r.matchSegment)(l,o)?!(t.length<=2)&&e(t.slice(2),u[a]):!!Array.isArray(l)}}});let r=n(76015);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54535:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createDynamicallyTrackedSearchParams:function(){return a},createUntrackedSearchParams:function(){return l}});let r=n(51845),o=n(86999),u=n(30650);function l(e){let t=r.staticGenerationAsyncStorage.getStore();return t&&t.forceStatic?{}:e}function a(e){let t=r.staticGenerationAsyncStorage.getStore();return t?t.forceStatic?{}:t.isStaticGeneration||t.dynamicShouldError?new Proxy({},{get:(e,n,r)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),u.ReflectAdapter.get(e,n,r)),has:(e,n)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),Reflect.has(e,n)),ownKeys:e=>((0,o.trackDynamicDataAccessed)(t,"searchParams"),Reflect.ownKeys(e))}):e:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},51845:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r.staticGenerationAsyncStorage}});let r=n(20030);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36864:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{StaticGenBailoutError:function(){return r},isStaticGenBailoutError:function(){return o}});let n="NEXT_STATIC_GEN_BAILOUT";class r extends Error{constructor(...e){super(...e),this.code=n}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},38137:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{useReducerWithReduxDevtools:function(){return i},useUnwrapState:function(){return a}});let r=n(53099)._(n(2265)),o=n(24673),u=n(2103);function l(e){if(e instanceof Map){let t={};for(let[n,r]of e.entries()){if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r._bundlerConfig){t[n]="FlightData";continue}}t[n]=l(r)}return t}if("object"==typeof e&&null!==e){let t={};for(let n in e){let r=e[n];if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r.hasOwnProperty("_bundlerConfig")){t[n]="FlightData";continue}}t[n]=l(r)}return t}return Array.isArray(e)?e.map(l):e}function a(e){return(0,o.isThenable)(e)?(0,r.use)(e):e}let i="undefined"!=typeof window?function(e){let[t,n]=r.default.useState(e),o=(0,r.useContext)(u.ActionQueueContext);if(!o)throw Error("Invariant: Missing ActionQueueContext");let a=(0,r.useRef)(),i=(0,r.useRef)();return(0,r.useEffect)(()=>{if(!a.current&&!1!==i.current){if(void 0===i.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){i.current=!1;return}return a.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),a.current&&(a.current.init(l(e)),o&&(o.devToolsInstance=a.current)),()=>{a.current=void 0}}},[e,o]),[t,(0,r.useCallback)(t=>{o.state||(o.state=e),o.dispatch(t,n)},[o,e]),(0,r.useCallback)(e=>{a.current&&a.current.send({type:"RENDER_SYNC"},l(e))},[])]}:function(e){return[e,()=>{},()=>{}]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91311:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prepareFlightRouterStateForRequest",{enumerable:!0,get:function(){return o}});let r=n(84541);function o(e,t){return t?encodeURIComponent(JSON.stringify(e)):encodeURIComponent(JSON.stringify(function e(t){let[n,o,,u,l]=t,a="string"==typeof n&&n.startsWith(r.PAGE_SEGMENT_KEY+"?")?r.PAGE_SEGMENT_KEY:n,i={};for(let[t,n]of Object.entries(o))i[t]=e(n);let c=[a,i,null,u&&"refresh"!==u?u:null];return void 0!==l&&(c[4]=l),c}(e)))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},11283:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let r=n(10580);function o(e){return(0,r.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},33068:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let r=n(26674),o=n(63381),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:n,hash:u}=(0,o.parsePath)(e);return""+(0,r.removeTrailingSlash)(t)+n+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},61404:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=n(18993);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,r.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35076:function(e,t,n){"use strict";function r(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return r}}),n(11283),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},12010:function(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0>>1,o=e[r];if(0>>1;ru(i,n))cu(s,i)?(e[r]=s,e[c]=n,r=c):(e[r]=i,e[a]=n,r=a);else if(cu(s,n))e[r]=s,e[c]=n,r=c;else break}}return t}function u(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function R(e){for(var t=r(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,n(s,t);else break;t=r(f)}}function P(e){if(v=!1,R(e),!_){if(null!==r(s))_=!0,C();else{var t=r(f);null!==t&&A(P,t.startTime-e)}}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j=!1,O=-1,E=5,S=-1;function w(){return!(t.unstable_now()-Se&&w());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,R(e),n=!0;break t}p===r(s)&&o(s),R(e)}else o(s);p=r(s)}if(null!==p)n=!0;else{var c=r(f);null!==c&&A(P,c.startTime-e),n=!1}}break e}finally{p=null,h=u,y=!1}n=void 0}}finally{n?l():j=!1}}}if("function"==typeof m)l=function(){m(M)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,x=T.port2;T.port1.onmessage=M,l=function(){x.postMessage(null)}}else l=function(){b(M,0)};function C(){j||(j=!0,l())}function A(e,n){O=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||y||(_=!0,C())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=u,n(f,e),null===r(s)&&e===r(f)&&(v?(g(O),O=-1):v=!0,A(P,u-l))):(e.sortIndex=a,n(s,e),_||y||(_=!0,C())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},71767:function(e,t,n){"use strict";e.exports=n(12010)},60934:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getPathname:function(){return r},isFullStringUrl:function(){return o},parseUrl:function(){return u}});let n="http://n";function r(e){return new URL(e,n).pathname}function o(e){return/https?:\/\//.test(e)}function u(e){let t;try{t=new URL(e,n)}catch{}return t}},86999:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Postpone:function(){return d},createPostponedAbortSignal:function(){return b},createPrerenderState:function(){return c},formatDynamicAPIAccesses:function(){return _},markCurrentScopeAsDynamic:function(){return s},trackDynamicDataAccessed:function(){return f},trackDynamicFetch:function(){return p},usedDynamicAPIs:function(){return y}});let o=(r=n(2265))&&r.__esModule?r:{default:r},u=n(46177),l=n(36864),a=n(60934),i="function"==typeof o.default.unstable_postpone;function c(e){return{isDebugSkeleton:e,dynamicAccesses:[]}}function s(e,t){let n=(0,a.getPathname)(e.urlPathname);if(!e.isUnstableCacheCallback){if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}}function f(e,t){let n=(0,a.getPathname)(e.urlPathname);if(e.isUnstableCacheCallback)throw Error(`Route ${n} used "${t}" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "${t}" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}function d({reason:e,prerenderState:t,pathname:n}){h(t,e,n)}function p(e,t){e.prerenderState&&h(e.prerenderState,t,e.urlPathname)}function h(e,t,n){v();let r=`Route ${n} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;e.dynamicAccesses.push({stack:e.isDebugSkeleton?Error().stack:void 0,expression:t}),o.default.unstable_postpone(r)}function y(e){return e.dynamicAccesses.length>0}function _(e){return e.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: +${t}`))}function v(){if(!i)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function b(e){v();let t=new AbortController;try{o.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}},87417:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let r=n(91182);function o(e){let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},70647:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HMR_ACTIONS_SENT_TO_BROWSER",{enumerable:!0,get:function(){return n}}),(r=n||(n={})).ADDED_PAGE="addedPage",r.REMOVED_PAGE="removedPage",r.RELOAD_PAGE="reloadPage",r.SERVER_COMPONENT_CHANGES="serverComponentChanges",r.MIDDLEWARE_CHANGES="middlewareChanges",r.CLIENT_CHANGES="clientChanges",r.SERVER_ONLY_CHANGES="serverOnlyChanges",r.SYNC="sync",r.BUILT="built",r.BUILDING="building",r.DEV_PAGES_MANIFEST_UPDATE="devPagesManifestUpdate",r.TURBOPACK_MESSAGE="turbopack-message",r.SERVER_ERROR="serverError",r.TURBOPACK_CONNECTED="turbopack-connected"},91182:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let r=n(20926),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,n,u;for(let r of e.split("/"))if(n=o.find(e=>r.startsWith(e))){[t,u]=e.split(n,2);break}if(!t||!n||!u)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,r.normalizeAppPath)(t),n){case"(.)":u="/"===t?`/${u}`:t+"/"+u;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);u=l.slice(0,-2).concat(u).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:u}}},30650:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,n){let r=Reflect.get(e,t,n);return"function"==typeof r?r.bind(e):r}static set(e,t,n,r){return Reflect.set(e,t,n,r)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},61956:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let r=n(47043)._(n(2265)),o=r.default.createContext(null),u=r.default.createContext(null),l=r.default.createContext(null),a=r.default.createContext(null),i=r.default.createContext(new Set)},37207:function(e,t){"use strict";function n(e){let t=5381;for(let n=0;n>>0}function r(e){return n(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{djb2Hash:function(){return n},hexHash:function(){return r}})},48701:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext({})},79060:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let r=n(2265),o=(0,r.createContext)(null),u=(0,r.createContext)(null),l=(0,r.createContext)(null)},18993:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{BailoutToCSRError:function(){return r},isBailoutToCSRError:function(){return o}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class r extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},78162:function(e,t){"use strict";function n(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},2103:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ActionQueueContext:function(){return a},createMutableActionQueue:function(){return s}});let r=n(53099),o=n(24673),u=n(91450),l=r._(n(2265)),a=l.default.createContext(null);function i(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?c({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},t)))}async function c(e){let{actionQueue:t,action:n,setState:r}=e,u=t.state;if(!u)throw Error("Invariant: Router state not initialized");t.pending=n;let l=n.payload,a=t.action(u,l);function c(e){n.discarded||(t.state=e,t.devToolsInstance&&t.devToolsInstance.send(l,e),i(t,r),n.resolve(e))}(0,o.isThenable)(a)?a.then(c,e=>{i(t,r),n.reject(e)}):c(a)}function s(){let e={state:null,dispatch:(t,n)=>(function(e,t,n){let r={resolve:n,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{r={resolve:e,reject:t}});(0,l.startTransition)(()=>{n(e)})}let u={payload:t,next:null,resolve:r.resolve,reject:r.reject};null===e.pending?(e.last=u,c({actionQueue:e,action:u,setState:n})):t.type===o.ACTION_NAVIGATE||t.type===o.ACTION_RESTORE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),c({actionQueue:e,action:u,setState:n})):(null!==e.last&&(e.last.next=u),e.last=u)})(e,t,n),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,u.reducer)(e,t)},pending:null,last:null};return e}},68498:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let r=n(63381);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:n,query:o,hash:u}=(0,r.parsePath)(e);return""+t+n+o+u}},20926:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let r=n(78162),o=n(84541);function u(e){return(0,r.ensureLeadingSlash)(e.split("/").reduce((e,t,n,r)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&n===r.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},7092:function(e,t){"use strict";function n(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let n=document.documentElement,r=n.style.scrollBehavior;n.style.scrollBehavior="auto",t.dontForceLayout||n.getClientRects(),e(),n.style.scrollBehavior=r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return n}})},86146:function(e,t){"use strict";function n(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}})},63381:function(e,t){"use strict";function n(e){let t=e.indexOf("#"),n=e.indexOf("?"),r=n>-1&&(t<0||n-1?{pathname:e.substring(0,r?n:t),query:r?e.substring(n,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return n}})},10580:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let r=n(63381);function o(e,t){if("string"!=typeof e)return!1;let{pathname:n}=(0,r.parsePath)(e);return n===t||n.startsWith(t+"/")}},26674:function(e,t){"use strict";function n(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},84541:function(e,t){"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return r},isGroupSegment:function(){return n}});let r="__PAGE__",o="__DEFAULT__"},55501:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let r=n(53099)._(n(2265)),o=r.default.createContext(null);function u(e){let t=(0,r.useContext)(o);t&&t(e)}},31765:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},47149:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(54832).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54832:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createAsyncLocalStorage",{enumerable:!0,get:function(){return u}});let n=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class r{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}}let o=globalThis.AsyncLocalStorage;function u(){return o?new o:new r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},25575:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"requestAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(54832).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},20030:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(54832).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},34040:function(e,t,n){"use strict";var r=n(54887);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},54887:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(84417)},97950:function(e,t,n){"use strict";var r=n(54887),o={stream:!0},u=Object.prototype.hasOwnProperty,l=new Map;function a(e){var t=n(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function i(){}var c=new Map,s=n.u;n.u=function(e){var t=c.get(e);return void 0!==t?t:s(e)};var f=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,d=Symbol.for("react.element"),p=Symbol.for("react.lazy"),h=Symbol.iterator,y=Array.isArray,_=Object.getPrototypeOf,v=Object.prototype,b=new WeakMap;function g(e,t,n,r){this.status=e,this.value=t,this.reason=n,this._response=r}function m(e){switch(e.status){case"resolved_model":w(e);break;case"resolved_module":M(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"cyclic":throw e;default:throw e.reason}}function R(e,t){for(var n=0;nh?(_=h,h=3,p++):(_=0,h=3);continue;case 2:44===(m=d[p++])?h=4:v=v<<4|(96d.length&&(m=-1)}var R=d.byteOffset+p;if(-1130&&p=0&&en},[en,eT]),eN=r.useMemo(function(){return Object.keys(ef||{}).map(function(e){var t=ef[e],n={value:Number(e)};return t&&"object"===(0,c.Z)(t)&&!r.isValidElement(t)&&("label"in t||"style"in t)?(n.style=t.style,n.label=t.label):n.label=t,n}).filter(function(e){var t=e.label;return t||"number"==typeof t}).sort(function(e,t){return e.value-t.value})},[ef]),eF=(n=void 0===ee||ee,a=r.useCallback(function(e){return Math.max(ez,Math.min(eL,e))},[ez,eL]),g=r.useCallback(function(e){if(null!==eT){var t=ez+Math.round((a(e)-ez)/eT)*eT,n=function(e){return(String(e).split(".")[1]||"").length},r=Math.max(n(eT),n(eL),n(ez)),s=Number(t.toFixed(r));return ez<=s&&s<=eL?s:null}return null},[eT,ez,eL,a]),m=r.useCallback(function(e){var t=a(e),n=eN.map(function(e){return e.value});null!==eT&&n.push(g(e)),n.push(ez,eL);var r=n[0],s=eL-ez;return n.forEach(function(e){var n=Math.abs(t-e);n<=s&&(r=e,s=n)}),r},[ez,eL,eN,eT,a,g]),v=function e(t,n,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unit";if("number"==typeof n){var s,i=t[r],o=i+n,c=[];eN.forEach(function(e){c.push(e.value)}),c.push(ez,eL),c.push(g(i));var u=n>0?1:-1;"unit"===a?c.push(g(i+u*eT)):c.push(g(o)),c=c.filter(function(e){return null!==e}).filter(function(e){return n<0?e<=i:e>=i}),"unit"===a&&(c=c.filter(function(e){return e!==i}));var d="unit"===a?i:o,h=Math.abs((s=c[0])-d);if(c.forEach(function(e){var t=Math.abs(e-d);t1){var f=(0,l.Z)(t);return f[r]=s,e(f,n-u,r,a)}return s}return"min"===n?ez:"max"===n?eL:void 0},b=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unit",a=e[n],s=v(e,t,n,r);return{value:s,changed:s!==a}},y=function(e){return null===eZ&&0===e||"number"==typeof eZ&&e3&&void 0!==arguments[3]?arguments[3]:"unit",s=e.map(m),i=s[r],o=v(s,t,r,a);if(s[r]=o,!1===n){var l=eZ||0;r>0&&s[r-1]!==i&&(s[r]=Math.max(s[r],s[r-1]+l)),r0;h-=1)for(var f=!0;y(s[h]-s[h-1])&&f;){var p=b(s,-1,h-1);s[h-1]=p.value,f=p.changed}for(var g=s.length-1;g>0;g-=1)for(var w=!0;y(s[g]-s[g-1])&&w;){var _=b(s,-1,g-1);s[g-1]=_.value,w=_.changed}for(var S=0;S=0?J+1:2;for(r=r.slice(0,s);r.length=0&&ex.current.focus(e)}e9(null)},[e5]);var e7=r.useMemo(function(){return(!eP||null!==eT)&&eP},[eP,eT]),te=(0,d.Z)(function(e,t){e3(e,t),null==K||K(eX(eV))}),tt=-1!==eQ;r.useEffect(function(){if(!tt){var e=eV.lastIndexOf(e0);ex.current.focus(e)}},[tt]);var tn=r.useMemo(function(){return(0,l.Z)(e2).sort(function(e,t){return e-t})},[e2]),tr=r.useMemo(function(){return ej?[tn[0],tn[tn.length-1]]:[ez,tn[0]]},[tn,ej,ez]),ta=(0,u.Z)(tr,2),ts=ta[0],ti=ta[1];r.useImperativeHandle(t,function(){return{focus:function(){ex.current.focus(0)},blur:function(){var e,t=document.activeElement;null!==(e=eR.current)&&void 0!==e&&e.contains(t)&&(null==t||t.blur())}}}),r.useEffect(function(){Z&&ex.current.focus(0)},[]);var to=r.useMemo(function(){return{min:ez,max:eL,direction:eC,disabled:I,keyboard:T,step:eT,included:ei,includedStart:ts,includedEnd:ti,range:ej,tabIndex:ey,ariaLabelForHandle:ew,ariaLabelledByForHandle:e_,ariaRequired:eS,ariaValueTextFormatterForHandle:ek,styles:M||{},classNames:R||{}}},[ez,eL,eC,I,T,eT,ei,ts,ti,ej,ey,ew,e_,eS,ek,M,R]);return r.createElement(_.Provider,{value:to},r.createElement("div",{ref:eR,className:s()(S,k,(0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},"".concat(S,"-disabled"),I),"".concat(S,"-vertical"),ea),"".concat(S,"-horizontal"),!ea),"".concat(S,"-with-marks"),eN.length)),style:x,onMouseDown:function(e){e.preventDefault();var t,n=eR.current.getBoundingClientRect(),r=n.width,a=n.height,s=n.left,i=n.top,o=n.bottom,l=n.right,c=e.clientX,u=e.clientY;switch(eC){case"btt":t=(o-u)/a;break;case"ttb":t=(u-i)/a;break;case"rtl":t=(l-c)/r;break;default:t=(c-s)/r}e4(eB(ez+t*(eL-ez)),e)},id:j},r.createElement("div",{className:s()("".concat(S,"-rail"),null==R?void 0:R.rail),style:(0,i.Z)((0,i.Z)({},eu),null==M?void 0:M.rail)}),!1!==ev&&r.createElement(A,{prefixCls:S,style:el,values:eV,startPoint:eo,onStartMove:e7?te:void 0}),r.createElement(O,{prefixCls:S,marks:eN,dots:ep,style:ed,activeStyle:eh}),r.createElement(C,{ref:ex,prefixCls:S,style:ec,values:e2,draggingIndex:eQ,draggingDelete:e1,onStartMove:te,onOffsetChange:function(e,t){if(!I){var n=e$(eV,e,t);null==K||K(eX(eV)),eJ(n.values),e9(n.value)}},onFocus:N,onBlur:F,handleRender:eg,activeHandleRender:em,onChangeComplete:eG,onDelete:eO?function(e){if(!I&&eO&&!(eV.length<=eA)){var t=(0,l.Z)(eV);t.splice(e,1),null==K||K(eX(t)),eJ(t),ex.current.hideHelp(),ex.current.focus(Math.max(0,e-1))}}:void 0}),r.createElement(E,{prefixCls:S,marks:eN,onClick:e4})))}),Z=n(53346),N=n(86586);let F=(0,r.createContext)({});var q=n(28791),B=n(99981);let $=r.forwardRef((e,t)=>{let{open:n,draggingDelete:a,value:s}=e,i=(0,r.useRef)(null),o=n&&!a,l=(0,r.useRef)(null);function c(){Z.Z.cancel(l.current),l.current=null}return r.useEffect(()=>(o?l.current=(0,Z.Z)(()=>{var e;null===(e=i.current)||void 0===e||e.forceAlign(),l.current=null}):c(),c),[o,e.title,s]),r.createElement(B.Z,Object.assign({ref:(0,q.sQ)(i,t)},e,{open:o}))});var D=n(93463),H=n(54558),U=n(12918),W=n(99320),V=n(71140);let X=e=>{let{componentCls:t,antCls:n,controlSize:r,dotSize:a,marginFull:s,marginPart:i,colorFillContentHover:o,handleColorDisabled:l,calc:c,handleSize:u,handleSizeHover:d,handleActiveColor:h,handleActiveOutlineColor:f,handleLineWidth:p,handleLineWidthHover:g,motionDurationMid:m}=e;return{[t]:Object.assign(Object.assign({},(0,U.Wf)(e)),{position:"relative",height:r,margin:"".concat((0,D.bf)(i)," ").concat((0,D.bf)(s)),padding:0,cursor:"pointer",touchAction:"none","&-vertical":{margin:"".concat((0,D.bf)(s)," ").concat((0,D.bf)(i))},["".concat(t,"-rail")]:{position:"absolute",backgroundColor:e.railBg,borderRadius:e.borderRadiusXS,transition:"background-color ".concat(m)},["".concat(t,"-track,").concat(t,"-tracks")]:{position:"absolute",transition:"background-color ".concat(m)},["".concat(t,"-track")]:{backgroundColor:e.trackBg,borderRadius:e.borderRadiusXS},["".concat(t,"-track-draggable")]:{boxSizing:"content-box",backgroundClip:"content-box",border:"solid rgba(0,0,0,0)"},"&:hover":{["".concat(t,"-rail")]:{backgroundColor:e.railHoverBg},["".concat(t,"-track")]:{backgroundColor:e.trackHoverBg},["".concat(t,"-dot")]:{borderColor:o},["".concat(t,"-handle::after")]:{boxShadow:"0 0 0 ".concat((0,D.bf)(p)," ").concat(e.colorPrimaryBorderHover)},["".concat(t,"-dot-active")]:{borderColor:e.dotActiveBorderColor}},["".concat(t,"-handle")]:{position:"absolute",width:u,height:u,outline:"none",userSelect:"none","&-dragging-delete":{opacity:0},"&::before":{content:'""',position:"absolute",insetInlineStart:c(p).mul(-1).equal(),insetBlockStart:c(p).mul(-1).equal(),width:c(u).add(c(p).mul(2)).equal(),height:c(u).add(c(p).mul(2)).equal(),backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:u,height:u,backgroundColor:e.colorBgElevated,boxShadow:"0 0 0 ".concat((0,D.bf)(p)," ").concat(e.handleColor),outline:"0px solid transparent",borderRadius:"50%",cursor:"pointer",transition:"\n inset-inline-start ".concat(m,",\n inset-block-start ").concat(m,",\n width ").concat(m,",\n height ").concat(m,",\n box-shadow ").concat(m,",\n outline ").concat(m,"\n ")},"&:hover, &:active, &:focus":{"&::before":{insetInlineStart:c(d).sub(u).div(2).add(g).mul(-1).equal(),insetBlockStart:c(d).sub(u).div(2).add(g).mul(-1).equal(),width:c(d).add(c(g).mul(2)).equal(),height:c(d).add(c(g).mul(2)).equal()},"&::after":{boxShadow:"0 0 0 ".concat((0,D.bf)(g)," ").concat(h),outline:"6px solid ".concat(f),width:d,height:d,insetInlineStart:e.calc(u).sub(d).div(2).equal(),insetBlockStart:e.calc(u).sub(d).div(2).equal()}}},["&-lock ".concat(t,"-handle")]:{"&::before, &::after":{transition:"none"}},["".concat(t,"-mark")]:{position:"absolute",fontSize:e.fontSize},["".concat(t,"-mark-text")]:{position:"absolute",display:"inline-block",color:e.colorTextDescription,textAlign:"center",wordBreak:"keep-all",cursor:"pointer",userSelect:"none","&-active":{color:e.colorText}},["".concat(t,"-step")]:{position:"absolute",background:"transparent",pointerEvents:"none"},["".concat(t,"-dot")]:{position:"absolute",width:a,height:a,backgroundColor:e.colorBgElevated,border:"".concat((0,D.bf)(p)," solid ").concat(e.dotBorderColor),borderRadius:"50%",cursor:"pointer",transition:"border-color ".concat(e.motionDurationSlow),pointerEvents:"auto","&-active":{borderColor:e.dotActiveBorderColor}},["&".concat(t,"-disabled")]:{cursor:"not-allowed",["".concat(t,"-rail")]:{backgroundColor:"".concat(e.railBg," !important")},["".concat(t,"-track")]:{backgroundColor:"".concat(e.trackBgDisabled," !important")},["\n ".concat(t,"-dot\n ")]:{backgroundColor:e.colorBgElevated,borderColor:e.trackBgDisabled,boxShadow:"none",cursor:"not-allowed"},["".concat(t,"-handle::after")]:{backgroundColor:e.colorBgElevated,cursor:"not-allowed",width:u,height:u,boxShadow:"0 0 0 ".concat((0,D.bf)(p)," ").concat(l),insetInlineStart:0,insetBlockStart:0},["\n ".concat(t,"-mark-text,\n ").concat(t,"-dot\n ")]:{cursor:"not-allowed !important"}},["&-tooltip ".concat(n,"-tooltip-inner")]:{minWidth:"unset"}})}},J=(e,t)=>{let{componentCls:n,railSize:r,handleSize:a,dotSize:s,marginFull:i,calc:o}=e,l=t?"width":"height",c=t?"height":"width",u=t?"insetBlockStart":"insetInlineStart",d=t?"top":"insetInlineStart",h=o(r).mul(3).sub(a).div(2).equal(),f=o(a).sub(r).div(2).equal(),p=t?{borderWidth:"".concat((0,D.bf)(f)," 0"),transform:"translateY(".concat((0,D.bf)(o(f).mul(-1).equal()),")")}:{borderWidth:"0 ".concat((0,D.bf)(f)),transform:"translateX(".concat((0,D.bf)(e.calc(f).mul(-1).equal()),")")};return{[t?"paddingBlock":"paddingInline"]:r,[c]:o(r).mul(3).equal(),["".concat(n,"-rail")]:{[l]:"100%",[c]:r},["".concat(n,"-track,").concat(n,"-tracks")]:{[c]:r},["".concat(n,"-track-draggable")]:Object.assign({},p),["".concat(n,"-handle")]:{[u]:h},["".concat(n,"-mark")]:{insetInlineStart:0,top:0,[d]:o(r).mul(3).add(t?0:i).equal(),[l]:"100%"},["".concat(n,"-step")]:{insetInlineStart:0,top:0,[d]:r,[l]:"100%",[c]:r},["".concat(n,"-dot")]:{position:"absolute",[u]:o(r).sub(s).div(2).equal()}}},G=e=>{let{componentCls:t,marginPartWithMark:n}=e;return{["".concat(t,"-horizontal")]:Object.assign(Object.assign({},J(e,!0)),{["&".concat(t,"-with-marks")]:{marginBottom:n}})}},K=e=>{let{componentCls:t}=e;return{["".concat(t,"-vertical")]:Object.assign(Object.assign({},J(e,!1)),{height:"100%"})}};var Y=(0,W.I$)("Slider",e=>{let t=(0,V.IX)(e,{marginPart:e.calc(e.controlHeight).sub(e.controlSize).div(2).equal(),marginFull:e.calc(e.controlSize).div(2).equal(),marginPartWithMark:e.calc(e.controlHeightLG).sub(e.controlSize).equal()});return[X(t),G(t),K(t)]},e=>{let t=e.controlHeightLG/4,n=e.controlHeightSM/2,r=e.lineWidth+1,a=e.lineWidth+1.5,s=e.colorPrimary,i=new H.t(s).setA(.2).toRgbString();return{controlSize:t,railSize:4,handleSize:t,handleSizeHover:n,dotSize:8,handleLineWidth:r,handleLineWidthHover:a,railBg:e.colorFillTertiary,railHoverBg:e.colorFillSecondary,trackBg:e.colorPrimaryBorder,trackHoverBg:e.colorPrimaryBorderHover,handleColor:e.colorPrimaryBorder,handleActiveColor:s,handleActiveOutlineColor:i,handleColorDisabled:new H.t(e.colorTextDisabled).onBackground(e.colorBgContainer).toHexString(),dotBorderColor:e.colorBorderSecondary,dotActiveBorderColor:e.colorPrimaryBorder,trackBgDisabled:e.colorBgContainerDisabled}});function Q(){let[e,t]=r.useState(!1),n=r.useRef(null),a=()=>{Z.Z.cancel(n.current)};return r.useEffect(()=>a,[]),[e,e=>{a(),e?t(e):n.current=(0,Z.Z)(()=>{t(e)})}]}var ee=n(71744),et=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);at.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n},en=r.forwardRef((e,t)=>{let{prefixCls:n,range:a,className:i,rootClassName:o,style:l,disabled:c,tooltipPrefixCls:u,tipFormatter:d,tooltipVisible:h,getTooltipPopupContainer:f,tooltipPlacement:p,tooltip:g={},onChangeComplete:m,classNames:v,styles:b}=e,y=et(e,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement","tooltip","onChangeComplete","classNames","styles"]),{vertical:w}=e,{getPrefixCls:_,direction:S,className:k,style:x,classNames:R,styles:C,getPopupContainer:M}=(0,ee.dj)("slider"),E=r.useContext(N.Z),{handleRender:j,direction:O}=r.useContext(F),P="rtl"===(O||S),[A,I]=Q(),[z,L]=Q(),q=Object.assign({},g),{open:B,placement:D,getPopupContainer:H,prefixCls:U,formatter:W}=q,V=null!=B?B:h,X=(A||z)&&!1!==V,J=W||null===W?W:d||null===d?d:e=>"number"==typeof e?e.toString():"",[G,K]=Q(),en=(e,t)=>e||(t?P?"left":"right":"top"),er=_("slider",n),[ea,es,ei]=Y(er),eo=s()(i,k,R.root,null==v?void 0:v.root,o,{["".concat(er,"-rtl")]:P,["".concat(er,"-lock")]:G},es,ei);P&&!y.vertical&&(y.reverse=!y.reverse),r.useEffect(()=>{let e=()=>{(0,Z.Z)(()=>{L(!1)},1)};return document.addEventListener("mouseup",e),()=>{document.removeEventListener("mouseup",e)}},[]);let el=a&&!V,ec=j||((e,t)=>{let{index:n}=t,a=e.props;function s(e,t,n){var r,s;n&&(null===(r=y[e])||void 0===r||r.call(y,t)),null===(s=a[e])||void 0===s||s.call(a,t)}let i=Object.assign(Object.assign({},a),{onMouseEnter:e=>{I(!0),s("onMouseEnter",e)},onMouseLeave:e=>{I(!1),s("onMouseLeave",e)},onMouseDown:e=>{L(!0),K(!0),s("onMouseDown",e)},onFocus:e=>{var t;L(!0),null===(t=y.onFocus)||void 0===t||t.call(y,e),s("onFocus",e,!0)},onBlur:e=>{var t;L(!1),null===(t=y.onBlur)||void 0===t||t.call(y,e),s("onBlur",e,!0)}}),o=r.cloneElement(e,i),l=(!!V||X)&&null!==J;return el?o:r.createElement($,Object.assign({},q,{prefixCls:_("tooltip",null!=U?U:u),title:J?J(t.value):"",value:t.value,open:l,placement:en(null!=D?D:p,w),key:n,classNames:{root:"".concat(er,"-tooltip")},getPopupContainer:H||f||M}),o)}),eu=el?(e,t)=>{let n=r.cloneElement(e,{style:Object.assign(Object.assign({},e.props.style),{visibility:"hidden"})});return r.createElement($,Object.assign({},q,{prefixCls:_("tooltip",null!=U?U:u),title:J?J(t.value):"",open:null!==J&&X,placement:en(null!=D?D:p,w),key:"tooltip",classNames:{root:"".concat(er,"-tooltip")},getPopupContainer:H||f||M,draggingDelete:t.draggingDelete}),n)}:void 0,ed=Object.assign(Object.assign(Object.assign(Object.assign({},C.root),x),null==b?void 0:b.root),l),eh=Object.assign(Object.assign({},C.tracks),null==b?void 0:b.tracks),ef=s()(R.tracks,null==v?void 0:v.tracks);return ea(r.createElement(T,Object.assign({},y,{classNames:Object.assign({handle:s()(R.handle,null==v?void 0:v.handle),rail:s()(R.rail,null==v?void 0:v.rail),track:s()(R.track,null==v?void 0:v.track)},ef?{tracks:ef}:{}),styles:Object.assign({handle:Object.assign(Object.assign({},C.handle),null==b?void 0:b.handle),rail:Object.assign(Object.assign({},C.rail),null==b?void 0:b.rail),track:Object.assign(Object.assign({},C.track),null==b?void 0:b.track)},Object.keys(eh).length?{tracks:eh}:{}),step:y.step,range:a,className:eo,style:ed,disabled:null!=c?c:E,ref:t,prefixCls:er,handleRender:ec,activeHandleRender:eu,onChangeComplete:e=>{null==m||m(e),K(!1)}})))})},33145:function(e,t,n){"use strict";n.d(t,{default:function(){return a.a}});var r=n(48461),a=n.n(r)},65878:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let r=n(47043),a=n(53099),s=n(57437),i=a._(n(2265)),o=r._(n(54887)),l=r._(n(38293)),c=n(55346),u=n(90128),d=n(62589);n(31765);let h=n(25523),f=r._(n(5084)),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,n,r,a,s,i){let o=null==e?void 0:e.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),null==n?void 0:n.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,a=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}(null==r?void 0:r.current)&&r.current(e)}}))}function m(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,i.forwardRef)((e,t)=>{let{src:n,srcSet:r,sizes:a,height:o,width:l,decoding:c,className:u,style:d,fetchPriority:h,placeholder:f,loading:p,unoptimized:v,fill:b,onLoadRef:y,onLoadingCompleteRef:w,setBlurComplete:_,setShowAltText:S,sizesInput:k,onLoad:x,onError:R,...C}=e;return(0,s.jsx)("img",{...C,...m(h),loading:p,width:l,height:o,decoding:c,"data-nimg":b?"fill":"1",className:u,style:d,sizes:a,srcSet:r,src:n,ref:(0,i.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(R&&(e.src=e.src),e.complete&&g(e,f,y,w,_,v,k))},[n,f,y,w,_,R,v,k,t]),onLoad:e=>{g(e.currentTarget,f,y,w,_,v,k)},onError:e=>{S(!0),"empty"!==f&&_(!0),R&&R(e)}})});function b(e){let{isAppRouter:t,imgAttributes:n}=e,r={as:"image",imageSrcSet:n.srcSet,imageSizes:n.sizes,crossOrigin:n.crossOrigin,referrerPolicy:n.referrerPolicy,...m(n.fetchPriority)};return t&&o.default.preload?(o.default.preload(n.src,r),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:n.srcSet?void 0:n.src,...r},"__nimg-"+n.src+n.srcSet+n.sizes)})}let y=(0,i.forwardRef)((e,t)=>{let n=(0,i.useContext)(h.RouterContext),r=(0,i.useContext)(d.ImageConfigContext),a=(0,i.useMemo)(()=>{var e;let t=p||r||u.imageConfigDefault,n=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),a=t.deviceSizes.sort((e,t)=>e-t),s=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:n,deviceSizes:a,qualities:s}},[r]),{onLoad:o,onLoadingComplete:l}=e,g=(0,i.useRef)(o);(0,i.useEffect)(()=>{g.current=o},[o]);let m=(0,i.useRef)(l);(0,i.useEffect)(()=>{m.current=l},[l]);let[y,w]=(0,i.useState)(!1),[_,S]=(0,i.useState)(!1),{props:k,meta:x}=(0,c.getImgProps)(e,{defaultLoader:f.default,imgConf:a,blurComplete:y,showAltText:_});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{...k,unoptimized:x.unoptimized,placeholder:x.placeholder,fill:x.fill,onLoadRef:g,onLoadingCompleteRef:m,setBlurComplete:w,setShowAltText:S,sizesInput:e.sizes,ref:t}),x.priority?(0,s.jsx)(b,{isAppRouter:!n,imgAttributes:k}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24601:function(){},91436:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext({})},23964:function(e,t){"use strict";function n(e){let{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return n}})},55346:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return o}}),n(31765);let r=n(96496),a=n(90128);function s(e){return void 0!==e.default}function i(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function o(e,t){var n,o;let l,c,u,{src:d,sizes:h,unoptimized:f=!1,priority:p=!1,loading:g,className:m,quality:v,width:b,height:y,fill:w=!1,style:_,overrideSrc:S,onLoad:k,onLoadingComplete:x,placeholder:R="empty",blurDataURL:C,fetchPriority:M,decoding:E="async",layout:j,objectFit:O,objectPosition:P,lazyBoundary:A,lazyRoot:I,...z}=e,{imgConf:L,showAltText:T,blurComplete:Z,defaultLoader:N}=t,F=L||a.imageConfigDefault;if("allSizes"in F)l=F;else{let e=[...F.deviceSizes,...F.imageSizes].sort((e,t)=>e-t),t=F.deviceSizes.sort((e,t)=>e-t),r=null==(n=F.qualities)?void 0:n.sort((e,t)=>e-t);l={...F,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===N)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let q=z.loader||N;delete z.loader,delete z.srcSet;let B="__next_img_default"in q;if(B){if("custom"===l.loader)throw Error('Image with src "'+d+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=q;q=t=>{let{config:n,...r}=t;return e(r)}}if(j){"fill"===j&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[j];e&&(_={..._,...e});let t={responsive:"100vw",fill:"100vw"}[j];t&&!h&&(h=t)}let $="",D=i(b),H=i(y);if("object"==typeof(o=d)&&(s(o)||void 0!==o.src)){let e=s(d)?d.default:d;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(c=e.blurWidth,u=e.blurHeight,C=C||e.blurDataURL,$=e.src,!w){if(D||H){if(D&&!H){let t=D/e.width;H=Math.round(e.height*t)}else if(!D&&H){let t=H/e.height;D=Math.round(e.width*t)}}else D=e.width,H=e.height}}let U=!p&&("lazy"===g||void 0===g);(!(d="string"==typeof d?d:$)||d.startsWith("data:")||d.startsWith("blob:"))&&(f=!0,U=!1),l.unoptimized&&(f=!0),B&&d.endsWith(".svg")&&!l.dangerouslyAllowSVG&&(f=!0),p&&(M="high");let W=i(v),V=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:P}:{},T?{}:{color:"transparent"},_),X=Z||"empty"===R?null:"blur"===R?'url("data:image/svg+xml;charset=utf-8,'+(0,r.getImageBlurSvg)({widthInt:D,heightInt:H,blurWidth:c,blurHeight:u,blurDataURL:C||"",objectFit:V.objectFit})+'")':'url("'+R+'")',J=X?{backgroundSize:V.objectFit||"cover",backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},G=function(e){let{config:t,src:n,unoptimized:r,width:a,quality:s,sizes:i,loader:o}=e;if(r)return{src:n,srcSet:void 0,sizes:void 0};let{widths:l,kind:c}=function(e,t,n){let{deviceSizes:r,allSizes:a}=e;if(n){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let r;r=e.exec(n);r)t.push(parseInt(r[2]));if(t.length){let e=.01*Math.min(...t);return{widths:a.filter(t=>t>=r[0]*e),kind:"w"}}return{widths:a,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>a.find(t=>t>=e)||a[a.length-1]))],kind:"x"}}(t,a,i),u=l.length-1;return{sizes:i||"w"!==c?i:"100vw",srcSet:l.map((e,r)=>o({config:t,src:n,quality:s,width:e})+" "+("w"===c?e:r+1)+c).join(", "),src:o({config:t,src:n,quality:s,width:l[u]})}}({config:l,src:d,unoptimized:f,width:D,quality:W,sizes:h,loader:q});return{props:{...z,loading:U?"lazy":g,fetchPriority:M,width:D,height:H,decoding:E,className:m,style:{...V,...J},sizes:G.sizes,srcSet:G.srcSet,src:S||G.src},meta:{unoptimized:f,priority:p,placeholder:R,fill:w}}}},38293:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return g},defaultHead:function(){return d}});let r=n(47043),a=n(53099),s=n(57437),i=a._(n(2265)),o=r._(n(17421)),l=n(91436),c=n(48701),u=n(23964);function d(e){void 0===e&&(e=!1);let t=[(0,s.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,s.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(31765);let f=["name","httpEquiv","charSet","itemProp"];function p(e,t){let{inAmpMode:n}=t;return e.reduce(h,[]).reverse().concat(d(n).reverse()).filter(function(){let e=new Set,t=new Set,n=new Set,r={};return a=>{let s=!0,i=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){i=!0;let t=a.key.slice(a.key.indexOf("$")+1);e.has(t)?s=!1:e.add(t)}switch(a.type){case"title":case"base":t.has(a.type)?s=!1:t.add(a.type);break;case"meta":for(let e=0,t=f.length;e{let r=e.key||t;if(!n&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:r})})}let g=function(e){let{children:t}=e,n=(0,i.useContext)(l.AmpStateContext),r=(0,i.useContext)(c.HeadManagerContext);return(0,s.jsx)(o.default,{reduceComponentsToState:p,headManager:r,inAmpMode:(0,u.isInAmpMode)(n),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96496:function(e,t){"use strict";function n(e){let{widthInt:t,heightInt:n,blurWidth:r,blurHeight:a,blurDataURL:s,objectFit:i}=e,o=r?40*r:t,l=a?40*a:n,c=o&&l?"viewBox='0 0 "+o+" "+l+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(c?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+s+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},62589:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let r=n(47043)._(n(2265)),a=n(90128),s=r.default.createContext(a.imageConfigDefault)},90128:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{VALID_LOADERS:function(){return n},imageConfigDefault:function(){return r}});let n=["default","imgix","cloudinary","akamai","custom"],r={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},48461:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return o}});let r=n(47043),a=n(55346),s=n(65878),i=r._(n(5084));function o(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=s.Image},5084:function(e,t){"use strict";function n(e){var t;let{config:n,src:r,width:a,quality:s}=e,i=s||(null==(t=n.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75){}:r.useLayoutEffect,i=a?()=>{}:r.useEffect;function o(e){let{headManager:t,reduceComponentsToState:n}=e;function o(){if(t&&t.mountedInstances){let a=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(a,e))}}if(a){var l;null==t||null==(l=t.mountedInstances)||l.add(e.children),o()}return s(()=>{var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),()=>{var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),s(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},18975:function(e,t,n){"use strict";var r=n(40257);n(24601);var a=n(2265),s=a&&"object"==typeof a&&"default"in a?a:{default:a},i=void 0!==r&&r.env&&!0,o=function(e){return"[object String]"===Object.prototype.toString.call(e)},l=function(){function e(e){var t=void 0===e?{}:e,n=t.name,r=void 0===n?"stylesheet":n,a=t.optimizeForSpeed,s=void 0===a?i:a;c(o(r),"`name` must be a string"),this._name=r,this._deletedRulePlaceholder="#"+r+"-deleted-rule____{}",c("boolean"==typeof s,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=s,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var l="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=l?l.getAttribute("content"):null}var t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(i||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,n){return"number"==typeof n?e._serverSheet.cssRules[n]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),n},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t>>0},d={};function h(e,t){if(!t)return"jsx-"+e;var n=String(t),r=e+n;return d[r]||(d[r]="jsx-"+u(e+"-"+n)),d[r]}function f(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var n=e+t;return d[n]||(d[n]=t.replace(/__jsx-style-dynamic-selector/g,e)),d[n]}var p=function(){function e(e){var t=void 0===e?{}:e,n=t.styleSheet,r=void 0===n?null:n,a=t.optimizeForSpeed,s=void 0!==a&&a;this._sheet=r||new l({name:"styled-jsx",optimizeForSpeed:s}),this._sheet.inject(),r&&"boolean"==typeof s&&(this._sheet.setOptimizeForSpeed(s),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var n=this.getIdAndRules(e),r=n.styleId,a=n.rules;if(r in this._instancesCounts){this._instancesCounts[r]+=1;return}var s=a.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[r]=s,this._instancesCounts[r]=1},t.remove=function(e){var t=this,n=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(n in this._instancesCounts,"styleId: `"+n+"` not found"),this._instancesCounts[n]-=1,this._instancesCounts[n]<1){var r=this._fromServer&&this._fromServer[n];r?(r.parentNode.removeChild(r),delete this._fromServer[n]):(this._indices[n].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[n]),delete this._instancesCounts[n]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],n=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return n[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,n;return t=this.cssRules(),void 0===(n=e)&&(n={}),t.map(function(e){var t=e[0],r=e[1];return s.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:n.nonce?n.nonce:void 0,dangerouslySetInnerHTML:{__html:r}})})},t.getIdAndRules=function(e){var t=e.children,n=e.dynamic,r=e.id;if(n){var a=h(r,n);return{styleId:a,rules:Array.isArray(t)?t.map(function(e){return f(a,e)}):[f(a,t)]}}return{styleId:h(r),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),g=a.createContext(null);g.displayName="StyleSheetContext";var m=s.default.useInsertionEffect||s.default.useLayoutEffect,v="undefined"!=typeof window?new p:void 0;function b(e){var t=v||a.useContext(g);return t&&("undefined"==typeof window?t.add(e):m(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}b.dynamic=function(e){return e.map(function(e){return h(e[0],e[1])}).join(" ")},t.style=b},29:function(e,t,n){"use strict";e.exports=n(18975).style},85498:function(e,t,n){"use strict";var r,a,s,i,o,l,c,u,d,h,f,p,g,m,v,b,y,w,_,S,k,x,R,C,M,E,j,O,P,A,I,z,L,T,Z,N,F,q,B,$,D,H,U,W,V,X,J,G,K;let Y,Q,ee;function et(e,t,n,r,a){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(e,n):a?a.value=n:t.set(e,n),n}function en(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}n.d(t,{ZP:function(){return tB}});let er=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return er=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(+e^n()&15>>+e/4).toString(16))};function ea(e){return"object"==typeof e&&null!==e&&("name"in e&&"AbortError"===e.name||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}let es=e=>{if(e instanceof Error)return e;if("object"==typeof e&&null!==e){try{if("[object Error]"===Object.prototype.toString.call(e)){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};class ei extends Error{}class eo extends ei{constructor(e,t,n,r){super(`${eo.makeMessage(e,t,n)}`),this.status=e,this.headers=r,this.requestID=r?.get("request-id"),this.error=t}static makeMessage(e,t,n){let r=t?.message?"string"==typeof t.message?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,t,n,r){return e&&r?400===e?new ed(e,t,n,r):401===e?new eh(e,t,n,r):403===e?new ef(e,t,n,r):404===e?new ep(e,t,n,r):409===e?new eg(e,t,n,r):422===e?new em(e,t,n,r):429===e?new ev(e,t,n,r):e>=500?new eb(e,t,n,r):new eo(e,t,n,r):new ec({message:n,cause:es(t)})}}class el extends eo{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class ec extends eo{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class eu extends ec{constructor({message:e}={}){super({message:e??"Request timed out."})}}class ed extends eo{}class eh extends eo{}class ef extends eo{}class ep extends eo{}class eg extends eo{}class em extends eo{}class ev extends eo{}class eb extends eo{}let ey=/^[a-z][a-z0-9+.-]*:/i,ew=e=>ey.test(e);function e_(e){return"object"!=typeof e?{}:e??{}}let eS=(e,t)=>{if("number"!=typeof t||!Number.isInteger(t))throw new ei(`${e} must be an integer`);if(t<0)throw new ei(`${e} must be a positive integer`);return t},ek=e=>{try{return JSON.parse(e)}catch(e){return}},ex=e=>new Promise(t=>setTimeout(t,e)),eR={off:0,error:200,warn:300,info:400,debug:500},eC=(e,t,n)=>{if(e){if(Object.prototype.hasOwnProperty.call(eR,e))return e;eP(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(eR))}`)}};function eM(){}function eE(e,t,n){return!t||eR[e]>eR[n]?eM:t[e].bind(t)}let ej={error:eM,warn:eM,info:eM,debug:eM},eO=new WeakMap;function eP(e){let t=e.logger,n=e.logLevel??"off";if(!t)return ej;let r=eO.get(t);if(r&&r[0]===n)return r[1];let a={error:eE("error",t,n),warn:eE("warn",t,n),info:eE("info",t,n),debug:eE("debug",t,n)};return eO.set(t,[n,a]),a}let eA=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,"x-api-key"===e.toLowerCase()||"authorization"===e.toLowerCase()||"cookie"===e.toLowerCase()||"set-cookie"===e.toLowerCase()?"***":t]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),eI="0.54.0",ez=()=>"undefined"!=typeof window&&void 0!==window.document&&"undefined"!=typeof navigator,eL=()=>{let e="undefined"!=typeof Deno&&null!=Deno.build?"deno":"undefined"!=typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===e)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":eZ(Deno.build.os),"X-Stainless-Arch":eT(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===e)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":eZ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":eT(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:e,pattern:t}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n){let t=n[1]||0,r=n[2]||0,a=n[3]||0;return{browser:e,version:`${t}.${r}.${a}`}}}return null}();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}},eT=e=>"x32"===e?"x32":"x86_64"===e||"x64"===e?"x64":"arm"===e?"arm":"aarch64"===e||"arm64"===e?"arm64":e?`other:${e}`:"unknown",eZ=e=>(e=e.toLowerCase()).includes("ios")?"iOS":"android"===e?"Android":"darwin"===e?"MacOS":"win32"===e?"Windows":"freebsd"===e?"FreeBSD":"openbsd"===e?"OpenBSD":"linux"===e?"Linux":e?`Other:${e}`:"Unknown",eN=()=>Y??(Y=eL());function eF(...e){let t=globalThis.ReadableStream;if(void 0===t)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function eq(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return eF({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function eB(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function e$(e){if(null===e||"object"!=typeof e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}let eD=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)});function eH(e){let t;return(Q??(Q=(t=new globalThis.TextEncoder).encode.bind(t)))(e)}function eU(e){let t;return(ee??(ee=(t=new globalThis.TextDecoder).decode.bind(t)))(e)}class eW{constructor(){r.set(this,void 0),a.set(this,void 0),et(this,r,new Uint8Array,"f"),et(this,a,null,"f")}decode(e){let t;if(null==e)return[];let n=e instanceof ArrayBuffer?new Uint8Array(e):"string"==typeof e?eH(e):e;et(this,r,function(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}([en(this,r,"f"),n]),"f");let s=[];for(;null!=(t=function(e,t){for(let n=t??0;n({next:()=>{if(0===r.length){let r=n.next();e.push(r),t.push(r)}return r.shift()}});return[new eV(()=>r(e),this.controller),new eV(()=>r(t),this.controller)]}toReadableStream(){let e;let t=this;return eF({async start(){e=t[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:r}=await e.next();if(r)return t.close();let a=eH(JSON.stringify(n)+"\n");t.enqueue(a)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}}async function*eX(e,t){if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new ei("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new ei("Attempted to iterate over a response with no body")}let n=new eG,r=new eW;for await(let t of eJ(eB(e.body)))for(let e of r.decode(t)){let t=n.decode(e);t&&(yield t)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*eJ(e){let t=new Uint8Array;for await(let n of e){let e;if(null==n)continue;let r=n instanceof ArrayBuffer?new Uint8Array(n):"string"==typeof n?eH(n):n,a=new Uint8Array(t.length+r.length);for(a.set(t),a.set(r,t.length),t=a;-1!==(e=function(e){for(let t=0;t0&&(yield t)}class eG{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,n,r]=function(e,t){let n=e.indexOf(":");return -1!==n?[e.substring(0,n),":",e.substring(n+t.length)]:[e,"",""]}(e,":");return r.startsWith(" ")&&(r=r.substring(1)),"event"===t?this.event=r:"data"===t&&this.data.push(r),null}}async function eK(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:a,startTime:s}=t,i=await (async()=>{if(t.options.stream)return(eP(e).debug("response",n.status,n.url,n.headers,n.body),t.options.__streamClass)?t.options.__streamClass.fromSSEResponse(n,t.controller):eV.fromSSEResponse(n,t.controller);if(204===n.status)return null;if(t.options.__binaryResponse)return n;let r=n.headers.get("content-type"),a=r?.split(";")[0]?.trim();return a?.includes("application/json")||a?.endsWith("+json")?eY(await n.json(),n):await n.text()})();return eP(e).debug(`[${r}] response parsed`,eA({retryOfRequestLogID:a,url:n.url,status:n.status,body:i,durationMs:Date.now()-s})),i}function eY(e,t){return!e||"object"!=typeof e||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("request-id"),enumerable:!1})}class eQ extends Promise{constructor(e,t,n=eK){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,s.set(this,void 0),et(this,s,e,"f")}_thenUnwrap(e){return new eQ(en(this,s,"f"),this.responsePromise,async(t,n)=>eY(e(await this.parseResponse(t,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(en(this,s,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}s=new WeakMap;class e0{constructor(e,t,n,r){i.set(this,void 0),et(this,i,e,"f"),this.options=r,this.response=t,this.body=n}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new ei("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await en(this,i,"f").requestAPIList(this.constructor,e)}async *iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async *[(i=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}}class e1 extends eQ{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await eK(e,t),t.options))}async *[Symbol.asyncIterator](){for await(let e of(await this))yield e}}class e2 extends e0{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1,this.first_id=n.first_id||null,this.last_id=n.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let e=this.first_id;return e?{...this.options,query:{...e_(this.options.query),before_id:e}}:null}let e=this.last_id;return e?{...this.options,query:{...e_(this.options.query),after_id:e}}:null}}let e3=()=>{if("undefined"==typeof File){let{process:e}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof e?.versions?.node&&20>parseInt(e.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function e4(e,t,n){return e3(),new File(e,t??"unknown_file",n)}function e6(e){return("object"==typeof e&&null!==e&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}let e8=e=>null!=e&&"object"==typeof e&&"function"==typeof e[Symbol.asyncIterator],e5=async(e,t)=>({...e,body:await e7(e.body,t)}),e9=new WeakMap,e7=async(e,t)=>{if(!await function(e){let t="function"==typeof e?e:e.fetch,n=e9.get(t);if(n)return n;let r=(async()=>{try{let e="Response"in t?t.Response:(await t("data:,")).constructor,n=new FormData;if(n.toString()===await new e(n).text())return!1;return!0}catch{return!0}})();return e9.set(t,r),r}(t))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([e,t])=>tr(n,e,t))),n},te=e=>e instanceof Blob&&"name"in e,tt=e=>"object"==typeof e&&null!==e&&(e instanceof Response||e8(e)||te(e)),tn=e=>{if(tt(e))return!0;if(Array.isArray(e))return e.some(tn);if(e&&"object"==typeof e){for(let t in e)if(tn(e[t]))return!0}return!1},tr=async(e,t,n)=>{if(void 0!==n){if(null==n)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof n||"number"==typeof n||"boolean"==typeof n)e.append(t,String(n));else if(n instanceof Response){let r={},a=n.headers.get("Content-Type");a&&(r={type:a}),e.append(t,e4([await n.blob()],e6(n),r))}else if(e8(n))e.append(t,e4([await new Response(eq(n)).blob()],e6(n)));else if(te(n))e.append(t,e4([n],e6(n),{type:n.type}));else if(Array.isArray(n))await Promise.all(n.map(n=>tr(e,t+"[]",n)));else if("object"==typeof n)await Promise.all(Object.entries(n).map(([n,r])=>tr(e,`${t}[${n}]`,r)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},ta=e=>null!=e&&"object"==typeof e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.text&&"function"==typeof e.slice&&"function"==typeof e.arrayBuffer,ts=e=>null!=e&&"object"==typeof e&&"string"==typeof e.name&&"number"==typeof e.lastModified&&ta(e),ti=e=>null!=e&&"object"==typeof e&&"string"==typeof e.url&&"function"==typeof e.blob;async function to(e,t,n){if(e3(),e=await e,t||(t=e6(e)),ts(e))return e instanceof File&&null==t&&null==n?e:e4([await e.arrayBuffer()],t??e.name,{type:e.type,lastModified:e.lastModified,...n});if(ti(e)){let r=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),e4(await tl(r),t,n)}let r=await tl(e);if(!n?.type){let e=r.find(e=>"object"==typeof e&&"type"in e&&e.type);"string"==typeof e&&(n={...n,type:e})}return e4(r,t,n)}async function tl(e){let t=[];if("string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(ta(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(e8(e))for await(let n of e)t.push(...await tl(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:""}${function(e){if("object"!=typeof e||null===e)return"";let t=Object.getOwnPropertyNames(e);return`; props: [${t.map(e=>`"${e}"`).join(", ")}]`}(e)}`)}return t}class tc{constructor(e){this._client=e}}let tu=Symbol.for("brand.privateNullableHeaders"),td=Array.isArray,th=e=>{let t=new Headers,n=new Set;for(let r of e){let e=new Set;for(let[a,s]of function*(e){let t;if(!e)return;if(tu in e){let{values:t,nulls:n}=e;for(let e of(yield*t.entries(),n))yield[e,null];return}let n=!1;for(let r of(e instanceof Headers?t=e.entries():td(e)?t=e:(n=!0,t=Object.entries(e??{})),t)){let e=r[0];if("string"!=typeof e)throw TypeError("expected header name to be a string");let t=td(r[1])?r[1]:[r[1]],a=!1;for(let r of t)void 0!==r&&(n&&!a&&(a=!0,yield[e,null]),yield[e,r])}}(r)){let r=a.toLowerCase();e.has(r)||(t.delete(a),e.add(r)),null===s?(t.delete(a),n.add(r)):(t.append(a,s),n.delete(r))}}return{[tu]:!0,values:t,nulls:n}};function tf(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let tp=((e=tf)=>function(t,...n){let r;if(1===t.length)return t[0];let a=!1,s=t.reduce((t,r,s)=>(/[?#]/.test(r)&&(a=!0),t+r+(s===n.length?"":(a?encodeURIComponent:e)(String(n[s])))),""),i=s.split(/[?#]/,1)[0],o=[],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(r=l.exec(i));)o.push({start:r.index,length:r[0].length});if(o.length>0){let e=0,t=o.reduce((t,n)=>{let r=" ".repeat(n.start-e),a="^".repeat(n.length);return e=n.start+n.length,t+r+a},"");throw new ei(`Path parameters result in path with invalid segments: -${s} -${t}`)}return s})(tf);class tg extends tc{list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/files",e2,{query:r,...t,headers:th([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(tp`/v1/files/${e}`,{...n,headers:th([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},n?.headers])})}download(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/files/${e}/content`,{...n,headers:th([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/files/${e}`,{...n,headers:th([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},n?.headers])})}upload(e,t){let{betas:n,...r}=e;return this._client.post("/v1/files",e5({body:r,...t,headers:th([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},t?.headers])},this._client))}}class tm extends tc{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/models/${e}?beta=true`,{...n,headers:th([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/models?beta=true",e2,{query:r,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers])})}}class tv{constructor(e,t){this.iterator=e,this.controller=t}async *decoder(){let e=new eW;for await(let t of this.iterator)for(let n of e.decode(t))yield JSON.parse(n);for(let t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(e,t){if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new ei("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new ei("Attempted to iterate over a response with no body")}return new tv(eB(e.body),t)}}class tb extends tc{create(e,t){let{betas:n,...r}=e;return this._client.post("/v1/messages/batches?beta=true",{body:r,...t,headers:th([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/messages/batches/${e}?beta=true`,{...n,headers:th([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/messages/batches?beta=true",e2,{query:r,...t,headers:th([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(tp`/v1/messages/batches/${e}?beta=true`,{...n,headers:th([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},n?.headers])})}cancel(e,t={},n){let{betas:r}=t??{};return this._client.post(tp`/v1/messages/batches/${e}/cancel?beta=true`,{...n,headers:th([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},n?.headers])})}async results(e,t={},n){let r=await this.retrieve(e);if(!r.results_url)throw new ei(`No batch \`results_url\`; Has it finished processing? ${r.processing_status} - ${r.id}`);let{betas:a}=t??{};return this._client.get(r.results_url,{...n,headers:th([{"anthropic-beta":[...a??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},n?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>tv.fromResponse(t.response,t.controller))}}let ty=e=>{let t=0,n=[];for(;t{if(0===e.length)return e;let t=e[e.length-1];switch(t.type){case"separator":return tw(e=e.slice(0,e.length-1));case"number":let n=t.value[t.value.length-1];if("."===n||"-"===n)return tw(e=e.slice(0,e.length-1));case"string":let r=e[e.length-2];if(r?.type==="delimiter"||r?.type==="brace"&&"{"===r.value)return tw(e=e.slice(0,e.length-1));break;case"delimiter":return tw(e=e.slice(0,e.length-1))}return e},t_=e=>{let t=[];return e.map(e=>{"brace"===e.type&&("{"===e.value?t.push("}"):t.splice(t.lastIndexOf("}"),1)),"paren"===e.type&&("["===e.value?t.push("]"):t.splice(t.lastIndexOf("]"),1))}),t.length>0&&t.reverse().map(t=>{"}"===t?e.push({type:"brace",value:"}"}):"]"===t&&e.push({type:"paren",value:"]"})}),e},tS=e=>{let t="";return e.map(e=>{"string"===e.type?t+='"'+e.value+'"':t+=e.value}),t},tk=e=>JSON.parse(tS(t_(tw(ty(e))))),tx="__json_buf";function tR(e){return"tool_use"===e.type||"server_tool_use"===e.type||"mcp_tool_use"===e.type}class tC{constructor(){o.add(this),this.messages=[],this.receivedMessages=[],l.set(this,void 0),this.controller=new AbortController,c.set(this,void 0),u.set(this,()=>{}),d.set(this,()=>{}),h.set(this,void 0),f.set(this,()=>{}),p.set(this,()=>{}),g.set(this,{}),m.set(this,!1),v.set(this,!1),b.set(this,!1),y.set(this,!1),w.set(this,void 0),_.set(this,void 0),x.set(this,e=>{if(et(this,v,!0,"f"),ea(e)&&(e=new el),e instanceof el)return et(this,b,!0,"f"),this._emit("abort",e);if(e instanceof ei)return this._emit("error",e);if(e instanceof Error){let t=new ei(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new ei(String(e)))}),et(this,c,new Promise((e,t)=>{et(this,u,e,"f"),et(this,d,t,"f")}),"f"),et(this,h,new Promise((e,t)=>{et(this,f,e,"f"),et(this,p,t,"f")}),"f"),en(this,c,"f").catch(()=>{}),en(this,h,"f").catch(()=>{})}get response(){return en(this,w,"f")}get request_id(){return en(this,_,"f")}async withResponse(){let e=await en(this,c,"f");if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new tC;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,n){let r=new tC;for(let e of t.messages)r._addMessageParam(e);return r._run(()=>r._createMessage(e,{...t,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},en(this,x,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),en(this,o,"m",R).call(this);let{response:a,data:s}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();for await(let e of(this._connected(a),s))en(this,o,"m",C).call(this,e);if(s.controller.signal?.aborted)throw new el;en(this,o,"m",M).call(this)}_connected(e){this.ended||(et(this,w,e,"f"),et(this,_,e?.headers.get("request-id"),"f"),en(this,u,"f").call(this,e),this._emit("connect"))}get ended(){return en(this,m,"f")}get errored(){return en(this,v,"f")}get aborted(){return en(this,b,"f")}abort(){this.controller.abort()}on(e,t){return(en(this,g,"f")[e]||(en(this,g,"f")[e]=[])).push({listener:t}),this}off(e,t){let n=en(this,g,"f")[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(en(this,g,"f")[e]||(en(this,g,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{et(this,y,!0,"f"),"error"!==e&&this.once("error",n),this.once(e,t)})}async done(){et(this,y,!0,"f"),await en(this,h,"f")}get currentMessage(){return en(this,l,"f")}async finalMessage(){return await this.done(),en(this,o,"m",S).call(this)}async finalText(){return await this.done(),en(this,o,"m",k).call(this)}_emit(e,...t){if(en(this,m,"f"))return;"end"===e&&(et(this,m,!0,"f"),en(this,f,"f").call(this));let n=en(this,g,"f")[e];if(n&&(en(this,g,"f")[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];en(this,y,"f")||n?.length||Promise.reject(e),en(this,d,"f").call(this,e),en(this,p,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];en(this,y,"f")||n?.length||Promise.reject(e),en(this,d,"f").call(this,e),en(this,p,"f").call(this,e),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",en(this,o,"m",S).call(this))}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),en(this,o,"m",R).call(this),this._connected(null);let r=eV.fromReadableStream(e,this.controller);for await(let e of r)en(this,o,"m",C).call(this,e);if(r.controller.signal?.aborted)throw new el;en(this,o,"m",M).call(this)}[(l=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakMap,h=new WeakMap,f=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,y=new WeakMap,w=new WeakMap,_=new WeakMap,x=new WeakMap,o=new WeakSet,S=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},k=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");let e=this.receivedMessages.at(-1).content.filter(e=>"text"===e.type).map(e=>e.text);if(0===e.length)throw new ei("stream ended without producing a content block with type=text");return e.join(" ")},R=function(){this.ended||et(this,l,void 0,"f")},C=function(e){if(this.ended)return;let t=en(this,o,"m",E).call(this,e);switch(this._emit("streamEvent",e,t),e.type){case"content_block_delta":{let n=t.content.at(-1);switch(e.delta.type){case"text_delta":"text"===n.type&&this._emit("text",e.delta.text,n.text||"");break;case"citations_delta":"text"===n.type&&this._emit("citation",e.delta.citation,n.citations??[]);break;case"input_json_delta":tR(n)&&n.input&&this._emit("inputJson",e.delta.partial_json,n.input);break;case"thinking_delta":"thinking"===n.type&&this._emit("thinking",e.delta.thinking,n.thinking);break;case"signature_delta":"thinking"===n.type&&this._emit("signature",n.signature);break;default:e.delta}break}case"message_stop":this._addMessageParam(t),this._addMessage(t,!0);break;case"content_block_stop":this._emit("contentBlock",t.content.at(-1));break;case"message_start":et(this,l,t,"f")}},M=function(){if(this.ended)throw new ei("stream has ended, this shouldn't happen");let e=en(this,l,"f");if(!e)throw new ei("request ended without sending any chunks");return et(this,l,void 0,"f"),e},E=function(e){let t=en(this,l,"f");if("message_start"===e.type){if(t)throw new ei(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new ei(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case"message_stop":case"content_block_stop":return t;case"message_delta":return t.container=e.delta.container,t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,null!=e.usage.input_tokens&&(t.usage.input_tokens=e.usage.input_tokens),null!=e.usage.cache_creation_input_tokens&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),null!=e.usage.cache_read_input_tokens&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),null!=e.usage.server_tool_use&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case"content_block_start":return t.content.push(e.content_block),t;case"content_block_delta":{let n=t.content.at(e.index);switch(e.delta.type){case"text_delta":n?.type==="text"&&(n.text+=e.delta.text);break;case"citations_delta":n?.type==="text"&&(n.citations??(n.citations=[]),n.citations.push(e.delta.citation));break;case"input_json_delta":if(n&&tR(n)){let t=n[tx]||"";if(Object.defineProperty(n,tx,{value:t+=e.delta.partial_json,enumerable:!1,writable:!0}),t)try{n.input=tk(t)}catch(n){let e=new ei(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${n}. JSON: ${t}`);en(this,x,"f").call(this,e)}}break;case"thinking_delta":n?.type==="thinking"&&(n.thinking+=e.delta.thinking);break;case"signature_delta":n?.type==="thinking"&&(n.signature=e.delta.signature);break;default:e.delta}return t}}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("streamEvent",n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on("end",()=>{for(let e of(n=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eV(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}let tM={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192},tE={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025"};class tj extends tc{constructor(){super(...arguments),this.batches=new tb(this._client)}create(e,t){let{betas:n,...r}=e;r.model in tE&&console.warn(`The model '${r.model}' is deprecated and will reach end-of-life on ${tE[r.model]} -Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let a=this._client._options.timeout;if(!r.stream&&null==a){let e=tM[r.model]??void 0;a=this._client.calculateNonstreamingTimeout(r.max_tokens,e)}return this._client.post("/v1/messages?beta=true",{body:r,timeout:a??6e5,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}stream(e,t){return tC.createMessage(this,e,t)}countTokens(e,t){let{betas:n,...r}=e;return this._client.post("/v1/messages/count_tokens?beta=true",{body:r,...t,headers:th([{"anthropic-beta":[...n??[],"token-counting-2024-11-01"].toString()},t?.headers])})}}tj.Batches=tb;class tO extends tc{constructor(){super(...arguments),this.models=new tm(this._client),this.messages=new tj(this._client),this.files=new tg(this._client)}}tO.Models=tm,tO.Messages=tj,tO.Files=tg;class tP extends tc{create(e,t){let{betas:n,...r}=e;return this._client.post("/v1/complete",{body:r,timeout:this._client._options.timeout??6e5,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}}let tA="__json_buf";function tI(e){return"tool_use"===e.type||"server_tool_use"===e.type}class tz{constructor(){j.add(this),this.messages=[],this.receivedMessages=[],O.set(this,void 0),this.controller=new AbortController,P.set(this,void 0),A.set(this,()=>{}),I.set(this,()=>{}),z.set(this,void 0),L.set(this,()=>{}),T.set(this,()=>{}),Z.set(this,{}),N.set(this,!1),F.set(this,!1),q.set(this,!1),B.set(this,!1),$.set(this,void 0),D.set(this,void 0),W.set(this,e=>{if(et(this,F,!0,"f"),ea(e)&&(e=new el),e instanceof el)return et(this,q,!0,"f"),this._emit("abort",e);if(e instanceof ei)return this._emit("error",e);if(e instanceof Error){let t=new ei(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new ei(String(e)))}),et(this,P,new Promise((e,t)=>{et(this,A,e,"f"),et(this,I,t,"f")}),"f"),et(this,z,new Promise((e,t)=>{et(this,L,e,"f"),et(this,T,t,"f")}),"f"),en(this,P,"f").catch(()=>{}),en(this,z,"f").catch(()=>{})}get response(){return en(this,$,"f")}get request_id(){return en(this,D,"f")}async withResponse(){let e=await en(this,P,"f");if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new tz;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,n){let r=new tz;for(let e of t.messages)r._addMessageParam(e);return r._run(()=>r._createMessage(e,{...t,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},en(this,W,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),en(this,j,"m",V).call(this);let{response:a,data:s}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();for await(let e of(this._connected(a),s))en(this,j,"m",X).call(this,e);if(s.controller.signal?.aborted)throw new el;en(this,j,"m",J).call(this)}_connected(e){this.ended||(et(this,$,e,"f"),et(this,D,e?.headers.get("request-id"),"f"),en(this,A,"f").call(this,e),this._emit("connect"))}get ended(){return en(this,N,"f")}get errored(){return en(this,F,"f")}get aborted(){return en(this,q,"f")}abort(){this.controller.abort()}on(e,t){return(en(this,Z,"f")[e]||(en(this,Z,"f")[e]=[])).push({listener:t}),this}off(e,t){let n=en(this,Z,"f")[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(en(this,Z,"f")[e]||(en(this,Z,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{et(this,B,!0,"f"),"error"!==e&&this.once("error",n),this.once(e,t)})}async done(){et(this,B,!0,"f"),await en(this,z,"f")}get currentMessage(){return en(this,O,"f")}async finalMessage(){return await this.done(),en(this,j,"m",H).call(this)}async finalText(){return await this.done(),en(this,j,"m",U).call(this)}_emit(e,...t){if(en(this,N,"f"))return;"end"===e&&(et(this,N,!0,"f"),en(this,L,"f").call(this));let n=en(this,Z,"f")[e];if(n&&(en(this,Z,"f")[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];en(this,B,"f")||n?.length||Promise.reject(e),en(this,I,"f").call(this,e),en(this,T,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];en(this,B,"f")||n?.length||Promise.reject(e),en(this,I,"f").call(this,e),en(this,T,"f").call(this,e),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",en(this,j,"m",H).call(this))}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),en(this,j,"m",V).call(this),this._connected(null);let r=eV.fromReadableStream(e,this.controller);for await(let e of r)en(this,j,"m",X).call(this,e);if(r.controller.signal?.aborted)throw new el;en(this,j,"m",J).call(this)}[(O=new WeakMap,P=new WeakMap,A=new WeakMap,I=new WeakMap,z=new WeakMap,L=new WeakMap,T=new WeakMap,Z=new WeakMap,N=new WeakMap,F=new WeakMap,q=new WeakMap,B=new WeakMap,$=new WeakMap,D=new WeakMap,W=new WeakMap,j=new WeakSet,H=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},U=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");let e=this.receivedMessages.at(-1).content.filter(e=>"text"===e.type).map(e=>e.text);if(0===e.length)throw new ei("stream ended without producing a content block with type=text");return e.join(" ")},V=function(){this.ended||et(this,O,void 0,"f")},X=function(e){if(this.ended)return;let t=en(this,j,"m",G).call(this,e);switch(this._emit("streamEvent",e,t),e.type){case"content_block_delta":{let n=t.content.at(-1);switch(e.delta.type){case"text_delta":"text"===n.type&&this._emit("text",e.delta.text,n.text||"");break;case"citations_delta":"text"===n.type&&this._emit("citation",e.delta.citation,n.citations??[]);break;case"input_json_delta":tI(n)&&n.input&&this._emit("inputJson",e.delta.partial_json,n.input);break;case"thinking_delta":"thinking"===n.type&&this._emit("thinking",e.delta.thinking,n.thinking);break;case"signature_delta":"thinking"===n.type&&this._emit("signature",n.signature);break;default:e.delta}break}case"message_stop":this._addMessageParam(t),this._addMessage(t,!0);break;case"content_block_stop":this._emit("contentBlock",t.content.at(-1));break;case"message_start":et(this,O,t,"f")}},J=function(){if(this.ended)throw new ei("stream has ended, this shouldn't happen");let e=en(this,O,"f");if(!e)throw new ei("request ended without sending any chunks");return et(this,O,void 0,"f"),e},G=function(e){let t=en(this,O,"f");if("message_start"===e.type){if(t)throw new ei(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new ei(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case"message_stop":case"content_block_stop":return t;case"message_delta":return t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,null!=e.usage.input_tokens&&(t.usage.input_tokens=e.usage.input_tokens),null!=e.usage.cache_creation_input_tokens&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),null!=e.usage.cache_read_input_tokens&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),null!=e.usage.server_tool_use&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case"content_block_start":return t.content.push(e.content_block),t;case"content_block_delta":{let n=t.content.at(e.index);switch(e.delta.type){case"text_delta":n?.type==="text"&&(n.text+=e.delta.text);break;case"citations_delta":n?.type==="text"&&(n.citations??(n.citations=[]),n.citations.push(e.delta.citation));break;case"input_json_delta":if(n&&tI(n)){let t=n[tA]||"";Object.defineProperty(n,tA,{value:t+=e.delta.partial_json,enumerable:!1,writable:!0}),t&&(n.input=tk(t))}break;case"thinking_delta":n?.type==="thinking"&&(n.thinking+=e.delta.thinking);break;case"signature_delta":n?.type==="thinking"&&(n.signature=e.delta.signature);break;default:e.delta}return t}}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("streamEvent",n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on("end",()=>{for(let e of(n=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eV(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}class tL extends tc{create(e,t){return this._client.post("/v1/messages/batches",{body:e,...t})}retrieve(e,t){return this._client.get(tp`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/v1/messages/batches",e2,{query:e,...t})}delete(e,t){return this._client.delete(tp`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(tp`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){let n=await this.retrieve(e);if(!n.results_url)throw new ei(`No batch \`results_url\`; Has it finished processing? ${n.processing_status} - ${n.id}`);return this._client.get(n.results_url,{...t,headers:th([{Accept:"application/binary"},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>tv.fromResponse(t.response,t.controller))}}class tT extends tc{constructor(){super(...arguments),this.batches=new tL(this._client)}create(e,t){e.model in tZ&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${tZ[e.model]} -Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let n=this._client._options.timeout;if(!e.stream&&null==n){let t=tM[e.model]??void 0;n=this._client.calculateNonstreamingTimeout(e.max_tokens,t)}return this._client.post("/v1/messages",{body:e,timeout:n??6e5,...t,stream:e.stream??!1})}stream(e,t){return tz.createMessage(this,e,t)}countTokens(e,t){return this._client.post("/v1/messages/count_tokens",{body:e,...t})}}let tZ={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025"};tT.Batches=tL;class tN extends tc{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/models/${e}`,{...n,headers:th([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/models",e2,{query:r,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers])})}}let tF=e=>void 0!==globalThis.process?globalThis.process.env?.[e]?.trim()??void 0:void 0!==globalThis.Deno?globalThis.Deno.env?.get?.(e)?.trim():void 0;class tq{constructor({baseURL:e=tF("ANTHROPIC_BASE_URL"),apiKey:t=tF("ANTHROPIC_API_KEY")??null,authToken:n=tF("ANTHROPIC_AUTH_TOKEN")??null,...r}={}){K.set(this,void 0);let a={apiKey:t,authToken:n,...r,baseURL:e||"https://api.anthropic.com"};if(!a.dangerouslyAllowBrowser&&ez())throw new ei("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew Anthropic({ apiKey, dangerouslyAllowBrowser: true });\n");this.baseURL=a.baseURL,this.timeout=a.timeout??tB.DEFAULT_TIMEOUT,this.logger=a.logger??console;let s="warn";this.logLevel=s,this.logLevel=eC(a.logLevel,"ClientOptions.logLevel",this)??eC(tF("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??s,this.fetchOptions=a.fetchOptions,this.maxRetries=a.maxRetries??2,this.fetch=a.fetch??function(){if("undefined"!=typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}(),et(this,K,eD,"f"),this._options=a,this.apiKey=t,this.authToken=n}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(this.apiKey&&e.get("x-api-key")||t.has("x-api-key")||this.authToken&&e.get("authorization")||t.has("authorization")))throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}authHeaders(e){return th([this.apiKeyAuth(e),this.bearerAuth(e)])}apiKeyAuth(e){if(null!=this.apiKey)return th([{"X-Api-Key":this.apiKey}])}bearerAuth(e){if(null!=this.authToken)return th([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(e){return Object.entries(e).filter(([e,t])=>void 0!==t).map(([e,t])=>{if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(null===t)return`${encodeURIComponent(e)}=`;throw new ei(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${eI}`}defaultIdempotencyKey(){return`stainless-node-retry-${er()}`}makeStatusError(e,t,n,r){return eo.generate(e,t,n,r)}buildURL(e,t){let n=new URL(ew(e)?e:this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),r=this.defaultQuery();return!function(e){if(!e)return!0;for(let t in e)return!1;return!0}(r)&&(t={...r,...t}),"object"==typeof t&&t&&!Array.isArray(t)&&(n.search=this.stringifyQuery(t)),n.toString()}_calculateNonstreamingTimeout(e){if(3600*e/128e3>600)throw new ei("Streaming is strongly recommended for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 6e5}async prepareOptions(e){}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new eQ(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){let r=await e,a=r.maxRetries??this.maxRetries;null==t&&(t=a),await this.prepareOptions(r);let{req:s,url:i,timeout:o}=this.buildRequest(r,{retryCount:a-t});await this.prepareRequest(s,{url:i,options:r});let l="log_"+(16777216*Math.random()|0).toString(16).padStart(6,"0"),c=void 0===n?"":`, retryOf: ${n}`,u=Date.now();if(eP(this).debug(`[${l}] sending request`,eA({retryOfRequestLogID:n,method:r.method,url:i,options:r,headers:s.headers})),r.signal?.aborted)throw new el;let d=new AbortController,h=await this.fetchWithTimeout(i,s,o,d).catch(es),f=Date.now();if(h instanceof Error){let e=`retrying, ${t} attempts remaining`;if(r.signal?.aborted)throw new el;let a=ea(h)||/timed? ?out/i.test(String(h)+("cause"in h?String(h.cause):""));if(t)return eP(this).info(`[${l}] connection ${a?"timed out":"failed"} - ${e}`),eP(this).debug(`[${l}] connection ${a?"timed out":"failed"} (${e})`,eA({retryOfRequestLogID:n,url:i,durationMs:f-u,message:h.message})),this.retryRequest(r,t,n??l);if(eP(this).info(`[${l}] connection ${a?"timed out":"failed"} - error; no more retries left`),eP(this).debug(`[${l}] connection ${a?"timed out":"failed"} (error; no more retries left)`,eA({retryOfRequestLogID:n,url:i,durationMs:f-u,message:h.message})),a)throw new eu;throw new ec({cause:h})}let p=[...h.headers.entries()].filter(([e])=>"request-id"===e).map(([e,t])=>", "+e+": "+JSON.stringify(t)).join(""),g=`[${l}${c}${p}] ${s.method} ${i} ${h.ok?"succeeded":"failed"} with status ${h.status} in ${f-u}ms`;if(!h.ok){let e=this.shouldRetry(h);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await e$(h.body),eP(this).info(`${g} - ${e}`),eP(this).debug(`[${l}] response error (${e})`,eA({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,durationMs:f-u})),this.retryRequest(r,t,n??l,h.headers)}let a=e?"error; no more retries left":"error; not retryable";eP(this).info(`${g} - ${a}`);let s=await h.text().catch(e=>es(e).message),i=ek(s),o=i?void 0:s;throw eP(this).debug(`[${l}] response error (${a})`,eA({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,message:o,durationMs:Date.now()-u})),this.makeStatusError(h.status,i,o,h.headers)}return eP(this).info(g),eP(this).debug(`[${l}] response start`,eA({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,durationMs:f-u})),{response:h,options:r,controller:d,requestLogID:l,retryOfRequestLogID:n,startTime:u}}getAPIList(e,t,n){return this.requestAPIList(t,{method:"get",path:e,...n})}requestAPIList(e,t){return new e1(this,this.makeRequest(t,null,void 0),e)}async fetchWithTimeout(e,t,n,r){let{signal:a,method:s,...i}=t||{};a&&a.addEventListener("abort",()=>r.abort());let o=setTimeout(()=>r.abort(),n),l=globalThis.ReadableStream&&i.body instanceof globalThis.ReadableStream||"object"==typeof i.body&&null!==i.body&&Symbol.asyncIterator in i.body,c={signal:r.signal,...l?{duplex:"half"}:{},method:"GET",...i};s&&(c.method=s.toUpperCase());try{return await this.fetch.call(void 0,e,c)}finally{clearTimeout(o)}}shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||e.status>=500)}async retryRequest(e,t,n,r){let a;let s=r?.get("retry-after-ms");if(s){let e=parseFloat(s);Number.isNaN(e)||(a=e)}let i=r?.get("retry-after");if(i&&!a){let e=parseFloat(i);a=Number.isNaN(e)?Date.parse(i)-Date.now():1e3*e}if(!(a&&0<=a&&a<6e4)){let n=e.maxRetries??this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(t,n)}return await ex(a),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}calculateNonstreamingTimeout(e,t){if(36e5*e/128e3>6e5||null!=t&&e>t)throw new ei("Streaming is strongly recommended for operations that may token longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 6e5}buildRequest(e,{retryCount:t=0}={}){let n={...e},{method:r,path:a,query:s}=n,i=this.buildURL(a,s);"timeout"in n&&eS("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:o,body:l}=this.buildBody({options:n}),c=this.buildHeaders({options:e,method:r,bodyHeaders:o,retryCount:t});return{req:{method:r,headers:c,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:"half"},...l&&{body:l},...this.fetchOptions??{},...n.fetchOptions??{}},url:i,timeout:n.timeout}}buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let a={};this.idempotencyHeader&&"get"!==t&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),a[this.idempotencyHeader]=e.idempotencyKey);let s=th([a,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...eN(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(s),s.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=th([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||"string"==typeof e&&n.values.has("content-type")||e instanceof Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:"object"==typeof e&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&"function"==typeof e.next)?{bodyHeaders:void 0,body:eq(e)}:en(this,K,"f").call(this,{body:e,headers:n})}}K=new WeakMap,tq.Anthropic=tq,tq.HUMAN_PROMPT="\n\nHuman:",tq.AI_PROMPT="\n\nAssistant:",tq.DEFAULT_TIMEOUT=6e5,tq.AnthropicError=ei,tq.APIError=eo,tq.APIConnectionError=ec,tq.APIConnectionTimeoutError=eu,tq.APIUserAbortError=el,tq.NotFoundError=ep,tq.ConflictError=eg,tq.RateLimitError=ev,tq.BadRequestError=ed,tq.AuthenticationError=eh,tq.InternalServerError=eb,tq.PermissionDeniedError=ef,tq.UnprocessableEntityError=em,tq.toFile=to;class tB extends tq{constructor(){super(...arguments),this.completions=new tP(this),this.messages=new tT(this),this.models=new tN(this),this.beta=new tO(this)}}tB.Completions=tP,tB.Messages=tT,tB.Models=tN,tB.Beta=tO;let{HUMAN_PROMPT:t$,AI_PROMPT:tD}=tB},93837:function(e,t,n){"use strict";let r;n.d(t,{Z:function(){return o}});var a={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let s=new Uint8Array(16),i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));var o=function(e,t,n){if(a.randomUUID&&!t&&!e)return a.randomUUID();let o=(e=e||{}).random??e.rng?.()??function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(s)}();if(o.length<16)throw Error("Random bytes length must be >= 16");if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t){if((n=n||0)<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=o[e];return t}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(o)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/302-a78d84f204cc1081.js b/litellm/proxy/_experimental/out/_next/static/chunks/302-a78d84f204cc1081.js new file mode 100644 index 0000000000..30b5624a75 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/302-a78d84f204cc1081.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[302,1623],{58747:function(e,t,r){r.d(t,{Z:function(){return i}});var n=r(5853),a=r(2265);let i=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"}))}},4537:function(e,t,r){r.d(t,{Z:function(){return i}});var n=r(5853),a=r(2265);let i=e=>{var t=(0,n._T)(e,[]);return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),a.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z"}))}},47323:function(e,t,r){r.d(t,{Z:function(){return p}});var n=r(5853),a=r(2265),i=r(47187),s=r(7084),o=r(13241),l=r(1153),u=r(26898);let d={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},c={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},h={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},m=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,o.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,o.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,o.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,o.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,l.bM)(t,u.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,o.q)((0,l.bM)(t,u.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},f=(0,l.fn)("Icon"),p=a.forwardRef((e,t)=>{let{icon:r,variant:u="simple",tooltip:p,size:b=s.u8.SM,color:g,className:v}=e,y=(0,n._T)(e,["icon","variant","tooltip","size","color","className"]),w=m(u,g),{tooltipProps:C,getReferenceProps:x}=(0,i.l)();return a.createElement("span",Object.assign({ref:(0,l.lq)([t,C.refs.setReference]),className:(0,o.q)(f("root"),"inline-flex shrink-0 items-center justify-center",w.bgColor,w.textColor,w.borderColor,w.ringColor,h[u].rounded,h[u].border,h[u].shadow,h[u].ring,d[b].paddingX,d[b].paddingY,v)},x,y),a.createElement(i.Z,Object.assign({text:p},C)),a.createElement(r,{className:(0,o.q)(f("icon"),"shrink-0",c[b].height,c[b].width)}))});p.displayName="Icon"},27281:function(e,t,r){r.d(t,{Z:function(){return f}});var n=r(5853),a=r(58747),i=r(2265),s=r(4537),o=r(13241),l=r(1153),u=r(96398),d=r(51975),c=r(85238),h=r(44140);let m=(0,l.fn)("Select"),f=i.forwardRef((e,t)=>{let{defaultValue:r="",value:l,onValueChange:f,placeholder:p="Select...",disabled:b=!1,icon:g,enableClear:v=!1,required:y,children:w,name:C,error:x=!1,errorMessage:k,className:E,id:q}=e,M=(0,n._T)(e,["defaultValue","value","onValueChange","placeholder","disabled","icon","enableClear","required","children","name","error","errorMessage","className","id"]),O=(0,i.useRef)(null),N=i.Children.toArray(w),[P,T]=(0,h.Z)(r,l),D=(0,i.useMemo)(()=>{let e=i.Children.toArray(w).filter(i.isValidElement);return(0,u.sl)(e)},[w]);return i.createElement("div",{className:(0,o.q)("w-full min-w-[10rem] text-tremor-default",E)},i.createElement("div",{className:"relative"},i.createElement("select",{title:"select-hidden",required:y,className:(0,o.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:P,onChange:e=>{e.preventDefault()},name:C,disabled:b,id:q,onFocus:()=>{let e=O.current;e&&e.focus()}},i.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},p),N.map(e=>{let t=e.props.value,r=e.props.children;return i.createElement("option",{className:"hidden",key:t,value:t},r)})),i.createElement(d.Ri,Object.assign({as:"div",ref:t,defaultValue:P,value:P,onChange:e=>{null==f||f(e),T(e)},disabled:b,id:q},M),e=>{var t;let{value:r}=e;return i.createElement(i.Fragment,null,i.createElement(d.Y4,{ref:O,className:(0,o.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-2","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",g?"pl-10":"pl-3",(0,u.um)((0,u.Uh)(r),b,x))},g&&i.createElement("span",{className:(0,o.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},i.createElement(g,{className:(0,o.q)(m("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),i.createElement("span",{className:"w-[90%] block truncate"},r&&null!==(t=D.get(r))&&void 0!==t?t:p),i.createElement("span",{className:(0,o.q)("absolute inset-y-0 right-0 flex items-center mr-3")},i.createElement(a.Z,{className:(0,o.q)(m("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),v&&P?i.createElement("button",{type:"button",className:(0,o.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),T(""),null==f||f("")}},i.createElement(s.Z,{className:(0,o.q)(m("clearIcon"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,i.createElement(c.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},i.createElement(d.O_,{anchor:"bottom start",className:(0,o.q)("z-10 w-[var(--button-width)] divide-y overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},w)))})),x&&k?i.createElement("p",{className:(0,o.q)("errorMessage","text-sm text-rose-500 mt-1")},k):null)});f.displayName="Select"},94789:function(e,t,r){r.d(t,{Z:function(){return u}});var n=r(5853),a=r(2265),i=r(26898),s=r(13241),o=r(1153);let l=(0,o.fn)("Callout"),u=a.forwardRef((e,t)=>{let{title:r,icon:u,color:d,className:c,children:h}=e,m=(0,n._T)(e,["title","icon","color","className","children"]);return a.createElement("div",Object.assign({ref:t,className:(0,s.q)(l("root"),"flex flex-col overflow-hidden rounded-tremor-default text-tremor-default border-l-4 py-3 pr-3 pl-4",d?(0,s.q)((0,o.bM)(d,i.K.background).bgColor,(0,o.bM)(d,i.K.darkBorder).borderColor,(0,o.bM)(d,i.K.darkText).textColor,"dark:bg-opacity-10 bg-opacity-10"):(0,s.q)("bg-tremor-brand-faint border-tremor-brand-emphasis text-tremor-brand-emphasis","dark:bg-dark-tremor-brand-muted/70 dark:border-dark-tremor-brand-emphasis dark:text-dark-tremor-brand-emphasis"),c)},m),a.createElement("div",{className:(0,s.q)(l("header"),"flex items-start")},u?a.createElement(u,{className:(0,s.q)(l("icon"),"flex-none h-5 w-5 mr-1.5")}):null,a.createElement("h4",{className:(0,s.q)(l("title"),"font-semibold")},r)),a.createElement("p",{className:(0,s.q)(l("body"),"overflow-y-auto",h?"mt-2":"")},h))});u.displayName="Callout"},44140:function(e,t,r){r.d(t,{Z:function(){return a}});var n=r(2265);let a=(e,t)=>{let r=void 0!==t,[a,i]=(0,n.useState)(e);return[r?t:a,e=>{r||i(e)}]}},44633:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=a},2356:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"}))});t.Z=a},49084:function(e,t,r){var n=r(2265);let a=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});t.Z=a},2894:function(e,t,r){r.d(t,{R:function(){return o},m:function(){return s}});var n=r(18238),a=r(7989),i=r(11255),s=class extends a.F{#e;#t;#r;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||o(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#a({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=(0,i.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let n="pending"===this.state.status,a=!this.#n.canStart();try{if(n)t();else{this.#a({type:"pending",variables:e,isPaused:a}),await this.#r.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#a({type:"pending",context:t,variables:e,isPaused:a})}let i=await this.#n.start();return await this.#r.config.onSuccess?.(i,e,this.state.context,this,r),await this.options.onSuccess?.(i,e,this.state.context,r),await this.#r.config.onSettled?.(i,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(i,null,e,this.state.context,r),this.#a({type:"success",data:i}),i}catch(t){try{throw await this.#r.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#a({type:"error",error:t})}}finally{this.#r.runNext(this)}}#a(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21623:function(e,t,r){r.d(t,{S:function(){return p}});var n=r(45345),a=r(21733),i=r(18238),s=r(24112),o=class extends s.l{constructor(e={}){super(),this.config=e,this.#i=new Map}#i;build(e,t,r){let i=t.queryKey,s=t.queryHash??(0,n.Rm)(i,t),o=this.get(s);return o||(o=new a.A({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){this.#i.has(e.queryHash)||(this.#i.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#i.get(e.queryHash);t&&(e.destroy(),t===e&&this.#i.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){i.Vr.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#i.get(e)}getAll(){return[...this.#i.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n._x)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n._x)(e,t)):t}notify(e){i.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){i.Vr.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){i.Vr.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=r(2894),u=class extends s.l{constructor(e={}){super(),this.config=e,this.#s=new Set,this.#o=new Map,this.#l=0}#s;#o;#l;build(e,t,r){let n=new l.m({client:e,mutationCache:this,mutationId:++this.#l,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#s.add(e);let t=d(e);if("string"==typeof t){let r=this.#o.get(t);r?r.push(e):this.#o.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#s.delete(e)){let t=d(e);if("string"==typeof t){let r=this.#o.get(t);if(r){if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#o.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=d(e);if("string"!=typeof t)return!0;{let r=this.#o.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=d(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#o.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){i.Vr.batch(()=>{this.#s.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#s.clear(),this.#o.clear()})}getAll(){return Array.from(this.#s)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.X7)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.X7)(e,t))}notify(e){i.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return i.Vr.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.ZT))))}};function d(e){return e.options.scope?.id}var c=r(87045),h=r(57853);function m(e){return{onFetch:(t,r)=>{let a=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],o=t.state.data?.pageParams||[],l={pages:[],pageParams:[]},u=0,d=async()=>{let r=!1,d=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)})},c=(0,n.cG)(t.options,t.fetchOptions),h=async(e,a,i)=>{if(r)return Promise.reject();if(null==a&&e.pages.length)return Promise.resolve(e);let s=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:a,direction:i?"backward":"forward",meta:t.options.meta};return d(e),e})(),o=await c(s),{maxPages:l}=t.options,u=i?n.Ht:n.VX;return{pages:u(e.pages,o,l),pageParams:u(e.pageParams,a,l)}};if(i&&s.length){let e="backward"===i,t={pages:s,pageParams:o},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:f)(a,t);l=await h(t,r,e)}else{let t=e??s.length;do{let e=0===u?o[0]??a.initialPageParam:f(a,l);if(u>0&&null==e)break;l=await h(l,e),u++}while(ut.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=d}}}function f(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var p=class{#u;#r;#d;#c;#h;#m;#f;#p;constructor(e={}){this.#u=e.queryCache||new o,this.#r=e.mutationCache||new u,this.#d=e.defaultOptions||{},this.#c=new Map,this.#h=new Map,this.#m=0}mount(){this.#m++,1===this.#m&&(this.#f=c.j.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#u.onFocus())}),this.#p=h.N.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#u.onOnline())}))}unmount(){this.#m--,0===this.#m&&(this.#f?.(),this.#f=void 0,this.#p?.(),this.#p=void 0)}isFetching(e){return this.#u.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#r.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#u.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#u.build(this,t),a=r.state.data;return void 0===a?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.KC)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(a))}getQueriesData(e){return this.#u.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let a=this.defaultQueryOptions({queryKey:e}),i=this.#u.get(a.queryHash),s=i?.state.data,o=(0,n.SE)(t,s);if(void 0!==o)return this.#u.build(this,a).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return i.Vr.batch(()=>this.#u.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#u.get(t.queryHash)?.state}removeQueries(e){let t=this.#u;i.Vr.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#u;return i.Vr.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(i.Vr.batch(()=>this.#u.findAll(e).map(e=>e.cancel(r)))).then(n.ZT).catch(n.ZT)}invalidateQueries(e,t={}){return i.Vr.batch(()=>(this.#u.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(i.Vr.batch(()=>this.#u.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.ZT)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.ZT)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#u.build(this,t);return r.isStaleByTime((0,n.KC)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.ZT).catch(n.ZT)}fetchInfiniteQuery(e){return e.behavior=m(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.ZT).catch(n.ZT)}ensureInfiniteQueryData(e){return e.behavior=m(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return h.N.isOnline()?this.#r.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#u}getMutationCache(){return this.#r}getDefaultOptions(){return this.#d}setDefaultOptions(e){this.#d=e}setQueryDefaults(e,t){this.#c.set((0,n.Ym)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#c.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#h.set((0,n.Ym)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#h.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#d.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.Rm)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.CN&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#d.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#u.clear(),this.#r.clear()}}},85238:function(e,t,r){let n;r.d(t,{u:function(){return N}});var a=r(2265),i=r(59456),s=r(93980),o=r(25289),l=r(73389),u=r(43507),d=r(180),c=r(67561),h=r(98218),m=r(28294),f=r(95504),p=r(72468),b=r(38929);function g(e){var t;return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||(null!=(t=e.as)?t:k)!==a.Fragment||1===a.Children.count(e.children)}let v=(0,a.createContext)(null);v.displayName="TransitionContext";var y=((n=y||{}).Visible="visible",n.Hidden="hidden",n);let w=(0,a.createContext)(null);function C(e){return"children"in e?C(e.children):e.current.filter(e=>{let{el:t}=e;return null!==t.current}).filter(e=>{let{state:t}=e;return"visible"===t}).length>0}function x(e,t){let r=(0,u.E)(e),n=(0,a.useRef)([]),l=(0,o.t)(),d=(0,i.G)(),c=(0,s.z)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b.l4.Hidden,a=n.current.findIndex(t=>{let{el:r}=t;return r===e});-1!==a&&((0,p.E)(t,{[b.l4.Unmount](){n.current.splice(a,1)},[b.l4.Hidden](){n.current[a].state="hidden"}}),d.microTask(()=>{var e;!C(n)&&l.current&&(null==(e=r.current)||e.call(r))}))}),h=(0,s.z)(e=>{let t=n.current.find(t=>{let{el:r}=t;return r===e});return t?"visible"!==t.state&&(t.state="visible"):n.current.push({el:e,state:"visible"}),()=>c(e,b.l4.Unmount)}),m=(0,a.useRef)([]),f=(0,a.useRef)(Promise.resolve()),g=(0,a.useRef)({enter:[],leave:[]}),v=(0,s.z)((e,r,n)=>{m.current.splice(0),t&&(t.chains.current[r]=t.chains.current[r].filter(t=>{let[r]=t;return r!==e})),null==t||t.chains.current[r].push([e,new Promise(e=>{m.current.push(e)})]),null==t||t.chains.current[r].push([e,new Promise(e=>{Promise.all(g.current[r].map(e=>{let[t,r]=e;return r})).then(()=>e())})]),"enter"===r?f.current=f.current.then(()=>null==t?void 0:t.wait.current).then(()=>n(r)):n(r)}),y=(0,s.z)((e,t,r)=>{Promise.all(g.current[t].splice(0).map(e=>{let[t,r]=e;return r})).then(()=>{var e;null==(e=m.current.shift())||e()}).then(()=>r(t))});return(0,a.useMemo)(()=>({children:n,register:h,unregister:c,onStart:v,onStop:y,wait:f,chains:g}),[h,c,n,v,y,g,f])}w.displayName="NestingContext";let k=a.Fragment,E=b.VN.RenderStrategy,q=(0,b.yV)(function(e,t){let{show:r,appear:n=!1,unmount:i=!0,...o}=e,u=(0,a.useRef)(null),h=g(e),f=(0,c.T)(...h?[u,t]:null===t?[]:[t]);(0,d.H)();let p=(0,m.oJ)();if(void 0===r&&null!==p&&(r=(p&m.ZM.Open)===m.ZM.Open),void 0===r)throw Error("A is used but it is missing a `show={true | false}` prop.");let[y,k]=(0,a.useState)(r?"visible":"hidden"),q=x(()=>{r||k("hidden")}),[O,N]=(0,a.useState)(!0),P=(0,a.useRef)([r]);(0,l.e)(()=>{!1!==O&&P.current[P.current.length-1]!==r&&(P.current.push(r),N(!1))},[P,r]);let T=(0,a.useMemo)(()=>({show:r,appear:n,initial:O}),[r,n,O]);(0,l.e)(()=>{r?k("visible"):C(q)||null===u.current||k("hidden")},[r,q]);let D={unmount:i},Q=(0,s.z)(()=>{var t;O&&N(!1),null==(t=e.beforeEnter)||t.call(e)}),R=(0,s.z)(()=>{var t;O&&N(!1),null==(t=e.beforeLeave)||t.call(e)}),L=(0,b.L6)();return a.createElement(w.Provider,{value:q},a.createElement(v.Provider,{value:T},L({ourProps:{...D,as:a.Fragment,children:a.createElement(M,{ref:f,...D,...o,beforeEnter:Q,beforeLeave:R})},theirProps:{},defaultTag:a.Fragment,features:E,visible:"visible"===y,name:"Transition"})))}),M=(0,b.yV)(function(e,t){var r,n;let{transition:i=!0,beforeEnter:o,afterEnter:u,beforeLeave:y,afterLeave:q,enter:M,enterFrom:O,enterTo:N,entered:P,leave:T,leaveFrom:D,leaveTo:Q,...R}=e,[L,A]=(0,a.useState)(null),S=(0,a.useRef)(null),F=g(e),Z=(0,c.T)(...F?[S,t,A]:null===t?[]:[t]),K=null==(r=R.unmount)||r?b.l4.Unmount:b.l4.Hidden,{show:V,appear:j,initial:H}=function(){let e=(0,a.useContext)(v);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),[I,_]=(0,a.useState)(V?"visible":"hidden"),z=function(){let e=(0,a.useContext)(w);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),{register:Y,unregister:X}=z;(0,l.e)(()=>Y(S),[Y,S]),(0,l.e)(()=>{if(K===b.l4.Hidden&&S.current){if(V&&"visible"!==I){_("visible");return}return(0,p.E)(I,{hidden:()=>X(S),visible:()=>Y(S)})}},[I,S,Y,X,V,K]);let B=(0,d.H)();(0,l.e)(()=>{if(F&&B&&"visible"===I&&null===S.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[S,I,B,F]);let G=H&&!j,U=j&&V&&H,W=(0,a.useRef)(!1),J=x(()=>{W.current||(_("hidden"),X(S))},z),$=(0,s.z)(e=>{W.current=!0,J.onStart(S,e?"enter":"leave",e=>{"enter"===e?null==o||o():"leave"===e&&(null==y||y())})}),ee=(0,s.z)(e=>{let t=e?"enter":"leave";W.current=!1,J.onStop(S,t,e=>{"enter"===e?null==u||u():"leave"===e&&(null==q||q())}),"leave"!==t||C(J)||(_("hidden"),X(S))});(0,a.useEffect)(()=>{F&&i||($(V),ee(V))},[V,F,i]);let et=!(!i||!F||!B||G),[,er]=(0,h.Y)(et,L,V,{start:$,end:ee}),en=(0,b.oA)({ref:Z,className:(null==(n=(0,f.A)(R.className,U&&M,U&&O,er.enter&&M,er.enter&&er.closed&&O,er.enter&&!er.closed&&N,er.leave&&T,er.leave&&!er.closed&&D,er.leave&&er.closed&&Q,!er.transition&&V&&P))?void 0:n.trim())||void 0,...(0,h.X)(er)}),ea=0;"visible"===I&&(ea|=m.ZM.Open),"hidden"===I&&(ea|=m.ZM.Closed),er.enter&&(ea|=m.ZM.Opening),er.leave&&(ea|=m.ZM.Closing);let ei=(0,b.L6)();return a.createElement(w.Provider,{value:J},a.createElement(m.up,{value:ea},ei({ourProps:en,theirProps:R,defaultTag:k,features:E,visible:"visible"===I,name:"Transition.Child"})))}),O=(0,b.yV)(function(e,t){let r=null!==(0,a.useContext)(v),n=null!==(0,m.oJ)();return a.createElement(a.Fragment,null,!r&&n?a.createElement(q,{ref:t,...e}):a.createElement(M,{ref:t,...e}))}),N=Object.assign(q,{Child:O,Root:q})},59121:function(e,t,r){r.d(t,{E:function(){return i}});var n=r(99649),a=r(63497);function i(e,t){let r=(0,n.Q)(e);return isNaN(t)?(0,a.L)(e,NaN):(t&&r.setDate(r.getDate()+t),r)}},31091:function(e,t,r){r.d(t,{z:function(){return i}});var n=r(99649),a=r(63497);function i(e,t){let r=(0,n.Q)(e);if(isNaN(t))return(0,a.L)(e,NaN);if(!t)return r;let i=r.getDate(),s=(0,a.L)(e,r.getTime());return(s.setMonth(r.getMonth()+t+1,0),i>=s.getDate())?s:(r.setFullYear(s.getFullYear(),s.getMonth(),i),r)}},63497:function(e,t,r){r.d(t,{L:function(){return n}});function n(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}},99649:function(e,t,r){r.d(t,{Q:function(){return n}});function n(e){let t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):new Date("number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?e:NaN)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3163-e261e5767e016074.js b/litellm/proxy/_experimental/out/_next/static/chunks/3163-e261e5767e016074.js deleted file mode 100644 index 2c0cb1eb7e..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/3163-e261e5767e016074.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3163],{15327:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},3632:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},15883:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},67101:function(e,o,r){r.d(o,{Z:function(){return d}});var n=r(5853),t=r(13241),c=r(1153),l=r(2265),a=r(9496);let s=(0,c.fn)("Grid"),i=(e,o)=>e&&Object.keys(o).includes(String(e))?o[e]:"",d=l.forwardRef((e,o)=>{let{numItems:r=1,numItemsSm:c,numItemsMd:d,numItemsLg:u,children:g,className:m}=e,p=(0,n._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),f=i(r,a._m),h=i(c,a.LH),b=i(d,a.l5),v=i(u,a.N4),k=(0,t.q)(f,h,b,v);return l.createElement("div",Object.assign({ref:o,className:(0,t.q)(s("root"),"grid",k,m)},p),g)});d.displayName="Grid"},9496:function(e,o,r){r.d(o,{LH:function(){return t},N4:function(){return l},PT:function(){return a},SP:function(){return s},VS:function(){return i},_m:function(){return n},_w:function(){return d},l5:function(){return c}});let n={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},t={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},c={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},l={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},a={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},s={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},i={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},d={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},3810:function(e,o,r){r.d(o,{Z:function(){return N}});var n=r(2265),t=r(36760),c=r.n(t),l=r(18694),a=r(93350),s=r(53445),i=r(19722),d=r(6694),u=r(71744),g=r(93463),m=r(54558),p=r(12918),f=r(71140),h=r(99320);let b=e=>{let{paddingXXS:o,lineWidth:r,tagPaddingHorizontal:n,componentCls:t,calc:c}=e,l=c(n).sub(r).equal(),a=c(o).sub(r).equal();return{[t]:Object.assign(Object.assign({},(0,p.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:l,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,g.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(t,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(t,"-close-icon")]:{marginInlineStart:a,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(t,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(t,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:l}}),["".concat(t,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},v=e=>{let{lineWidth:o,fontSizeIcon:r,calc:n}=e,t=e.fontSizeSM;return(0,f.IX)(e,{tagFontSize:t,tagLineHeight:(0,g.bf)(n(e.lineHeightSM).mul(t).equal()),tagIconSize:n(r).sub(n(o).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},k=e=>({defaultBg:new m.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var w=(0,h.I$)("Tag",e=>b(v(e)),k),C=function(e,o){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>o.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var t=0,n=Object.getOwnPropertySymbols(e);to.indexOf(n[t])&&Object.prototype.propertyIsEnumerable.call(e,n[t])&&(r[n[t]]=e[n[t]]);return r};let y=n.forwardRef((e,o)=>{let{prefixCls:r,style:t,className:l,checked:a,children:s,icon:i,onChange:d,onClick:g}=e,m=C(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:p,tag:f}=n.useContext(u.E_),h=p("tag",r),[b,v,k]=w(h),y=c()(h,"".concat(h,"-checkable"),{["".concat(h,"-checkable-checked")]:a},null==f?void 0:f.className,l,v,k);return b(n.createElement("span",Object.assign({},m,{ref:o,style:Object.assign(Object.assign({},t),null==f?void 0:f.style),className:y,onClick:e=>{null==d||d(!a),null==g||g(e)}}),i,n.createElement("span",null,s)))});var x=r(18536);let E=e=>(0,x.Z)(e,(o,r)=>{let{textColor:n,lightBorderColor:t,lightColor:c,darkColor:l}=r;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:n,background:c,borderColor:t,"&-inverse":{color:e.colorTextLightSolid,background:l,borderColor:l},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var O=(0,h.bk)(["Tag","preset"],e=>E(v(e)),k);let S=(e,o,r)=>{let n="string"!=typeof r?r:r.charAt(0).toUpperCase()+r.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:e["color".concat(r)],background:e["color".concat(n,"Bg")],borderColor:e["color".concat(n,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var j=(0,h.bk)(["Tag","status"],e=>{let o=v(e);return[S(o,"success","Success"),S(o,"processing","Info"),S(o,"error","Error"),S(o,"warning","Warning")]},k),L=function(e,o){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>o.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var t=0,n=Object.getOwnPropertySymbols(e);to.indexOf(n[t])&&Object.prototype.propertyIsEnumerable.call(e,n[t])&&(r[n[t]]=e[n[t]]);return r};let Z=n.forwardRef((e,o)=>{let{prefixCls:r,className:t,rootClassName:g,style:m,children:p,icon:f,color:h,onClose:b,bordered:v=!0,visible:k}=e,C=L(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:y,direction:x,tag:E}=n.useContext(u.E_),[S,Z]=n.useState(!0),N=(0,l.Z)(C,["closeIcon","closable"]);n.useEffect(()=>{void 0!==k&&Z(k)},[k]);let B=(0,a.o2)(h),I=(0,a.yT)(h),M=B||I,R=Object.assign(Object.assign({backgroundColor:h&&!M?h:void 0},null==E?void 0:E.style),m),z=y("tag",r),[P,T,H]=w(z),W=c()(z,null==E?void 0:E.className,{["".concat(z,"-").concat(h)]:M,["".concat(z,"-has-color")]:h&&!M,["".concat(z,"-hidden")]:!S,["".concat(z,"-rtl")]:"rtl"===x,["".concat(z,"-borderless")]:!v},t,g,T,H),_=e=>{e.stopPropagation(),null==b||b(e),e.defaultPrevented||Z(!1)},[,A]=(0,s.b)((0,s.w)(e),(0,s.w)(E),{closable:!1,closeIconRender:e=>{let o=n.createElement("span",{className:"".concat(z,"-close-icon"),onClick:_},e);return(0,i.wm)(e,o,e=>({onClick:o=>{var r;null===(r=null==e?void 0:e.onClick)||void 0===r||r.call(e,o),_(o)},className:c()(null==e?void 0:e.className,"".concat(z,"-close-icon"))}))}}),V="function"==typeof C.onClick||p&&"a"===p.type,q=f||null,F=q?n.createElement(n.Fragment,null,q,p&&n.createElement("span",null,p)):p,U=n.createElement("span",Object.assign({},N,{ref:o,className:W,style:R}),F,A,B&&n.createElement(O,{key:"preset",prefixCls:z}),I&&n.createElement(j,{key:"status",prefixCls:z}));return P(V?n.createElement(d.Z,{component:"Tag"},U):U)});Z.CheckableTag=y;var N=Z},79205:function(e,o,r){r.d(o,{Z:function(){return u}});var n=r(2265);let t=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,o,r)=>r?r.toUpperCase():o.toLowerCase()),l=e=>{let o=c(e);return o.charAt(0).toUpperCase()+o.slice(1)},a=function(){for(var e=arguments.length,o=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===o).join(" ").trim()},s=e=>{for(let o in e)if(o.startsWith("aria-")||"role"===o||"title"===o)return!0};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let d=(0,n.forwardRef)((e,o)=>{let{color:r="currentColor",size:t=24,strokeWidth:c=2,absoluteStrokeWidth:l,className:d="",children:u,iconNode:g,...m}=e;return(0,n.createElement)("svg",{ref:o,...i,width:t,height:t,stroke:r,strokeWidth:l?24*Number(c)/Number(t):c,className:a("lucide",d),...!u&&!s(m)&&{"aria-hidden":"true"},...m},[...g.map(e=>{let[o,r]=e;return(0,n.createElement)(o,r)}),...Array.isArray(u)?u:[u]])}),u=(e,o)=>{let r=(0,n.forwardRef)((r,c)=>{let{className:s,...i}=r;return(0,n.createElement)(d,{ref:c,iconNode:o,className:a("lucide-".concat(t(l(e))),"lucide-".concat(e),s),...i})});return r.displayName=l(e),r}},30401:function(e,o,r){r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,o,r){r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},10900:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});o.Z=t},86462:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});o.Z=t},44633:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});o.Z=t},93416:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});o.Z=t},49084:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});o.Z=t}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3621-a18bc79bfe63668e.js b/litellm/proxy/_experimental/out/_next/static/chunks/3621-a18bc79bfe63668e.js deleted file mode 100644 index 55758d3dd6..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/3621-a18bc79bfe63668e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3621,5945],{45246:function(e,t,n){n.d(t,{Z:function(){return c}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"},i=n(55015),c=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},89245:function(e,t,n){n.d(t,{Z:function(){return c}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},i=n(55015),c=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},78355:function(e,t,n){n.d(t,{Z:function(){return c}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},i=n(55015),c=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},8881:function(e,t,n){n.d(t,{Z:function(){return c}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z"}}]},name:"stop",theme:"outlined"},i=n(55015),c=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},59664:function(e,t,n){n.d(t,{Z:function(){return j}});var a=n(5853),o=n(2265),r=n(47625),i=n(93765),c=n(54061),l=n(97059),s=n(62994),d=n(25311),u=(0,i.z)({chartName:"LineChart",GraphicalChild:c.x,axisComponents:[{axisType:"xAxis",AxisComp:l.K},{axisType:"yAxis",AxisComp:s.B}],formatAxisMap:d.t9}),m=n(56940),p=n(26680),f=n(8147),g=n(22190),b=n(81889),v=n(65278),h=n(98593),y=n(92666),x=n(32644),k=n(7084),O=n(26898),w=n(13241),E=n(1153);let j=o.forwardRef((e,t)=>{let{data:n=[],categories:i=[],index:d,colors:j=O.s,valueFormatter:S=E.Cj,startEndOnly:C=!1,showXAxis:L=!0,showYAxis:N=!0,yAxisWidth:z=56,intervalType:Z="equidistantPreserveStart",animationDuration:T=900,showAnimation:P=!1,showTooltip:M=!0,showLegend:A=!0,showGridLines:W=!0,autoMinValue:B=!1,curveType:R="linear",minValue:G,maxValue:H,connectNulls:I=!1,allowDecimals:K=!0,noDataText:D,className:V,onValueChange:F,enableLegendSlider:q=!1,customTooltip:_,rotateLabelX:X,padding:Y=L||N?{left:20,right:20}:{left:0,right:0},tickGap:$=5,xAxisLabel:U,yAxisLabel:J}=e,Q=(0,a._T)(e,["data","categories","index","colors","valueFormatter","startEndOnly","showXAxis","showYAxis","yAxisWidth","intervalType","animationDuration","showAnimation","showTooltip","showLegend","showGridLines","autoMinValue","curveType","minValue","maxValue","connectNulls","allowDecimals","noDataText","className","onValueChange","enableLegendSlider","customTooltip","rotateLabelX","padding","tickGap","xAxisLabel","yAxisLabel"]),[ee,et]=(0,o.useState)(60),[en,ea]=(0,o.useState)(void 0),[eo,er]=(0,o.useState)(void 0),ei=(0,x.me)(i,j),ec=(0,x.i4)(B,G,H),el=!!F;function es(e){el&&(e===eo&&!en||(0,x.FB)(n,e)&&en&&en.dataKey===e?(er(void 0),null==F||F(null)):(er(e),null==F||F({eventType:"category",categoryClicked:e})),ea(void 0))}return o.createElement("div",Object.assign({ref:t,className:(0,w.q)("w-full h-80",V)},Q),o.createElement(r.h,{className:"h-full w-full"},(null==n?void 0:n.length)?o.createElement(u,{data:n,onClick:el&&(eo||en)?()=>{ea(void 0),er(void 0),null==F||F(null)}:void 0,margin:{bottom:U?30:void 0,left:J?20:void 0,right:J?5:void 0,top:5}},W?o.createElement(m.q,{className:(0,w.q)("stroke-1","stroke-tremor-border","dark:stroke-dark-tremor-border"),horizontal:!0,vertical:!1}):null,o.createElement(l.K,{padding:Y,hide:!L,dataKey:d,interval:C?"preserveStartEnd":Z,tick:{transform:"translate(0, 6)"},ticks:C?[n[0][d],n[n.length-1][d]]:void 0,fill:"",stroke:"",className:(0,w.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickLine:!1,axisLine:!1,minTickGap:$,angle:null==X?void 0:X.angle,dy:null==X?void 0:X.verticalShift,height:null==X?void 0:X.xAxisHeight},U&&o.createElement(p._,{position:"insideBottom",offset:-20,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},U)),o.createElement(s.B,{width:z,hide:!N,axisLine:!1,tickLine:!1,type:"number",domain:ec,tick:{transform:"translate(-3, 0)"},fill:"",stroke:"",className:(0,w.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickFormatter:S,allowDecimals:K},J&&o.createElement(p._,{position:"insideLeft",style:{textAnchor:"middle"},angle:-90,offset:-15,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},J)),o.createElement(f.u,{wrapperStyle:{outline:"none"},isAnimationActive:!1,cursor:{stroke:"#d1d5db",strokeWidth:1},content:M?e=>{let{active:t,payload:n,label:a}=e;return _?o.createElement(_,{payload:null==n?void 0:n.map(e=>{var t;return Object.assign(Object.assign({},e),{color:null!==(t=ei.get(e.dataKey))&&void 0!==t?t:k.fr.Gray})}),active:t,label:a}):o.createElement(h.ZP,{active:t,payload:n,label:a,valueFormatter:S,categoryColors:ei})}:o.createElement(o.Fragment,null),position:{y:0}}),A?o.createElement(g.D,{verticalAlign:"top",height:ee,content:e=>{let{payload:t}=e;return(0,v.Z)({payload:t},ei,et,eo,el?e=>es(e):void 0,q)}}):null,i.map(e=>{var t;return o.createElement(c.x,{className:(0,w.q)((0,E.bM)(null!==(t=ei.get(e))&&void 0!==t?t:k.fr.Gray,O.K.text).strokeColor),strokeOpacity:en||eo&&eo!==e?.3:1,activeDot:e=>{var t;let{cx:a,cy:r,stroke:i,strokeLinecap:c,strokeLinejoin:l,strokeWidth:s,dataKey:d}=e;return o.createElement(b.o,{className:(0,w.q)("stroke-tremor-background dark:stroke-dark-tremor-background",F?"cursor-pointer":"",(0,E.bM)(null!==(t=ei.get(d))&&void 0!==t?t:k.fr.Gray,O.K.text).fillColor),cx:a,cy:r,r:5,fill:"",stroke:i,strokeLinecap:c,strokeLinejoin:l,strokeWidth:s,onClick:(t,a)=>{a.stopPropagation(),el&&(e.index===(null==en?void 0:en.index)&&e.dataKey===(null==en?void 0:en.dataKey)||(0,x.FB)(n,e.dataKey)&&eo&&eo===e.dataKey?(er(void 0),ea(void 0),null==F||F(null)):(er(e.dataKey),ea({index:e.index,dataKey:e.dataKey}),null==F||F(Object.assign({eventType:"dot",categoryClicked:e.dataKey},e.payload))))}})},dot:t=>{var a;let{stroke:r,strokeLinecap:i,strokeLinejoin:c,strokeWidth:l,cx:s,cy:d,dataKey:u,index:m}=t;return(0,x.FB)(n,e)&&!(en||eo&&eo!==e)||(null==en?void 0:en.index)===m&&(null==en?void 0:en.dataKey)===e?o.createElement(b.o,{key:m,cx:s,cy:d,r:5,stroke:r,fill:"",strokeLinecap:i,strokeLinejoin:c,strokeWidth:l,className:(0,w.q)("stroke-tremor-background dark:stroke-dark-tremor-background",F?"cursor-pointer":"",(0,E.bM)(null!==(a=ei.get(u))&&void 0!==a?a:k.fr.Gray,O.K.text).fillColor)}):o.createElement(o.Fragment,{key:m})},key:e,name:e,type:R,dataKey:e,stroke:"",strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",isAnimationActive:P,animationDuration:T,connectNulls:I})}),F?i.map(e=>o.createElement(c.x,{className:(0,w.q)("cursor-pointer"),strokeOpacity:0,key:e,name:e,type:R,dataKey:e,stroke:"transparent",fill:"transparent",legendType:"none",tooltipType:"none",strokeWidth:12,connectNulls:I,onClick:(e,t)=>{t.stopPropagation();let{name:n}=e;es(n)}})):null):o.createElement(y.Z,{noDataText:D})))});j.displayName="LineChart"},5945:function(e,t,n){n.d(t,{Z:function(){return Z}});var a=n(2265),o=n(36760),r=n.n(o),i=n(18694),c=n(71744),l=n(33759),s=n(50337),d=n(65869),u=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n},m=e=>{var{prefixCls:t,className:n,hoverable:o=!0}=e,i=u(e,["prefixCls","className","hoverable"]);let{getPrefixCls:l}=a.useContext(c.E_),s=l("card",t),d=r()("".concat(s,"-grid"),n,{["".concat(s,"-grid-hoverable")]:o});return a.createElement("div",Object.assign({},i,{className:d}))},p=n(93463),f=n(12918),g=n(99320),b=n(71140);let v=e=>{let{antCls:t,componentCls:n,headerHeight:a,headerPadding:o,tabsMarginBottom:r}=e;return Object.assign(Object.assign({display:"flex",justifyContent:"center",flexDirection:"column",minHeight:a,marginBottom:-1,padding:"0 ".concat((0,p.bf)(o)),color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:e.headerFontSize,background:e.headerBg,borderBottom:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorderSecondary),borderRadius:"".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG)," 0 0")},(0,f.dF)()),{"&-wrapper":{width:"100%",display:"flex",alignItems:"center"},"&-title":Object.assign(Object.assign({display:"inline-block",flex:1},f.vS),{["\n > ".concat(n,"-typography,\n > ").concat(n,"-typography-edit-content\n ")]:{insetInlineStart:0,marginTop:0,marginBottom:0}}),["".concat(t,"-tabs-top")]:{clear:"both",marginBottom:r,color:e.colorText,fontWeight:"normal",fontSize:e.fontSize,"&-bar":{borderBottom:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorderSecondary)}}})},h=e=>{let{cardPaddingBase:t,colorBorderSecondary:n,cardShadow:a,lineWidth:o}=e;return{width:"33.33%",padding:t,border:0,borderRadius:0,boxShadow:"\n ".concat((0,p.bf)(o)," 0 0 0 ").concat(n,",\n 0 ").concat((0,p.bf)(o)," 0 0 ").concat(n,",\n ").concat((0,p.bf)(o)," ").concat((0,p.bf)(o)," 0 0 ").concat(n,",\n ").concat((0,p.bf)(o)," 0 0 0 ").concat(n," inset,\n 0 ").concat((0,p.bf)(o)," 0 0 ").concat(n," inset;\n "),transition:"all ".concat(e.motionDurationMid),"&-hoverable:hover":{position:"relative",zIndex:1,boxShadow:a}}},y=e=>{let{componentCls:t,iconCls:n,actionsLiMargin:a,cardActionsIconSize:o,colorBorderSecondary:r,actionsBg:i}=e;return Object.assign(Object.assign({margin:0,padding:0,listStyle:"none",background:i,borderTop:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(r),display:"flex",borderRadius:"0 0 ".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG))},(0,f.dF)()),{"& > li":{margin:a,color:e.colorTextDescription,textAlign:"center","> span":{position:"relative",display:"block",minWidth:e.calc(e.cardActionsIconSize).mul(2).equal(),fontSize:e.fontSize,lineHeight:e.lineHeight,cursor:"pointer","&:hover":{color:e.colorPrimary,transition:"color ".concat(e.motionDurationMid)},["a:not(".concat(t,"-btn), > ").concat(n)]:{display:"inline-block",width:"100%",color:e.colorIcon,lineHeight:(0,p.bf)(e.fontHeight),transition:"color ".concat(e.motionDurationMid),"&:hover":{color:e.colorPrimary}},["> ".concat(n)]:{fontSize:o,lineHeight:(0,p.bf)(e.calc(o).mul(e.lineHeight).equal())}},"&:not(:last-child)":{borderInlineEnd:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(r)}}})},x=e=>Object.assign(Object.assign({margin:"".concat((0,p.bf)(e.calc(e.marginXXS).mul(-1).equal())," 0"),display:"flex"},(0,f.dF)()),{"&-avatar":{paddingInlineEnd:e.padding},"&-detail":{overflow:"hidden",flex:1,"> div:not(:last-child)":{marginBottom:e.marginXS}},"&-title":Object.assign({color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:e.fontSizeLG},f.vS),"&-description":{color:e.colorTextDescription}}),k=e=>{let{componentCls:t,colorFillAlter:n,headerPadding:a,bodyPadding:o}=e;return{["".concat(t,"-head")]:{padding:"0 ".concat((0,p.bf)(a)),background:n,"&-title":{fontSize:e.fontSize}},["".concat(t,"-body")]:{padding:"".concat((0,p.bf)(e.padding)," ").concat((0,p.bf)(o))}}},O=e=>{let{componentCls:t}=e;return{overflow:"hidden",["".concat(t,"-body")]:{userSelect:"none"}}},w=e=>{let{componentCls:t,cardShadow:n,cardHeadPadding:a,colorBorderSecondary:o,boxShadowTertiary:r,bodyPadding:i,extraColor:c}=e;return{[t]:Object.assign(Object.assign({},(0,f.Wf)(e)),{position:"relative",background:e.colorBgContainer,borderRadius:e.borderRadiusLG,["&:not(".concat(t,"-bordered)")]:{boxShadow:r},["".concat(t,"-head")]:v(e),["".concat(t,"-extra")]:{marginInlineStart:"auto",color:c,fontWeight:"normal",fontSize:e.fontSize},["".concat(t,"-body")]:{padding:i,borderRadius:"0 0 ".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG))},["".concat(t,"-grid")]:h(e),["".concat(t,"-cover")]:{"> *":{display:"block",width:"100%",borderRadius:"".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG)," 0 0")}},["".concat(t,"-actions")]:y(e),["".concat(t,"-meta")]:x(e)}),["".concat(t,"-bordered")]:{border:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(o),["".concat(t,"-cover")]:{marginTop:-1,marginInlineStart:-1,marginInlineEnd:-1}},["".concat(t,"-hoverable")]:{cursor:"pointer",transition:"box-shadow ".concat(e.motionDurationMid,", border-color ").concat(e.motionDurationMid),"&:hover":{borderColor:"transparent",boxShadow:n}},["".concat(t,"-contain-grid")]:{borderRadius:"".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG)," 0 0 "),["".concat(t,"-body")]:{display:"flex",flexWrap:"wrap"},["&:not(".concat(t,"-loading) ").concat(t,"-body")]:{marginBlockStart:e.calc(e.lineWidth).mul(-1).equal(),marginInlineStart:e.calc(e.lineWidth).mul(-1).equal(),padding:0}},["".concat(t,"-contain-tabs")]:{["> div".concat(t,"-head")]:{minHeight:0,["".concat(t,"-head-title, ").concat(t,"-extra")]:{paddingTop:a}}},["".concat(t,"-type-inner")]:k(e),["".concat(t,"-loading")]:O(e),["".concat(t,"-rtl")]:{direction:"rtl"}}},E=e=>{let{componentCls:t,bodyPaddingSM:n,headerPaddingSM:a,headerHeightSM:o,headerFontSizeSM:r}=e;return{["".concat(t,"-small")]:{["> ".concat(t,"-head")]:{minHeight:o,padding:"0 ".concat((0,p.bf)(a)),fontSize:r,["> ".concat(t,"-head-wrapper")]:{["> ".concat(t,"-extra")]:{fontSize:e.fontSize}}},["> ".concat(t,"-body")]:{padding:n}},["".concat(t,"-small").concat(t,"-contain-tabs")]:{["> ".concat(t,"-head")]:{["".concat(t,"-head-title, ").concat(t,"-extra")]:{paddingTop:0,display:"flex",alignItems:"center"}}}}};var j=(0,g.I$)("Card",e=>{let t=(0,b.IX)(e,{cardShadow:e.boxShadowCard,cardHeadPadding:e.padding,cardPaddingBase:e.paddingLG,cardActionsIconSize:e.fontSize});return[w(t),E(t)]},e=>{var t,n;return{headerBg:"transparent",headerFontSize:e.fontSizeLG,headerFontSizeSM:e.fontSize,headerHeight:e.fontSizeLG*e.lineHeightLG+2*e.padding,headerHeightSM:e.fontSize*e.lineHeight+2*e.paddingXS,actionsBg:e.colorBgContainer,actionsLiMargin:"".concat(e.paddingSM,"px 0"),tabsMarginBottom:-e.padding-e.lineWidth,extraColor:e.colorText,bodyPaddingSM:12,headerPaddingSM:12,bodyPadding:null!==(t=e.bodyPadding)&&void 0!==t?t:e.paddingLG,headerPadding:null!==(n=e.headerPadding)&&void 0!==n?n:e.paddingLG}}),S=n(56250),C=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let L=e=>{let{actionClasses:t,actions:n=[],actionStyle:o}=e;return a.createElement("ul",{className:t,style:o},n.map((e,t)=>a.createElement("li",{style:{width:"".concat(100/n.length,"%")},key:"action-".concat(t)},a.createElement("span",null,e))))},N=a.forwardRef((e,t)=>{let n;let{prefixCls:o,className:u,rootClassName:p,style:f,extra:g,headStyle:b={},bodyStyle:v={},title:h,loading:y,bordered:x,variant:k,size:O,type:w,cover:E,actions:N,tabList:z,children:Z,activeTabKey:T,defaultActiveTabKey:P,tabBarExtraContent:M,hoverable:A,tabProps:W={},classNames:B,styles:R}=e,G=C(e,["prefixCls","className","rootClassName","style","extra","headStyle","bodyStyle","title","loading","bordered","variant","size","type","cover","actions","tabList","children","activeTabKey","defaultActiveTabKey","tabBarExtraContent","hoverable","tabProps","classNames","styles"]),{getPrefixCls:H,direction:I,card:K}=a.useContext(c.E_),[D]=(0,S.Z)("card",k,x),V=e=>{var t;return r()(null===(t=null==K?void 0:K.classNames)||void 0===t?void 0:t[e],null==B?void 0:B[e])},F=e=>{var t;return Object.assign(Object.assign({},null===(t=null==K?void 0:K.styles)||void 0===t?void 0:t[e]),null==R?void 0:R[e])},q=a.useMemo(()=>{let e=!1;return a.Children.forEach(Z,t=>{(null==t?void 0:t.type)===m&&(e=!0)}),e},[Z]),_=H("card",o),[X,Y,$]=j(_),U=a.createElement(s.Z,{loading:!0,active:!0,paragraph:{rows:4},title:!1},Z),J=void 0!==T,Q=Object.assign(Object.assign({},W),{[J?"activeKey":"defaultActiveKey"]:J?T:P,tabBarExtraContent:M}),ee=(0,l.Z)(O),et=ee&&"default"!==ee?ee:"large",en=z?a.createElement(d.default,Object.assign({size:et},Q,{className:"".concat(_,"-head-tabs"),onChange:t=>{var n;null===(n=e.onTabChange)||void 0===n||n.call(e,t)},items:z.map(e=>{var{tab:t}=e;return Object.assign({label:t},C(e,["tab"]))})})):null;if(h||g||en){let e=r()("".concat(_,"-head"),V("header")),t=r()("".concat(_,"-head-title"),V("title")),o=r()("".concat(_,"-extra"),V("extra")),i=Object.assign(Object.assign({},b),F("header"));n=a.createElement("div",{className:e,style:i},a.createElement("div",{className:"".concat(_,"-head-wrapper")},h&&a.createElement("div",{className:t,style:F("title")},h),g&&a.createElement("div",{className:o,style:F("extra")},g)),en)}let ea=r()("".concat(_,"-cover"),V("cover")),eo=E?a.createElement("div",{className:ea,style:F("cover")},E):null,er=r()("".concat(_,"-body"),V("body")),ei=Object.assign(Object.assign({},v),F("body")),ec=a.createElement("div",{className:er,style:ei},y?U:Z),el=r()("".concat(_,"-actions"),V("actions")),es=(null==N?void 0:N.length)?a.createElement(L,{actionClasses:el,actionStyle:F("actions"),actions:N}):null,ed=(0,i.Z)(G,["onTabChange"]),eu=r()(_,null==K?void 0:K.className,{["".concat(_,"-loading")]:y,["".concat(_,"-bordered")]:"borderless"!==D,["".concat(_,"-hoverable")]:A,["".concat(_,"-contain-grid")]:q,["".concat(_,"-contain-tabs")]:null==z?void 0:z.length,["".concat(_,"-").concat(ee)]:ee,["".concat(_,"-type-").concat(w)]:!!w,["".concat(_,"-rtl")]:"rtl"===I},u,p,Y,$),em=Object.assign(Object.assign({},null==K?void 0:K.style),f);return X(a.createElement("div",Object.assign({ref:t},ed,{className:eu,style:em}),n,eo,ec,es))});var z=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};N.Grid=m,N.Meta=e=>{let{prefixCls:t,className:n,avatar:o,title:i,description:l}=e,s=z(e,["prefixCls","className","avatar","title","description"]),{getPrefixCls:d}=a.useContext(c.E_),u=d("card",t),m=r()("".concat(u,"-meta"),n),p=o?a.createElement("div",{className:"".concat(u,"-meta-avatar")},o):null,f=i?a.createElement("div",{className:"".concat(u,"-meta-title")},i):null,g=l?a.createElement("div",{className:"".concat(u,"-meta-description")},l):null,b=f||g?a.createElement("div",{className:"".concat(u,"-meta-detail")},f,g):null;return a.createElement("div",Object.assign({},s,{className:m}),p,b)};var Z=N},69410:function(e,t,n){var a=n(54998);t.Z=a.Z},867:function(e,t,n){n.d(t,{Z:function(){return j}});var a=n(2265),o=n(54537),r=n(36760),i=n.n(r),c=n(50506),l=n(18694),s=n(71744),d=n(79326),u=n(59367),m=n(92570),p=n(5545),f=n(51248),g=n(55274),b=n(37381),v=n(20435),h=n(99320);let y=e=>{let{componentCls:t,iconCls:n,antCls:a,zIndexPopup:o,colorText:r,colorWarning:i,marginXXS:c,marginXS:l,fontSize:s,fontWeightStrong:d,colorTextHeading:u}=e;return{[t]:{zIndex:o,["&".concat(a,"-popover")]:{fontSize:s},["".concat(t,"-message")]:{marginBottom:l,display:"flex",flexWrap:"nowrap",alignItems:"start",["> ".concat(t,"-message-icon ").concat(n)]:{color:i,fontSize:s,lineHeight:1,marginInlineEnd:l},["".concat(t,"-title")]:{fontWeight:d,color:u,"&:only-child":{fontWeight:"normal"}},["".concat(t,"-description")]:{marginTop:c,color:r}},["".concat(t,"-buttons")]:{textAlign:"end",whiteSpace:"nowrap",button:{marginInlineStart:l}}}}};var x=(0,h.I$)("Popconfirm",e=>y(e),e=>{let{zIndexPopupBase:t}=e;return{zIndexPopup:t+60}},{resetStyle:!1}),k=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let O=e=>{let{prefixCls:t,okButtonProps:n,cancelButtonProps:r,title:i,description:c,cancelText:l,okText:d,okType:v="primary",icon:h=a.createElement(o.Z,null),showCancel:y=!0,close:x,onConfirm:k,onCancel:O,onPopupClick:w}=e,{getPrefixCls:E}=a.useContext(s.E_),[j]=(0,g.Z)("Popconfirm",b.Z.Popconfirm),S=(0,m.Z)(i),C=(0,m.Z)(c);return a.createElement("div",{className:"".concat(t,"-inner-content"),onClick:w},a.createElement("div",{className:"".concat(t,"-message")},h&&a.createElement("span",{className:"".concat(t,"-message-icon")},h),a.createElement("div",{className:"".concat(t,"-message-text")},S&&a.createElement("div",{className:"".concat(t,"-title")},S),C&&a.createElement("div",{className:"".concat(t,"-description")},C))),a.createElement("div",{className:"".concat(t,"-buttons")},y&&a.createElement(p.ZP,Object.assign({onClick:O,size:"small"},r),l||(null==j?void 0:j.cancelText)),a.createElement(u.Z,{buttonProps:Object.assign(Object.assign({size:"small"},(0,f.nx)(v)),n),actionFn:k,close:x,prefixCls:E("btn"),quitOnNullishReturnValue:!0,emitEvent:!0},d||(null==j?void 0:j.okText))))};var w=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let E=a.forwardRef((e,t)=>{var n,r;let{prefixCls:u,placement:m="top",trigger:p="click",okType:f="primary",icon:g=a.createElement(o.Z,null),children:b,overlayClassName:v,onOpenChange:h,onVisibleChange:y,overlayStyle:k,styles:E,classNames:j}=e,S=w(e,["prefixCls","placement","trigger","okType","icon","children","overlayClassName","onOpenChange","onVisibleChange","overlayStyle","styles","classNames"]),{getPrefixCls:C,className:L,style:N,classNames:z,styles:Z}=(0,s.dj)("popconfirm"),[T,P]=(0,c.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(r=e.defaultOpen)&&void 0!==r?r:e.defaultVisible}),M=(e,t)=>{P(e,!0),null==y||y(e),null==h||h(e,t)},A=C("popconfirm",u),W=i()(A,L,v,z.root,null==j?void 0:j.root),B=i()(z.body,null==j?void 0:j.body),[R]=x(A);return R(a.createElement(d.Z,Object.assign({},(0,l.Z)(S,["title"]),{trigger:p,placement:m,onOpenChange:(t,n)=>{let{disabled:a=!1}=e;a||M(t,n)},open:T,ref:t,classNames:{root:W,body:B},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},Z.root),N),k),null==E?void 0:E.root),body:Object.assign(Object.assign({},Z.body),null==E?void 0:E.body)},content:a.createElement(O,Object.assign({okType:f,icon:g},e,{prefixCls:A,close:e=>{M(!1,e)},onConfirm:t=>{var n;return null===(n=e.onConfirm)||void 0===n?void 0:n.call(void 0,t)},onCancel:t=>{var n;M(!1,t),null===(n=e.onCancel)||void 0===n||n.call(void 0,t)}})),"data-popover-inject":!0}),b))});E._InternalPanelDoNotUseOrYouWillBeFired=e=>{let{prefixCls:t,placement:n,className:o,style:r}=e,c=k(e,["prefixCls","placement","className","style"]),{getPrefixCls:l}=a.useContext(s.E_),d=l("popconfirm",t),[u]=x(d);return u(a.createElement(v.ZP,{placement:n,className:i()(d,o),style:r,content:a.createElement(O,Object.assign({prefixCls:d},c))}))};var j=E},47451:function(e,t,n){var a=n(77774);t.Z=a.Z},87769:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},42208:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},15731:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},45589:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"}))});t.Z=o},53410:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});t.Z=o},91126:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3746-05292c155ebaa8ea.js b/litellm/proxy/_experimental/out/_next/static/chunks/3746-05292c155ebaa8ea.js new file mode 100644 index 0000000000..01752d12be --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/3746-05292c155ebaa8ea.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3746],{34310:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z"}}]},name:"file-exclamation",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},38434:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},77565:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},69993:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},21626:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5853),i=r(2265),o=r(13241);let s=(0,r(1153).fn)("Table"),a=i.forwardRef((e,t)=>{let{children:r,className:a}=e,c=(0,n._T)(e,["children","className"]);return i.createElement("div",{className:(0,o.q)(s("root"),"overflow-auto",a)},i.createElement("table",Object.assign({ref:t,className:(0,o.q)(s("table"),"w-full text-tremor-default","text-tremor-content","dark:text-dark-tremor-content")},c),r))});a.displayName="Table"},97214:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5853),i=r(2265),o=r(13241);let s=(0,r(1153).fn)("TableBody"),a=i.forwardRef((e,t)=>{let{children:r,className:a}=e,c=(0,n._T)(e,["children","className"]);return i.createElement(i.Fragment,null,i.createElement("tbody",Object.assign({ref:t,className:(0,o.q)(s("root"),"align-top divide-y","divide-tremor-border","dark:divide-dark-tremor-border",a)},c),r))});a.displayName="TableBody"},28241:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5853),i=r(2265),o=r(13241);let s=(0,r(1153).fn)("TableCell"),a=i.forwardRef((e,t)=>{let{children:r,className:a}=e,c=(0,n._T)(e,["children","className"]);return i.createElement(i.Fragment,null,i.createElement("td",Object.assign({ref:t,className:(0,o.q)(s("root"),"align-middle whitespace-nowrap text-left p-4",a)},c),r))});a.displayName="TableCell"},58834:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5853),i=r(2265),o=r(13241);let s=(0,r(1153).fn)("TableHead"),a=i.forwardRef((e,t)=>{let{children:r,className:a}=e,c=(0,n._T)(e,["children","className"]);return i.createElement(i.Fragment,null,i.createElement("thead",Object.assign({ref:t,className:(0,o.q)(s("root"),"text-left","text-tremor-content","dark:text-dark-tremor-content",a)},c),r))});a.displayName="TableHead"},69552:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5853),i=r(2265),o=r(13241);let s=(0,r(1153).fn)("TableHeaderCell"),a=i.forwardRef((e,t)=>{let{children:r,className:a}=e,c=(0,n._T)(e,["children","className"]);return i.createElement(i.Fragment,null,i.createElement("th",Object.assign({ref:t,className:(0,o.q)(s("root"),"whitespace-nowrap text-left font-semibold top-0 px-4 py-3.5","text-tremor-content-strong","dark:text-dark-tremor-content-strong",a)},c),r))});a.displayName="TableHeaderCell"},71876:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5853),i=r(2265),o=r(13241);let s=(0,r(1153).fn)("TableRow"),a=i.forwardRef((e,t)=>{let{children:r,className:a}=e,c=(0,n._T)(e,["children","className"]);return i.createElement(i.Fragment,null,i.createElement("tr",Object.assign({ref:t,className:(0,o.q)(s("row"),a)},c),r))});a.displayName="TableRow"},96761:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(5853),i=r(26898),o=r(13241),s=r(1153),a=r(2265);let c=a.forwardRef((e,t)=>{let{color:r,children:c,className:u}=e,l=(0,n._T)(e,["color","children","className"]);return a.createElement("p",Object.assign({ref:t,className:(0,o.q)("font-medium text-tremor-title",r?(0,s.bM)(r,i.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",u)},l),c)});c.displayName="Title"},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},32489:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},15452:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,o={},s=0,a={};function c(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=_(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new h(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview,i)r.postMessage({results:o,workerId:a.WORKER_ID,finished:n});else if(k(this._config.chunk)&&!t){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=o=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!n||!k(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(e){k(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function u(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),c.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),c.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;c.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function d(e){c.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){c.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){c.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=w(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=w(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=w(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=w(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function h(e){var t,r,n,i,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,s=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,c=this,u=0,l=0,f=!1,d=!1,h=[],g={data:[],errors:[],meta:{}};function v(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function y(){if(g&&n&&(b("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(g.data=g.data.filter(function(e){return!v(e)})),w()){if(g){if(Array.isArray(g.data[0])){for(var t,r=0;w()&&r=h.length?"__parsed_extra":h[i]:a,u=c=e.transform?e.transform(c,a):c,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===u||"TRUE"===u||"false"!==u&&"FALSE"!==u&&((e=>{if(o.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(u)?parseFloat(u):s.test(u)?new Date(u):""===u?null:u):u);"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(c)):n[a]=c}return e.header&&(i>h.length?b("FieldMismatch","TooManyFields","Too many fields: expected "+h.length+" fields but parsed "+i,l+r):ie.preview?r.abort():(g.data=g.data[0],i(g,c))))}),this.parse=function(i,o,s){var c=e.quoteChar||'"',c=(e.newline||(e.newline=this.guessLineEndings(i,c)),n=!1,e.delimiter?k(e.delimiter)&&(e.delimiter=e.delimiter(i),g.meta.delimiter=e.delimiter):((c=((t,r,n,i,o)=>{var s,c,u,l;o=o||[","," ","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var f=0;f=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function m(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,o=e.preview,s=e.fastMode,c=null,u=!1,l=null==e.quoteChar?'"':e.quoteChar,f=l;if(void 0!==e.escapeChar&&(f=e.escapeChar),("string"!=typeof t||-1=o)return D(!0);break}x.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:E.length,index:d}),M++}}else if(n&&0===O.length&&a.substring(d,d+w)===n){if(-1===S)return D();d=S+_,S=a.indexOf(r,d),L=a.indexOf(t,d)}else if(-1!==L&&(L=o)return D(!0)}return Z();function A(e){E.push(e),C=d}function N(e){return -1!==e&&(e=a.substring(M+1,e))&&""===e.trim()?e.length:0}function Z(e){return g||(void 0===e&&(e=a.substring(d)),O.push(e),d=v,A(O),b&&P()),D()}function I(e){d=e,A(O),O=[],S=a.indexOf(r,d)}function D(n){if(e.header&&!m&&E.length&&!u){var i=E[0],o=Object.create(null),s=new Set(i);let t=!1;for(let r=0;r{if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(u=t.skipEmptyLines),"string"==typeof t.newline&&(o=t.newline),"string"==typeof t.quoteChar&&(s=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");l=t.columns}void 0!==t.escapeChar&&(c=t.escapeChar+s),t.escapeFormulae instanceof RegExp?f=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(f=/^[=+\-@\t\r].*$/)}})(),RegExp(p(s),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return h(null,e,u);if("object"==typeof e[0])return h(l||Object.keys(e[0]),e,u)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||l),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),h(e.fields||[],e.data||[],u);throw Error("Unable to serialize unrecognized input");function h(e,t,r){var s="",a=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,s),n=i.default.Children.only(t);return i.default.cloneElement(n,u(u({},r),{},{onClick:this.onClick}))}}],function(e,t){for(var r=0;r{let t=n.useContext(o);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},a=e=>{let{client:t,children:r}=e;return n.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,i.jsx)(o.Provider,{value:t,children:r})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3792-da6ce0c3cbf757e5.js b/litellm/proxy/_experimental/out/_next/static/chunks/3792-da6ce0c3cbf757e5.js new file mode 100644 index 0000000000..b9340f1378 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/3792-da6ce0c3cbf757e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3792],{38434:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},77565:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},69993:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},57400:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z"}},{tag:"path",attrs:{d:"M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z"}}]},name:"safety",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},15883:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},96761:function(e,n,t){t.d(n,{Z:function(){return i}});var a=t(5853),c=t(26898),o=t(13241),r=t(1153),l=t(2265);let i=l.forwardRef((e,n)=>{let{color:t,children:i,className:s}=e,d=(0,a._T)(e,["color","children","className"]);return l.createElement("p",Object.assign({ref:n,className:(0,o.q)("font-medium text-tremor-title",t?(0,r.bM)(t,c.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",s)},d),i)});i.displayName="Title"},44851:function(e,n,t){t.d(n,{default:function(){return q}});var a=t(2265),c=t(77565),o=t(36760),r=t.n(o),l=t(1119),i=t(83145),s=t(26365),d=t(41154),u=t(50506),f=t(32559),p=t(6989),m=t(45287),v=t(31686),b=t(11993),h=t(66632),g=t(95814),x=a.forwardRef(function(e,n){var t=e.prefixCls,c=e.forceRender,o=e.className,l=e.style,i=e.children,d=e.isActive,u=e.role,f=e.classNames,p=e.styles,m=a.useState(d||c),v=(0,s.Z)(m,2),h=v[0],g=v[1];return(a.useEffect(function(){(c||d)&&g(!0)},[c,d]),h)?a.createElement("div",{ref:n,className:r()("".concat(t,"-content"),(0,b.Z)((0,b.Z)({},"".concat(t,"-content-active"),d),"".concat(t,"-content-inactive"),!d),o),style:l,role:u},a.createElement("div",{className:r()("".concat(t,"-content-box"),null==f?void 0:f.body),style:null==p?void 0:p.body},i)):null});x.displayName="PanelContent";var y=["showArrow","headerClass","isActive","onItemClick","forceRender","className","classNames","styles","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],C=a.forwardRef(function(e,n){var t=e.showArrow,c=e.headerClass,o=e.isActive,i=e.onItemClick,s=e.forceRender,d=e.className,u=e.classNames,f=void 0===u?{}:u,m=e.styles,C=void 0===m?{}:m,Z=e.prefixCls,I=e.collapsible,N=e.accordion,k=e.panelKey,E=e.extra,w=e.header,M=e.expandIcon,P=e.openMotion,R=e.destroyInactivePanel,O=e.children,S=(0,p.Z)(e,y),j="disabled"===I,z=(0,b.Z)((0,b.Z)((0,b.Z)({onClick:function(){null==i||i(k)},onKeyDown:function(e){("Enter"===e.key||e.keyCode===g.Z.ENTER||e.which===g.Z.ENTER)&&(null==i||i(k))},role:N?"tab":"button"},"aria-expanded",o),"aria-disabled",j),"tabIndex",j?-1:0),A="function"==typeof M?M(e):a.createElement("i",{className:"arrow"}),B=A&&a.createElement("div",(0,l.Z)({className:"".concat(Z,"-expand-icon")},["header","icon"].includes(I)?z:{}),A),H=r()("".concat(Z,"-item"),(0,b.Z)((0,b.Z)({},"".concat(Z,"-item-active"),o),"".concat(Z,"-item-disabled"),j),d),K=r()(c,"".concat(Z,"-header"),(0,b.Z)({},"".concat(Z,"-collapsible-").concat(I),!!I),f.header),L=(0,v.Z)({className:K,style:C.header},["header","icon"].includes(I)?{}:z);return a.createElement("div",(0,l.Z)({},S,{ref:n,className:H}),a.createElement("div",L,(void 0===t||t)&&B,a.createElement("span",(0,l.Z)({className:"".concat(Z,"-header-text")},"header"===I?z:{}),w),null!=E&&"boolean"!=typeof E&&a.createElement("div",{className:"".concat(Z,"-extra")},E)),a.createElement(h.ZP,(0,l.Z)({visible:o,leavedClassName:"".concat(Z,"-content-hidden")},P,{forceRender:s,removeOnLeave:R}),function(e,n){var t=e.className,c=e.style;return a.createElement(x,{ref:n,prefixCls:Z,className:t,classNames:f,style:c,styles:C,isActive:o,forceRender:s,role:N?"tabpanel":void 0},O)}))}),Z=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],I=function(e,n){var t=n.prefixCls,c=n.accordion,o=n.collapsible,r=n.destroyInactivePanel,i=n.onItemClick,s=n.activeKey,d=n.openMotion,u=n.expandIcon;return e.map(function(e,n){var f=e.children,m=e.label,v=e.key,b=e.collapsible,h=e.onItemClick,g=e.destroyInactivePanel,x=(0,p.Z)(e,Z),y=String(null!=v?v:n),I=null!=b?b:o,N=!1;return N=c?s[0]===y:s.indexOf(y)>-1,a.createElement(C,(0,l.Z)({},x,{prefixCls:t,key:y,panelKey:y,isActive:N,accordion:c,openMotion:d,expandIcon:u,header:m,collapsible:I,onItemClick:function(e){"disabled"!==I&&(i(e),null==h||h(e))},destroyInactivePanel:null!=g?g:r}),f)})},N=function(e,n,t){if(!e)return null;var c=t.prefixCls,o=t.accordion,r=t.collapsible,l=t.destroyInactivePanel,i=t.onItemClick,s=t.activeKey,d=t.openMotion,u=t.expandIcon,f=e.key||String(n),p=e.props,m=p.header,v=p.headerClass,b=p.destroyInactivePanel,h=p.collapsible,g=p.onItemClick,x=!1;x=o?s[0]===f:s.indexOf(f)>-1;var y=null!=h?h:r,C={key:f,panelKey:f,header:m,headerClass:v,isActive:x,prefixCls:c,destroyInactivePanel:null!=b?b:l,openMotion:d,accordion:o,children:e.props.children,onItemClick:function(e){"disabled"!==y&&(i(e),null==g||g(e))},expandIcon:u,collapsible:y};return"string"==typeof e.type?e:(Object.keys(C).forEach(function(e){void 0===C[e]&&delete C[e]}),a.cloneElement(e,C))},k=t(18242);function E(e){var n=e;if(!Array.isArray(n)){var t=(0,d.Z)(n);n="number"===t||"string"===t?[n]:[]}return n.map(function(e){return String(e)})}var w=Object.assign(a.forwardRef(function(e,n){var t,c=e.prefixCls,o=void 0===c?"rc-collapse":c,d=e.destroyInactivePanel,p=e.style,v=e.accordion,b=e.className,h=e.children,g=e.collapsible,x=e.openMotion,y=e.expandIcon,C=e.activeKey,Z=e.defaultActiveKey,w=e.onChange,M=e.items,P=r()(o,b),R=(0,u.Z)([],{value:C,onChange:function(e){return null==w?void 0:w(e)},defaultValue:Z,postState:E}),O=(0,s.Z)(R,2),S=O[0],j=O[1];(0,f.ZP)(!h,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var z=(t={prefixCls:o,accordion:v,openMotion:x,expandIcon:y,collapsible:g,destroyInactivePanel:void 0!==d&&d,onItemClick:function(e){return j(function(){return v?S[0]===e?[]:[e]:S.indexOf(e)>-1?S.filter(function(n){return n!==e}):[].concat((0,i.Z)(S),[e])})},activeKey:S},Array.isArray(M)?I(M,t):(0,m.Z)(h).map(function(e,n){return N(e,n,t)}));return a.createElement("div",(0,l.Z)({ref:n,className:P,style:p,role:v?"tablist":void 0},(0,k.Z)(e,{aria:!0,data:!0})),z)}),{Panel:C});w.Panel;var M=t(18694),P=t(68710),R=t(19722),O=t(71744),S=t(33759);let j=a.forwardRef((e,n)=>{let{getPrefixCls:t}=a.useContext(O.E_),{prefixCls:c,className:o,showArrow:l=!0}=e,i=t("collapse",c),s=r()({["".concat(i,"-no-arrow")]:!l},o);return a.createElement(w.Panel,Object.assign({ref:n},e,{prefixCls:i,className:s}))});var z=t(93463),A=t(12918),B=t(63074),H=t(99320),K=t(71140);let L=e=>{let{componentCls:n,contentBg:t,padding:a,headerBg:c,headerPadding:o,collapseHeaderPaddingSM:r,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:i,lineWidth:s,lineType:d,colorBorder:u,colorText:f,colorTextHeading:p,colorTextDisabled:m,fontSizeLG:v,lineHeight:b,lineHeightLG:h,marginSM:g,paddingSM:x,paddingLG:y,paddingXS:C,motionDurationSlow:Z,fontSizeIcon:I,contentPadding:N,fontHeight:k,fontHeightLG:E}=e,w="".concat((0,z.bf)(s)," ").concat(d," ").concat(u);return{[n]:Object.assign(Object.assign({},(0,A.Wf)(e)),{backgroundColor:c,border:w,borderRadius:i,"&-rtl":{direction:"rtl"},["& > ".concat(n,"-item")]:{borderBottom:w,"&:first-child":{["\n &,\n & > ".concat(n,"-header")]:{borderRadius:"".concat((0,z.bf)(i)," ").concat((0,z.bf)(i)," 0 0")}},"&:last-child":{["\n &,\n & > ".concat(n,"-header")]:{borderRadius:"0 0 ".concat((0,z.bf)(i)," ").concat((0,z.bf)(i))}},["> ".concat(n,"-header")]:Object.assign(Object.assign({position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:o,color:p,lineHeight:b,cursor:"pointer",transition:"all ".concat(Z,", visibility 0s")},(0,A.Qy)(e)),{["> ".concat(n,"-header-text")]:{flex:"auto"},["".concat(n,"-expand-icon")]:{height:k,display:"flex",alignItems:"center",paddingInlineEnd:g},["".concat(n,"-arrow")]:Object.assign(Object.assign({},(0,A.Ro)()),{fontSize:I,transition:"transform ".concat(Z),svg:{transition:"transform ".concat(Z)}}),["".concat(n,"-header-text")]:{marginInlineEnd:"auto"}}),["".concat(n,"-collapsible-header")]:{cursor:"default",["".concat(n,"-header-text")]:{flex:"none",cursor:"pointer"},["".concat(n,"-expand-icon")]:{cursor:"pointer"}},["".concat(n,"-collapsible-icon")]:{cursor:"unset",["".concat(n,"-expand-icon")]:{cursor:"pointer"}}},["".concat(n,"-content")]:{color:f,backgroundColor:t,borderTop:w,["& > ".concat(n,"-content-box")]:{padding:N},"&-hidden":{display:"none"}},"&-small":{["> ".concat(n,"-item")]:{["> ".concat(n,"-header")]:{padding:r,paddingInlineStart:C,["> ".concat(n,"-expand-icon")]:{marginInlineStart:e.calc(x).sub(C).equal()}},["> ".concat(n,"-content > ").concat(n,"-content-box")]:{padding:x}}},"&-large":{["> ".concat(n,"-item")]:{fontSize:v,lineHeight:h,["> ".concat(n,"-header")]:{padding:l,paddingInlineStart:a,["> ".concat(n,"-expand-icon")]:{height:E,marginInlineStart:e.calc(y).sub(a).equal()}},["> ".concat(n,"-content > ").concat(n,"-content-box")]:{padding:y}}},["".concat(n,"-item:last-child")]:{borderBottom:0,["> ".concat(n,"-content")]:{borderRadius:"0 0 ".concat((0,z.bf)(i)," ").concat((0,z.bf)(i))}},["& ".concat(n,"-item-disabled > ").concat(n,"-header")]:{"\n &,\n & > .arrow\n ":{color:m,cursor:"not-allowed"}},["&".concat(n,"-icon-position-end")]:{["& > ".concat(n,"-item")]:{["> ".concat(n,"-header")]:{["".concat(n,"-expand-icon")]:{order:1,paddingInlineEnd:0,paddingInlineStart:g}}}}})}},T=e=>{let{componentCls:n}=e,t="> ".concat(n,"-item > ").concat(n,"-header ").concat(n,"-arrow");return{["".concat(n,"-rtl")]:{[t]:{transform:"rotate(180deg)"}}}},V=e=>{let{componentCls:n,headerBg:t,borderlessContentPadding:a,borderlessContentBg:c,colorBorder:o}=e;return{["".concat(n,"-borderless")]:{backgroundColor:t,border:0,["> ".concat(n,"-item")]:{borderBottom:"1px solid ".concat(o)},["\n > ".concat(n,"-item:last-child,\n > ").concat(n,"-item:last-child ").concat(n,"-header\n ")]:{borderRadius:0},["> ".concat(n,"-item:last-child")]:{borderBottom:0},["> ".concat(n,"-item > ").concat(n,"-content")]:{backgroundColor:c,borderTop:0},["> ".concat(n,"-item > ").concat(n,"-content > ").concat(n,"-content-box")]:{padding:a}}}},_=e=>{let{componentCls:n,paddingSM:t}=e;return{["".concat(n,"-ghost")]:{backgroundColor:"transparent",border:0,["> ".concat(n,"-item")]:{borderBottom:0,["> ".concat(n,"-content")]:{backgroundColor:"transparent",border:0,["> ".concat(n,"-content-box")]:{paddingBlock:t}}}}}};var X=(0,H.I$)("Collapse",e=>{let n=(0,K.IX)(e,{collapseHeaderPaddingSM:"".concat((0,z.bf)(e.paddingXS)," ").concat((0,z.bf)(e.paddingSM)),collapseHeaderPaddingLG:"".concat((0,z.bf)(e.padding)," ").concat((0,z.bf)(e.paddingLG)),collapsePanelBorderRadius:e.borderRadiusLG});return[L(n),V(n),_(n),T(n),(0,B.Z)(n)]},e=>({headerPadding:"".concat(e.paddingSM,"px ").concat(e.padding,"px"),headerBg:e.colorFillAlter,contentPadding:"".concat(e.padding,"px 16px"),contentBg:e.colorBgContainer,borderlessContentPadding:"".concat(e.paddingXXS,"px 16px ").concat(e.padding,"px"),borderlessContentBg:"transparent"})),q=Object.assign(a.forwardRef((e,n)=>{let{getPrefixCls:t,direction:o,expandIcon:l,className:i,style:s}=(0,O.dj)("collapse"),{prefixCls:d,className:u,rootClassName:f,style:p,bordered:v=!0,ghost:b,size:h,expandIconPosition:g="start",children:x,destroyInactivePanel:y,destroyOnHidden:C,expandIcon:Z}=e,I=(0,S.Z)(e=>{var n;return null!==(n=null!=h?h:e)&&void 0!==n?n:"middle"}),N=t("collapse",d),k=t(),[E,j,z]=X(N),A=a.useMemo(()=>"left"===g?"start":"right"===g?"end":g,[g]),B=null!=Z?Z:l,H=a.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n="function"==typeof B?B(e):a.createElement(c.Z,{rotate:e.isActive?"rtl"===o?-90:90:void 0,"aria-label":e.isActive?"expanded":"collapsed"});return(0,R.Tm)(n,()=>{var e;return{className:r()(null===(e=n.props)||void 0===e?void 0:e.className,"".concat(N,"-arrow"))}})},[B,N,o]),K=r()("".concat(N,"-icon-position-").concat(A),{["".concat(N,"-borderless")]:!v,["".concat(N,"-rtl")]:"rtl"===o,["".concat(N,"-ghost")]:!!b,["".concat(N,"-").concat(I)]:"middle"!==I},i,u,f,j,z),L=a.useMemo(()=>Object.assign(Object.assign({},(0,P.Z)(k)),{motionAppear:!1,leavedClassName:"".concat(N,"-content-hidden")}),[k,N]),T=a.useMemo(()=>x?(0,m.Z)(x).map((e,n)=>{var t,a;let c=e.props;if(null==c?void 0:c.disabled){let o=null!==(t=e.key)&&void 0!==t?t:String(n),r=Object.assign(Object.assign({},(0,M.Z)(e.props,["disabled"])),{key:o,collapsible:null!==(a=c.collapsible)&&void 0!==a?a:"disabled"});return(0,R.Tm)(e,r)}return e}):null,[x]);return E(a.createElement(w,Object.assign({ref:n,openMotion:L},(0,M.Z)(e,["rootClassName"]),{expandIcon:H,prefixCls:N,className:K,style:Object.assign(Object.assign({},s),p),destroyInactivePanel:null!=C?C:y}),T))}),{Panel:j})},25523:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"RouterContext",{enumerable:!0,get:function(){return a}});let a=t(47043)._(t(2265)).default.createContext(null)}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3801-10953dfd75e13297.js b/litellm/proxy/_experimental/out/_next/static/chunks/3801-d4b8e60d32adbf31.js similarity index 87% rename from litellm/proxy/_experimental/out/_next/static/chunks/3801-10953dfd75e13297.js rename to litellm/proxy/_experimental/out/_next/static/chunks/3801-d4b8e60d32adbf31.js index dd11da0eb3..4ed4195b60 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/3801-10953dfd75e13297.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/3801-d4b8e60d32adbf31.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3801],{12363:function(e,s,a){a.d(s,{d:function(){return r},n:function(){return l}});var t=a(2265);let l=()=>{let[e,s]=(0,t.useState)("http://localhost:4000");return(0,t.useEffect)(()=>{{let{protocol:e,host:a}=window.location;s("".concat(e,"//").concat(a))}},[]),e},r=25},30841:function(e,s,a){a.d(s,{IE:function(){return r},LO:function(){return l},cT:function(){return n}});var t=a(19250);let l=async e=>{if(!e)return[];try{let{aliases:s}=await (0,t.keyAliasesCall)(e);return Array.from(new Set((s||[]).filter(Boolean)))}catch(e){return console.error("Error fetching all key aliases:",e),[]}},r=async(e,s)=>{if(!e)return[];try{let a=[],l=1,r=!0;for(;r;){let n=await (0,t.teamListCall)(e,s||null,null);a=[...a,...n],l{if(!e)return[];try{let s=[],a=1,l=!0;for(;l;){let r=await (0,t.organizationListCall)(e);s=[...s,...r],a{let{options:s,onApplyFilters:a,onResetFilters:d,initialValues:m={},buttonLabel:u="Filters"}=e,[x,h]=(0,l.useState)(!1),[g,p]=(0,l.useState)(m),[f,j]=(0,l.useState)({}),[v,b]=(0,l.useState)({}),[y,N]=(0,l.useState)({}),[w,k]=(0,l.useState)({}),_=(0,l.useCallback)(c()(async(e,s)=>{if(s.isSearchable&&s.searchFn){b(e=>({...e,[s.name]:!0}));try{let a=await s.searchFn(e);j(e=>({...e,[s.name]:a}))}catch(e){console.error("Error searching:",e),j(e=>({...e,[s.name]:[]}))}finally{b(e=>({...e,[s.name]:!1}))}}},300),[]),S=(0,l.useCallback)(async e=>{if(e.isSearchable&&e.searchFn&&!w[e.name]){b(s=>({...s,[e.name]:!0})),k(s=>({...s,[e.name]:!0}));try{let s=await e.searchFn("");j(a=>({...a,[e.name]:s}))}catch(s){console.error("Error loading initial options:",s),j(s=>({...s,[e.name]:[]}))}finally{b(s=>({...s,[e.name]:!1}))}}},[w]);(0,l.useEffect)(()=>{x&&s.forEach(e=>{e.isSearchable&&!w[e.name]&&S(e)})},[x,s,S,w]);let C=(e,s)=>{let t={...g,[e]:s};p(t),a(t)},L=(e,s)=>{e&&s.isSearchable&&!w[s.name]&&S(s)};return(0,t.jsxs)("div",{className:"w-full",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,t.jsx)(r.ZP,{icon:(0,t.jsx)(o.Z,{className:"h-4 w-4"}),onClick:()=>h(!x),className:"flex items-center gap-2",children:u}),(0,t.jsx)(r.ZP,{onClick:()=>{let e={};s.forEach(s=>{e[s.name]=""}),p(e),d()},children:"Reset Filters"})]}),x&&(0,t.jsx)("div",{className:"grid grid-cols-3 gap-x-6 gap-y-4 mb-6",children:["Team ID","Status","Organization ID","Key Alias","User ID","End User","Key Hash","Model"].map(e=>{let a=s.find(s=>s.label===e||s.name===e);return a?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-sm text-gray-600",children:a.label||a.name}),a.isSearchable?(0,t.jsx)(n.default,{showSearch:!0,className:"w-full",placeholder:"Search ".concat(a.label||a.name,"..."),value:g[a.name]||void 0,onChange:e=>C(a.name,e),onDropdownVisibleChange:e=>L(e,a),onSearch:e=>{N(s=>({...s,[a.name]:e})),a.searchFn&&_(e,a)},filterOption:!1,loading:v[a.name],options:f[a.name]||[],allowClear:!0,notFoundContent:v[a.name]?"Loading...":"No results found"}):a.options?(0,t.jsx)(n.default,{className:"w-full",placeholder:"Select ".concat(a.label||a.name,"..."),value:g[a.name]||void 0,onChange:e=>C(a.name,e),allowClear:!0,children:a.options.map(e=>(0,t.jsx)(n.default.Option,{value:e.value,children:e.label},e.value))}):(0,t.jsx)(i.default,{className:"w-full",placeholder:"Enter ".concat(a.label||a.name,"..."),value:g[a.name]||"",onChange:e=>C(a.name,e.target.value),allowClear:!0})]},a.name):null})})]})}},33801:function(e,s,a){a.d(s,{I:function(){return eg},Z:function(){return eh}});var t=a(57437),l=a(77398),r=a.n(l),n=a(11713),i=a(2265),o=a(29827),d=a(19250),c=a(12322),m=a(59872),u=a(41649),x=a(78489),h=a(99981),g=a(42673);let p=e=>{try{return new Date(e).toLocaleString("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0}).replace(",","")}catch(e){return"Error converting time"}},f=e=>{let{utcTime:s}=e;return(0,t.jsx)("span",{style:{fontFamily:"monospace",width:"180px",display:"inline-block"},children:p(s)})},j=(e,s)=>{var a,t;return(null===(t=e.metadata)||void 0===t?void 0:null===(a=t.mcp_tool_call_metadata)||void 0===a?void 0:a.mcp_server_logo_url)?e.metadata.mcp_tool_call_metadata.mcp_server_logo_url:s?(0,g.dr)(s).logo:""},v=[{id:"expander",header:()=>null,cell:e=>{let{row:s}=e;return(0,t.jsx)(()=>{let[e,a]=i.useState(s.getIsExpanded()),l=i.useCallback(()=>{a(e=>!e),s.getToggleExpandedHandler()()},[s]);return s.getCanExpand()?(0,t.jsx)("button",{onClick:l,style:{cursor:"pointer"},"aria-label":e?"Collapse row":"Expand row",className:"w-6 h-6 flex items-center justify-center focus:outline-none",children:(0,t.jsx)("svg",{className:"w-4 h-4 transform transition-transform duration-75 ".concat(e?"rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}):(0,t.jsx)("span",{className:"w-6 h-6 flex items-center justify-center",children:"●"})},{})}},{header:"Time",accessorKey:"startTime",cell:e=>(0,t.jsx)(f,{utcTime:e.getValue()})},{header:"Status",accessorKey:"metadata.status",cell:e=>{let s="failure"!==(e.getValue()||"Success").toLowerCase();return(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block text-center w-16 ".concat(s?"bg-green-100 text-green-800":"bg-red-100 text-red-800"),children:s?"Success":"Failure"})}},{header:"Session ID",accessorKey:"session_id",cell:e=>{let s=String(e.getValue()||""),a=e.row.original.onSessionClick;return(0,t.jsx)(h.Z,{title:String(e.getValue()||""),children:(0,t.jsx)(x.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal text-xs max-w-[15ch] truncate block",onClick:()=>null==a?void 0:a(s),children:String(e.getValue()||"")})})}},{header:"Request ID",accessorKey:"request_id",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||""),children:(0,t.jsx)("span",{className:"font-mono text-xs max-w-[15ch] truncate block",children:String(e.getValue()||"")})})},{header:"Cost",accessorKey:"spend",cell:e=>(0,t.jsx)(h.Z,{title:"$".concat(String(e.getValue()||0)," "),children:(0,t.jsx)("span",{children:(0,m.GS)(e.getValue()||0)})})},{header:"Duration (s)",accessorKey:"duration",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Team Name",accessorKey:"metadata.user_api_key_team_alias",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Key Hash",accessorKey:"metadata.user_api_key",cell:e=>{let s=String(e.getValue()||"-"),a=e.row.original.onKeyHashClick;return(0,t.jsx)(h.Z,{title:s,children:(0,t.jsx)("span",{className:"font-mono max-w-[15ch] truncate block cursor-pointer hover:text-blue-600",onClick:()=>null==a?void 0:a(s),children:s})})}},{header:"Key Name",accessorKey:"metadata.user_api_key_alias",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Model",accessorKey:"model",cell:e=>{let s=e.row.original,a=s.custom_llm_provider,l=String(e.getValue()||"");return(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[a&&(0,t.jsx)("img",{src:j(s,a),alt:"",className:"w-4 h-4",onError:e=>{e.target.style.display="none"}}),(0,t.jsx)(h.Z,{title:l,children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:l})})]})}},{header:"Tokens",accessorKey:"total_tokens",cell:e=>{let s=e.row.original;return(0,t.jsxs)("span",{className:"text-sm",children:[String(s.total_tokens||"0"),(0,t.jsxs)("span",{className:"text-gray-400 text-xs ml-1",children:["(",String(s.prompt_tokens||"0"),"+",String(s.completion_tokens||"0"),")"]})]})}},{header:"Internal User",accessorKey:"user",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"End User",accessorKey:"end_user",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Tags",accessorKey:"request_tags",cell:e=>{let s=e.getValue();if(!s||0===Object.keys(s).length)return"-";let a=Object.entries(s),l=a[0],r=a.slice(1);return(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:(0,t.jsx)(h.Z,{title:(0,t.jsx)("div",{className:"flex flex-col gap-1",children:a.map(e=>{let[s,a]=e;return(0,t.jsxs)("span",{children:[s,": ",String(a)]},s)})}),children:(0,t.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[l[0],": ",String(l[1]),r.length>0&&" +".concat(r.length)]})})})}}],b=e=>(0,t.jsx)(u.Z,{color:"gray",className:"flex items-center gap-1",children:(0,t.jsx)("span",{className:"whitespace-nowrap text-xs",children:e})}),y=[{id:"expander",header:()=>null,cell:e=>{let{row:s}=e;return(0,t.jsx)(()=>{let[e,a]=i.useState(s.getIsExpanded()),l=i.useCallback(()=>{a(e=>!e),s.getToggleExpandedHandler()()},[s]);return s.getCanExpand()?(0,t.jsx)("button",{onClick:l,style:{cursor:"pointer"},"aria-label":e?"Collapse row":"Expand row",className:"w-6 h-6 flex items-center justify-center focus:outline-none",children:(0,t.jsx)("svg",{className:"w-4 h-4 transform transition-transform ".concat(e?"rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}):(0,t.jsx)("span",{className:"w-6 h-6 flex items-center justify-center",children:"●"})},{})}},{header:"Timestamp",accessorKey:"updated_at",cell:e=>(0,t.jsx)(f,{utcTime:e.getValue()})},{header:"Table Name",accessorKey:"table_name",cell:e=>{let s=e.getValue(),a=s;switch(s){case"LiteLLM_VerificationToken":a="Keys";break;case"LiteLLM_TeamTable":a="Teams";break;case"LiteLLM_OrganizationTable":a="Organizations";break;case"LiteLLM_UserTable":a="Users";break;case"LiteLLM_ProxyModelTable":a="Models";break;default:a=s}return(0,t.jsx)("span",{children:a})}},{header:"Action",accessorKey:"action",cell:e=>(0,t.jsx)("span",{children:b(e.getValue())})},{header:"Changed By",accessorKey:"changed_by",cell:e=>{let s=e.row.original.changed_by,a=e.row.original.changed_by_api_key;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-medium",children:s}),a&&(0,t.jsx)(h.Z,{title:a,children:(0,t.jsxs)("div",{className:"text-xs text-muted-foreground max-w-[15ch] truncate",children:[" ",a]})})]})}},{header:"Affected Item ID",accessorKey:"object_id",cell:e=>(0,t.jsx)(()=>{let s=e.getValue(),[a,l]=(0,i.useState)(!1);if(!s)return(0,t.jsx)(t.Fragment,{children:"-"});let r=async()=>{try{await navigator.clipboard.writeText(String(s)),l(!0),setTimeout(()=>l(!1),1500)}catch(e){console.error("Failed to copy object ID: ",e)}};return(0,t.jsx)(h.Z,{title:a?"Copied!":String(s),children:(0,t.jsx)("span",{className:"max-w-[20ch] truncate block cursor-pointer hover:text-blue-600",onClick:r,children:String(s)})})},{})}],N=async(e,s,a,t)=>{console.log("prefetchLogDetails called with",e.length,"logs");let l=e.map(e=>{if(e.request_id)return console.log("Prefetching details for request_id:",e.request_id),t.prefetchQuery({queryKey:["logDetails",e.request_id,s],queryFn:async()=>{console.log("Fetching details for",e.request_id);let t=await (0,d.uiSpendLogDetailsCall)(a,e.request_id,s);return console.log("Received details for",e.request_id,":",t?"success":"failed"),t},staleTime:6e5,gcTime:6e5})});try{let e=await Promise.all(l);return console.log("All prefetch promises completed:",e.length),e}catch(e){throw console.error("Error in prefetchLogDetails:",e),e}};var w=a(9114),k=a(86669);function _(e){let{row:s,hasMessages:a,hasResponse:l,hasError:r,errorInfo:n,getRawRequest:i,formattedResponse:o}=e,d=async e=>{try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0;{let s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.focus(),s.select();let a=document.execCommand("copy");if(document.body.removeChild(s),!a)throw Error("execCommand failed");return!0}}catch(e){return console.error("Copy failed:",e),!1}},c=async()=>{await d(JSON.stringify(i(),null,2))?w.Z.success("Request copied to clipboard"):w.Z.fromBackend("Failed to copy request")},m=async()=>{await d(JSON.stringify(o(),null,2))?w.Z.success("Response copied to clipboard"):w.Z.fromBackend("Failed to copy response")};return(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 w-full max-w-full overflow-hidden box-border",children:[(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b",children:[(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Request"}),(0,t.jsx)("button",{onClick:c,className:"p-1 hover:bg-gray-200 rounded",title:"Copy request",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})]}),(0,t.jsx)("div",{className:"p-4 overflow-auto max-h-96 w-full max-w-full box-border",children:(0,t.jsx)("div",{className:"[&_[role='tree']]:bg-white [&_[role='tree']]:text-slate-900",children:(0,t.jsx)(k.gc,{data:i(),style:k.jF,clickToExpandNode:!0})})})]}),(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b",children:[(0,t.jsxs)("h3",{className:"text-lg font-medium",children:["Response",r&&(0,t.jsxs)("span",{className:"ml-2 text-sm text-red-600",children:["• HTTP code ",(null==n?void 0:n.error_code)||400]})]}),(0,t.jsx)("button",{onClick:m,className:"p-1 hover:bg-gray-200 rounded",title:"Copy response",disabled:!l,children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})]}),(0,t.jsx)("div",{className:"p-4 overflow-auto max-h-96 w-full max-w-full box-border",children:l?(0,t.jsx)("div",{className:"[&_[role='tree']]:bg-white [&_[role='tree']]:text-slate-900",children:(0,t.jsx)(k.gc,{data:o(),style:k.jF,clickToExpandNode:!0})}):(0,t.jsx)("div",{className:"text-gray-500 text-sm italic text-center py-4",children:"Response data not available"})})]})]})}a(52621);let S=e=>{var s;let{errorInfo:a}=e,[l,r]=i.useState({}),[n,o]=i.useState(!1),d=e=>{r(s=>({...s,[e]:!s[e]}))},c=a.traceback&&(s=a.traceback)?Array.from(s.matchAll(/File "([^"]+)", line (\d+)/g)).map(e=>{let a=e[1],t=e[2],l=a.split("/").pop()||a,r=e.index||0,n=s.indexOf('File "',r+1),i=n>-1?s.substring(r,n).trim():s.substring(r).trim(),o=i.split("\n"),d="";return o.length>1&&(d=o[o.length-1].trim()),{filePath:a,fileName:l,lineNumber:t,code:d,inFunction:i.includes(" in ")?i.split(" in ")[1].split("\n")[0]:""}}):[];return(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsx)("div",{className:"p-4 border-b",children:(0,t.jsxs)("h3",{className:"text-lg font-medium flex items-center text-red-600",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),"Error Details"]})}),(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsxs)("div",{className:"bg-red-50 rounded-md p-4 mb-4",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"text-red-800 font-medium w-20",children:"Type:"}),(0,t.jsx)("span",{className:"text-red-700",children:a.error_class||"Unknown Error"})]}),(0,t.jsxs)("div",{className:"flex mt-2",children:[(0,t.jsx)("span",{className:"text-red-800 font-medium w-20 flex-shrink-0",children:"Message:"}),(0,t.jsx)("span",{className:"text-red-700 break-words whitespace-pre-wrap",children:a.error_message||"Unknown error occurred"})]})]}),a.traceback&&(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,t.jsx)("h4",{className:"font-medium",children:"Traceback"}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsx)("button",{onClick:()=>{let e=!n;if(o(e),c.length>0){let s={};c.forEach((a,t)=>{s[t]=e}),r(s)}},className:"text-gray-500 hover:text-gray-700 flex items-center text-sm",children:n?"Collapse All":"Expand All"}),(0,t.jsxs)("button",{onClick:()=>navigator.clipboard.writeText(a.traceback||""),className:"text-gray-500 hover:text-gray-700 flex items-center",title:"Copy traceback",children:[(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),(0,t.jsx)("span",{className:"ml-1",children:"Copy"})]})]})]}),(0,t.jsx)("div",{className:"bg-white rounded-md border border-gray-200 overflow-hidden shadow-sm",children:c.map((e,s)=>(0,t.jsxs)("div",{className:"border-b border-gray-200 last:border-b-0",children:[(0,t.jsxs)("div",{className:"px-4 py-2 flex items-center justify-between cursor-pointer hover:bg-gray-50",onClick:()=>d(s),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("span",{className:"text-gray-400 mr-2 w-12 text-right",children:e.lineNumber}),(0,t.jsx)("span",{className:"text-gray-600 font-medium",children:e.fileName}),(0,t.jsx)("span",{className:"text-gray-500 mx-1",children:"in"}),(0,t.jsx)("span",{className:"text-indigo-600 font-medium",children:e.inFunction||e.fileName})]}),(0,t.jsx)("svg",{className:"w-5 h-5 text-gray-500 transition-transform ".concat(l[s]?"transform rotate-180":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),(l[s]||!1)&&e.code&&(0,t.jsx)("div",{className:"px-12 py-2 font-mono text-sm text-gray-800 bg-gray-50 overflow-x-auto border-t border-gray-100",children:e.code})]},s))})]})]})]})};var C=a(20347);let L=e=>{let{show:s}=e;return s?(0,t.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 flex items-start",children:[(0,t.jsx)("div",{className:"text-blue-500 mr-3 flex-shrink-0 mt-0.5",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,t.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-blue-800",children:"Request/Response Data Not Available"}),(0,t.jsxs)("p",{className:"text-sm text-blue-700 mt-1",children:["To view request and response details, enable prompt storage in your LiteLLM configuration by adding the following to your ",(0,t.jsx)("code",{className:"bg-blue-100 px-1 py-0.5 rounded",children:"proxy_config.yaml"})," file:"]}),(0,t.jsx)("pre",{className:"mt-2 bg-white p-3 rounded border border-blue-200 text-xs font-mono overflow-auto",children:"general_settings:\n store_model_in_db: true\n store_prompts_in_spend_logs: true"}),(0,t.jsx)("p",{className:"text-xs text-blue-700 mt-2",children:"Note: This will only affect new requests after the configuration change."})]})]}):null};var M=a(94292),T=a(12514),E=a(35829),D=a(84264),A=a(96761),I=a(10900),R=a(5545),O=a(30401),H=a(78867);let q=e=>{let{sessionId:s,logs:a,onBack:l}=e,[r,n]=(0,i.useState)(null),[o,d]=(0,i.useState)({}),u=a.reduce((e,s)=>e+(s.spend||0),0),g=a.reduce((e,s)=>e+(s.total_tokens||0),0),p=a.reduce((e,s)=>{var a,t;return e+((null===(t=s.metadata)||void 0===t?void 0:null===(a=t.additional_usage_values)||void 0===a?void 0:a.cache_read_input_tokens)||0)},0),f=a.reduce((e,s)=>{var a,t;return e+((null===(t=s.metadata)||void 0===t?void 0:null===(a=t.additional_usage_values)||void 0===a?void 0:a.cache_creation_input_tokens)||0)},0),j=g+p+f,b=a.length>0?new Date(a[0].startTime):new Date;(((a.length>0?new Date(a[a.length-1].endTime):new Date).getTime()-b.getTime())/1e3).toFixed(2),a.map(e=>({time:new Date(e.startTime).toISOString(),tokens:e.total_tokens||0,cost:e.spend||0}));let y=async(e,s)=>{await (0,m.vQ)(e)&&(d(e=>({...e,[s]:!0})),setTimeout(()=>{d(e=>({...e,[s]:!1}))},2e3))};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)(x.Z,{icon:I.Z,variant:"light",onClick:l,className:"mb-4",children:"Back to All Logs"}),(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-gray-900",children:"Session Details"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,t.jsx)("p",{className:"text-sm text-gray-500 font-mono",children:s}),(0,t.jsx)(R.ZP,{type:"text",size:"small",icon:o["session-id"]?(0,t.jsx)(O.Z,{size:12}):(0,t.jsx)(H.Z,{size:12}),onClick:()=>y(s,"session-id"),className:"left-2 z-10 transition-all duration-200 ".concat(o["session-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]}),(0,t.jsxs)("a",{href:"https://docs.litellm.ai/docs/proxy/ui_logs_sessions",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:text-blue-800 flex items-center gap-1",children:["Get started with session management here",(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[(0,t.jsxs)(T.Z,{children:[(0,t.jsx)(D.Z,{children:"Total Requests"}),(0,t.jsx)(E.Z,{children:a.length})]}),(0,t.jsxs)(T.Z,{children:[(0,t.jsx)(D.Z,{children:"Total Cost"}),(0,t.jsxs)(E.Z,{children:["$",(0,m.pw)(u,6)]})]}),(0,t.jsx)(h.Z,{title:(0,t.jsxs)("div",{className:"text-white min-w-[200px]",children:[(0,t.jsx)("div",{className:"text-lg font-medium mb-3",children:"Usage breakdown"}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-base font-medium mb-2",children:"Input usage:"}),(0,t.jsxs)("div",{className:"space-y-2 text-sm text-gray-300",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"input:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(a.reduce((e,s)=>e+(s.prompt_tokens||0),0))})]}),p>0&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"input_cached_tokens:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(p)})]}),f>0&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"input_cache_creation_tokens:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(f)})]})]})]}),(0,t.jsxs)("div",{className:"border-t border-gray-600 pt-3",children:[(0,t.jsx)("div",{className:"text-base font-medium mb-2",children:"Output usage:"}),(0,t.jsx)("div",{className:"space-y-2 text-sm text-gray-300",children:(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"output:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(a.reduce((e,s)=>e+(s.completion_tokens||0),0))})]})})]}),(0,t.jsx)("div",{className:"border-t border-gray-600 pt-3",children:(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("span",{className:"text-base font-medium",children:"Total usage:"}),(0,t.jsx)("span",{className:"text-sm text-gray-300",children:(0,m.pw)(j)})]})})]})]}),placement:"top",overlayStyle:{minWidth:"300px"},children:(0,t.jsxs)(T.Z,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(D.Z,{children:"Total Tokens"}),(0,t.jsx)("span",{className:"text-gray-400 text-sm",children:"ⓘ"})]}),(0,t.jsx)(E.Z,{children:(0,m.pw)(j)})]})})]}),(0,t.jsx)(A.Z,{children:"Session Logs"}),(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(c.w,{columns:v,data:a,renderSubComponent:eg,getRowCanExpand:()=>!0,loadingMessage:"Loading logs...",noDataMessage:"No logs found"})})]})};function F(e){let{data:s}=e,[a,l]=(0,i.useState)(!0),[r,n]=(0,i.useState)({});if(!s||0===s.length)return null;let o=e=>new Date(1e3*e).toLocaleString(),d=(e,s)=>"".concat(((s-e)*1e3).toFixed(2),"ms"),c=(e,s)=>{let a="".concat(e,"-").concat(s);n(e=>({...e,[a]:!e[a]}))};return(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow mb-6",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50",onClick:()=>l(!a),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 text-gray-600 transition-transform ".concat(a?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Vector Store Requests"})]}),(0,t.jsx)("span",{className:"text-sm text-gray-500",children:a?"Click to collapse":"Click to expand"})]}),a&&(0,t.jsx)("div",{className:"p-4",children:s.map((e,s)=>(0,t.jsxs)("div",{className:"mb-6 last:mb-0",children:[(0,t.jsx)("div",{className:"bg-white rounded-lg border p-4 mb-4",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Query:"}),(0,t.jsx)("span",{className:"font-mono",children:e.query})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Vector Store ID:"}),(0,t.jsx)("span",{className:"font-mono",children:e.vector_store_id})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Provider:"}),(0,t.jsx)("span",{className:"flex items-center",children:(()=>{let{logo:s,displayName:a}=(0,g.dr)(e.custom_llm_provider);return(0,t.jsxs)(t.Fragment,{children:[s&&(0,t.jsx)("img",{src:s,alt:"".concat(a," logo"),className:"h-5 w-5 mr-2"}),a]})})()})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Start Time:"}),(0,t.jsx)("span",{children:o(e.start_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"End Time:"}),(0,t.jsx)("span",{children:o(e.end_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Duration:"}),(0,t.jsx)("span",{children:d(e.start_time,e.end_time)})]})]})]})}),(0,t.jsx)("h4",{className:"font-medium mb-2",children:"Search Results"}),(0,t.jsx)("div",{className:"space-y-2",children:e.vector_store_search_response.data.map((e,a)=>{let l=r["".concat(s,"-").concat(a)]||!1;return(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center p-3 bg-gray-50 cursor-pointer",onClick:()=>c(s,a),children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(l?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsxs)("span",{className:"font-medium mr-2",children:["Result ",a+1]}),(0,t.jsxs)("span",{className:"text-gray-500 text-sm",children:["Score: ",(0,t.jsx)("span",{className:"font-mono",children:e.score.toFixed(4)})]})]})]}),l&&(0,t.jsx)("div",{className:"p-3 border-t bg-white",children:e.content.map((e,s)=>(0,t.jsxs)("div",{className:"mb-2 last:mb-0",children:[(0,t.jsx)("div",{className:"text-xs text-gray-500 mb-1",children:e.type}),(0,t.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-all bg-gray-50 p-2 rounded",children:e.text})]},s))})]},a)})})]},s))})]})}let Y=e=>e>=.8?"text-green-600":"text-yellow-600";var K=e=>{let{entities:s}=e,[a,l]=(0,i.useState)(!0),[r,n]=(0,i.useState)({}),o=e=>{n(s=>({...s,[e]:!s[e]}))};return s&&0!==s.length?(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsxs)("div",{className:"flex items-center mb-2 cursor-pointer",onClick:()=>l(!a),children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(a?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsxs)("h4",{className:"font-medium",children:["Detected Entities (",s.length,")"]})]}),a&&(0,t.jsx)("div",{className:"space-y-2",children:s.map((e,s)=>{let a=r[s]||!1;return(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 bg-gray-50 cursor-pointer hover:bg-gray-100",onClick:()=>o(s),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(a?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsx)("span",{className:"font-medium mr-2",children:e.entity_type}),(0,t.jsxs)("span",{className:"font-mono ".concat(Y(e.score)),children:["Score: ",e.score.toFixed(2)]})]}),(0,t.jsxs)("span",{className:"text-xs text-gray-500",children:["Position: ",e.start,"-",e.end]})]}),a&&(0,t.jsx)("div",{className:"p-3 border-t bg-white",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Entity Type:"}),(0,t.jsx)("span",{children:e.entity_type})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Position:"}),(0,t.jsxs)("span",{children:["Characters ",e.start,"-",e.end]})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Confidence:"}),(0,t.jsx)("span",{className:Y(e.score),children:e.score.toFixed(2)})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[e.recognition_metadata&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Recognizer:"}),(0,t.jsx)("span",{children:e.recognition_metadata.recognizer_name})]}),(0,t.jsxs)("div",{className:"flex overflow-hidden",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Identifier:"}),(0,t.jsx)("span",{className:"truncate text-xs font-mono",children:e.recognition_metadata.recognizer_identifier})]})]}),e.analysis_explanation&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Explanation:"}),(0,t.jsx)("span",{children:e.analysis_explanation})]})]})]})})]},s)})})]}):null};let P=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"slate";return(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block ".concat({green:"bg-green-100 text-green-800",red:"bg-red-100 text-red-800",blue:"bg-blue-50 text-blue-700",slate:"bg-slate-100 text-slate-800",amber:"bg-amber-100 text-amber-800"}[s]),children:e})},Z=e=>e?P("detected","red"):P("not detected","slate"),U=e=>{let{title:s,count:a,defaultOpen:l=!0,right:r,children:n}=e,[o,d]=(0,i.useState)(l);return(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 bg-gray-50 cursor-pointer hover:bg-gray-100",onClick:()=>d(e=>!e),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(o?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsxs)("h5",{className:"font-medium",children:[s," ","number"==typeof a&&(0,t.jsxs)("span",{className:"text-gray-500 font-normal",children:["(",a,")"]})]})]}),(0,t.jsx)("div",{children:r})]}),o&&(0,t.jsx)("div",{className:"p-3 border-t bg-white",children:n})]})},V=e=>{let{label:s,children:a,mono:l}=e;return(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:s}),(0,t.jsx)("span",{className:l?"font-mono text-sm break-all":"",children:a})]})},B=()=>(0,t.jsx)("div",{className:"my-3 border-t"});var W=e=>{var s,a,l,r,n,i,o,d,c,m;let{response:u}=e;if(!u)return null;let x=null!==(n=null!==(r=u.outputs)&&void 0!==r?r:u.output)&&void 0!==n?n:[],h="GUARDRAIL_INTERVENED"===u.action?"red":"green",g=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(null===(s=u.guardrailCoverage)||void 0===s?void 0:s.textCharacters)&&P("text guarded ".concat(null!==(i=u.guardrailCoverage.textCharacters.guarded)&&void 0!==i?i:0,"/").concat(null!==(o=u.guardrailCoverage.textCharacters.total)&&void 0!==o?o:0),"blue"),(null===(a=u.guardrailCoverage)||void 0===a?void 0:a.images)&&P("images guarded ".concat(null!==(d=u.guardrailCoverage.images.guarded)&&void 0!==d?d:0,"/").concat(null!==(c=u.guardrailCoverage.images.total)&&void 0!==c?c:0),"blue")]}),p=u.usage&&(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(u.usage).map(e=>{let[s,a]=e;return"number"==typeof a?(0,t.jsxs)("span",{className:"px-2 py-1 bg-slate-100 text-slate-800 rounded-md text-xs font-medium",children:[s,": ",a]},s):null})});return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"border rounded-lg p-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(V,{label:"Action:",children:P(null!==(m=u.action)&&void 0!==m?m:"N/A",h)}),u.actionReason&&(0,t.jsx)(V,{label:"Action Reason:",children:u.actionReason}),u.blockedResponse&&(0,t.jsx)(V,{label:"Blocked Response:",children:(0,t.jsx)("span",{className:"italic",children:u.blockedResponse})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(V,{label:"Coverage:",children:g}),(0,t.jsx)(V,{label:"Usage:",children:p})]})]}),x.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B,{}),(0,t.jsx)("h4",{className:"font-medium mb-2",children:"Outputs"}),(0,t.jsx)("div",{className:"space-y-2",children:x.map((e,s)=>{var a;return(0,t.jsx)("div",{className:"p-3 bg-gray-50 rounded-md",children:(0,t.jsx)("div",{className:"text-sm whitespace-pre-wrap",children:null!==(a=e.text)&&void 0!==a?a:(0,t.jsx)("em",{children:"(non-text output)"})})},s)})})]})]}),(null===(l=u.assessments)||void 0===l?void 0:l.length)?(0,t.jsx)("div",{className:"space-y-3",children:u.assessments.map((e,s)=>{var a,l,r,n,i,o,d,c,m,u,x,h,g,p,f,j,v,b,y,N,w,k,_,S;let C=(0,t.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.wordPolicy&&P("word","slate"),e.contentPolicy&&P("content","slate"),e.topicPolicy&&P("topic","slate"),e.sensitiveInformationPolicy&&P("sensitive-info","slate"),e.contextualGroundingPolicy&&P("contextual-grounding","slate"),e.automatedReasoningPolicy&&P("automated-reasoning","slate")]});return(0,t.jsxs)(U,{title:"Assessment #".concat(s+1),defaultOpen:!0,right:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(null===(a=e.invocationMetrics)||void 0===a?void 0:a.guardrailProcessingLatency)!=null&&P("".concat(e.invocationMetrics.guardrailProcessingLatency," ms"),"amber"),C]}),children:[e.wordPolicy&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Word Policy"}),(null!==(j=null===(l=e.wordPolicy.customWords)||void 0===l?void 0:l.length)&&void 0!==j?j:0)>0&&(0,t.jsx)(U,{title:"Custom Words",defaultOpen:!0,children:(0,t.jsx)("div",{className:"space-y-2",children:e.wordPolicy.customWords.map((e,s)=>{var a;return(0,t.jsxs)("div",{className:"flex justify-between items-center p-2 bg-gray-50 rounded",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-mono text-sm break-all",children:e.match})]}),Z(e.detected)]},s)})})}),(null!==(v=null===(r=e.wordPolicy.managedWordLists)||void 0===r?void 0:r.length)&&void 0!==v?v:0)>0&&(0,t.jsx)(U,{title:"Managed Word Lists",defaultOpen:!1,children:(0,t.jsx)("div",{className:"space-y-2",children:e.wordPolicy.managedWordLists.map((e,s)=>{var a;return(0,t.jsxs)("div",{className:"flex justify-between items-center p-2 bg-gray-50 rounded",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-mono text-sm break-all",children:e.match}),e.type&&P(e.type,"slate")]}),Z(e.detected)]},s)})})})]}),(null===(i=e.contentPolicy)||void 0===i?void 0:null===(n=i.filters)||void 0===n?void 0:n.length)?(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Content Policy"}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"text-left text-gray-600",children:[(0,t.jsx)("th",{className:"py-1 pr-4",children:"Type"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Action"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Detected"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Strength"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Confidence"})]})}),(0,t.jsx)("tbody",{children:e.contentPolicy.filters.map((e,s)=>{var a,l,r,n;return(0,t.jsxs)("tr",{className:"border-t",children:[(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(a=e.type)&&void 0!==a?a:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:P(null!==(l=e.action)&&void 0!==l?l:"—",e.detected?"red":"slate")}),(0,t.jsx)("td",{className:"py-1 pr-4",children:Z(e.detected)}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(r=e.filterStrength)&&void 0!==r?r:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(n=e.confidence)&&void 0!==n?n:"—"})]},s)})})]})})]}):null,(null===(d=e.contextualGroundingPolicy)||void 0===d?void 0:null===(o=d.filters)||void 0===o?void 0:o.length)?(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Contextual Grounding"}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"text-left text-gray-600",children:[(0,t.jsx)("th",{className:"py-1 pr-4",children:"Type"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Action"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Detected"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Score"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Threshold"})]})}),(0,t.jsx)("tbody",{children:e.contextualGroundingPolicy.filters.map((e,s)=>{var a,l,r,n;return(0,t.jsxs)("tr",{className:"border-t",children:[(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(a=e.type)&&void 0!==a?a:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:P(null!==(l=e.action)&&void 0!==l?l:"—",e.detected?"red":"slate")}),(0,t.jsx)("td",{className:"py-1 pr-4",children:Z(e.detected)}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(r=e.score)&&void 0!==r?r:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(n=e.threshold)&&void 0!==n?n:"—"})]},s)})})]})})]}):null,e.sensitiveInformationPolicy&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Sensitive Information"}),(null!==(b=null===(c=e.sensitiveInformationPolicy.piiEntities)||void 0===c?void 0:c.length)&&void 0!==b?b:0)>0&&(0,t.jsx)(U,{title:"PII Entities",defaultOpen:!0,children:(0,t.jsx)("div",{className:"space-y-2",children:e.sensitiveInformationPolicy.piiEntities.map((e,s)=>{var a;return(0,t.jsxs)("div",{className:"flex justify-between items-center p-2 bg-gray-50 rounded",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),e.type&&P(e.type,"slate"),(0,t.jsx)("span",{className:"font-mono text-xs break-all",children:e.match})]}),Z(e.detected)]},s)})})}),(null!==(y=null===(m=e.sensitiveInformationPolicy.regexes)||void 0===m?void 0:m.length)&&void 0!==y?y:0)>0&&(0,t.jsx)(U,{title:"Custom Regexes",defaultOpen:!1,children:(0,t.jsx)("div",{className:"space-y-2",children:e.sensitiveInformationPolicy.regexes.map((e,s)=>{var a,l;return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between p-2 bg-gray-50 rounded gap-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-medium",children:null!==(l=e.name)&&void 0!==l?l:"regex"}),(0,t.jsx)("span",{className:"font-mono text-xs break-all",children:e.regex})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[Z(e.detected),e.match&&(0,t.jsx)("span",{className:"font-mono text-xs break-all",children:e.match})]})]},s)})})})]}),(null===(x=e.topicPolicy)||void 0===x?void 0:null===(u=x.topics)||void 0===u?void 0:u.length)?(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Topic Policy"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.topicPolicy.topics.map((e,s)=>{var a,l;return(0,t.jsx)("div",{className:"px-3 py-1.5 bg-gray-50 rounded-md text-xs",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-medium",children:null!==(l=e.name)&&void 0!==l?l:"topic"}),e.type&&P(e.type,"slate"),Z(e.detected)]})},s)})})]}):null,e.invocationMetrics&&(0,t.jsx)(U,{title:"Invocation Metrics",defaultOpen:!1,children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(V,{label:"Latency (ms)",children:null!==(N=e.invocationMetrics.guardrailProcessingLatency)&&void 0!==N?N:"—"}),(0,t.jsx)(V,{label:"Coverage:",children:(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(null===(h=e.invocationMetrics.guardrailCoverage)||void 0===h?void 0:h.textCharacters)&&P("text ".concat(null!==(w=e.invocationMetrics.guardrailCoverage.textCharacters.guarded)&&void 0!==w?w:0,"/").concat(null!==(k=e.invocationMetrics.guardrailCoverage.textCharacters.total)&&void 0!==k?k:0),"blue"),(null===(g=e.invocationMetrics.guardrailCoverage)||void 0===g?void 0:g.images)&&P("images ".concat(null!==(_=e.invocationMetrics.guardrailCoverage.images.guarded)&&void 0!==_?_:0,"/").concat(null!==(S=e.invocationMetrics.guardrailCoverage.images.total)&&void 0!==S?S:0),"blue")]})})]}),(0,t.jsx)("div",{className:"space-y-2",children:(0,t.jsx)(V,{label:"Usage:",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.invocationMetrics.usage&&Object.entries(e.invocationMetrics.usage).map(e=>{let[s,a]=e;return"number"==typeof a?(0,t.jsxs)("span",{className:"px-2 py-1 bg-slate-100 text-slate-800 rounded-md text-xs font-medium",children:[s,": ",a]},s):null})})})})]})}),(null===(f=e.automatedReasoningPolicy)||void 0===f?void 0:null===(p=f.findings)||void 0===p?void 0:p.length)?(0,t.jsx)(U,{title:"Automated Reasoning Findings",defaultOpen:!1,children:(0,t.jsx)("div",{className:"space-y-2",children:e.automatedReasoningPolicy.findings.map((e,s)=>(0,t.jsx)("pre",{className:"bg-gray-50 rounded p-2 text-xs overflow-x-auto",children:JSON.stringify(e,null,2)},s))})}):null]},s)})}):null,(0,t.jsx)(U,{title:"Raw Bedrock Guardrail Response",defaultOpen:!1,children:(0,t.jsx)("pre",{className:"bg-gray-50 rounded p-3 text-xs overflow-x-auto",children:JSON.stringify(u,null,2)})})]})};let z=e=>new Date(1e3*e).toLocaleString(),J=e=>{var s,a;let{entry:l,index:r,total:n}=e,i=null!==(s=l.guardrail_provider)&&void 0!==s?s:"presidio",o=null!==(a=l.guardrail_status)&&void 0!==a?a:"unknown",d="success"===o.toLowerCase(),c=l.masked_entity_count||{},m=Object.values(c).reduce((e,s)=>e+("number"==typeof s?s:0),0),u=l.guardrail_response,x=Array.isArray(u)?u:[],g="bedrock"!==i||null===u||"object"!=typeof u||Array.isArray(u)?void 0:u;return(0,t.jsxs)("div",{className:"bg-white rounded-lg border border-gray-200 p-4",children:[n>1&&(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("h4",{className:"text-base font-semibold",children:["Guardrail #",r+1,(0,t.jsx)("span",{className:"ml-2 font-mono text-sm text-gray-600",children:l.guardrail_name})]}),(0,t.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-600 rounded-md text-xs capitalize",children:i})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Guardrail Name:"}),(0,t.jsx)("span",{className:"font-mono break-words",children:l.guardrail_name})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Mode:"}),(0,t.jsx)("span",{className:"font-mono break-words",children:l.guardrail_mode})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Status:"}),(0,t.jsx)(h.Z,{title:d?null:"Guardrail failed to run.",placement:"top",arrow:!0,destroyTooltipOnHide:!0,children:(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block ".concat(d?"bg-green-100 text-green-800":"bg-red-100 text-red-800 cursor-help"),children:o})})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Start Time:"}),(0,t.jsx)("span",{children:z(l.start_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"End Time:"}),(0,t.jsx)("span",{children:z(l.end_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Duration:"}),(0,t.jsxs)("span",{children:[l.duration.toFixed(4),"s"]})]})]})]}),m>0&&(0,t.jsxs)("div",{className:"mt-4 pt-4 border-t",children:[(0,t.jsx)("h5",{className:"font-medium mb-2",children:"Masked Entity Summary"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(c).map(e=>{let[s,a]=e;return(0,t.jsxs)("span",{className:"px-3 py-1.5 bg-blue-50 text-blue-700 rounded-md text-xs font-medium",children:[s,": ",a]},s)})})]}),"presidio"===i&&x.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(K,{entities:x})}),"bedrock"===i&&g&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(W,{response:g})})]})};var G=e=>{let{data:s}=e,a=Array.isArray(s)?s.filter(e=>!!e):s?[s]:[],[l,r]=(0,i.useState)(!0),n=1===a.length?a[0].guardrail_name:"".concat(a.length," guardrails"),o=Array.from(new Set(a.map(e=>e.guardrail_status))).every(e=>"success"===(null!=e?e:"").toLowerCase()),d=a.reduce((e,s)=>e+Object.values(s.masked_entity_count||{}).reduce((e,s)=>e+("number"==typeof s?s:0),0),0);return 0===a.length?null:(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow mb-6",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50",onClick:()=>r(!l),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("svg",{className:"w-5 h-5 text-gray-600 transition-transform ".concat(l?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Guardrail Information"}),(0,t.jsx)(h.Z,{title:o?null:"Guardrail failed to run.",placement:"top",arrow:!0,destroyTooltipOnHide:!0,children:(0,t.jsx)("span",{className:"ml-2 px-2 py-1 rounded-md text-xs font-medium inline-block ".concat(o?"bg-green-100 text-green-800":"bg-red-100 text-red-800 cursor-help"),children:o?"success":"failure"})}),(0,t.jsx)("span",{className:"ml-2 font-mono text-sm text-gray-600",children:n}),d>0&&(0,t.jsxs)("span",{className:"ml-2 px-2 py-1 bg-blue-50 text-blue-700 rounded-md text-xs font-medium",children:[d," masked ",1===d?"entity":"entities"]})]}),(0,t.jsx)("span",{className:"text-sm text-gray-500",children:l?"Click to collapse":"Click to expand"})]}),l&&(0,t.jsx)("div",{className:"p-4 space-y-6",children:a.map((e,s)=>{var l;return(0,t.jsx)(J,{entry:e,index:s,total:a.length},"".concat(null!==(l=e.guardrail_name)&&void 0!==l?l:"guardrail","-").concat(s))})})]})},Q=a(23048),$=a(30841),X=a(7310),ee=a.n(X),es=a(12363);let ea={TEAM_ID:"Team ID",KEY_HASH:"Key Hash",REQUEST_ID:"Request ID",MODEL:"Model",USER_ID:"User ID",END_USER:"End User",STATUS:"Status",KEY_ALIAS:"Key Alias"};var et=a(59341),el=a(12485),er=a(18135),en=a(35242),ei=a(29706),eo=a(77991),ed=a(92280);let ec="".concat("../ui/assets/","audit-logs-preview.png");function em(e){let{userID:s,userRole:a,token:l,accessToken:o,isActive:u,premiumUser:x,allTeams:h}=e,[g,p]=(0,i.useState)(r()().subtract(24,"hours").format("YYYY-MM-DDTHH:mm")),f=(0,i.useRef)(null),j=(0,i.useRef)(null),[v,b]=(0,i.useState)(1),[N]=(0,i.useState)(50),[w,k]=(0,i.useState)({}),[_,S]=(0,i.useState)(""),[C,L]=(0,i.useState)(""),[M,T]=(0,i.useState)(""),[E,D]=(0,i.useState)("all"),[A,I]=(0,i.useState)("all"),[R,O]=(0,i.useState)(!1),[H,q]=(0,i.useState)(!1),F=(0,n.a)({queryKey:["all_audit_logs",o,l,a,s,g],queryFn:async()=>{if(!o||!l||!a||!s)return[];let e=r()(g).utc().format("YYYY-MM-DD HH:mm:ss"),t=r()().utc().format("YYYY-MM-DD HH:mm:ss"),n=[],i=1,c=1;do{let s=await (0,d.uiAuditLogsCall)(o,e,t,i,50);n=n.concat(s.audit_logs),c=s.total_pages,i++}while(i<=c);return n},enabled:!!o&&!!l&&!!a&&!!s&&u,refetchInterval:5e3,refetchIntervalInBackground:!0}),Y=(0,i.useCallback)(async e=>{if(o)try{let s=(await (0,d.keyListCall)(o,null,null,e,null,null,1,10)).keys.find(s=>s.key_alias===e);s?L(s.token):L("")}catch(e){console.error("Error fetching key hash for alias:",e),L("")}},[o]);(0,i.useEffect)(()=>{if(!o)return;let e=!1,s=!1;w["Team ID"]?_!==w["Team ID"]&&(S(w["Team ID"]),e=!0):""!==_&&(S(""),e=!0),w["Key Hash"]?C!==w["Key Hash"]&&(L(w["Key Hash"]),s=!0):w["Key Alias"]?Y(w["Key Alias"]):""!==C&&(L(""),s=!0),(e||s)&&b(1)},[w,o,Y,_,C]),(0,i.useEffect)(()=>{b(1)},[_,C,g,M,E,A]),(0,i.useEffect)(()=>{function e(e){f.current&&!f.current.contains(e.target)&&O(!1),j.current&&!j.current.contains(e.target)&&q(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let K=(0,i.useMemo)(()=>F.data?F.data.filter(e=>{var s,a,t,l,r,n,i;let o=!0,d=!0,c=!0,m=!0,u=!0;if(_){let r="string"==typeof e.before_value?null===(s=JSON.parse(e.before_value))||void 0===s?void 0:s.team_id:null===(a=e.before_value)||void 0===a?void 0:a.team_id,n="string"==typeof e.updated_values?null===(t=JSON.parse(e.updated_values))||void 0===t?void 0:t.team_id:null===(l=e.updated_values)||void 0===l?void 0:l.team_id;o=r===_||n===_}if(C)try{let s="string"==typeof e.before_value?JSON.parse(e.before_value):e.before_value,a="string"==typeof e.updated_values?JSON.parse(e.updated_values):e.updated_values,t=null==s?void 0:s.token,l=null==a?void 0:a.token;d="string"==typeof t&&t.includes(C)||"string"==typeof l&&l.includes(C)}catch(e){d=!1}if(M&&(c=null===(r=e.object_id)||void 0===r?void 0:r.toLowerCase().includes(M.toLowerCase())),"all"!==E&&(m=(null===(n=e.action)||void 0===n?void 0:n.toLowerCase())===E.toLowerCase()),"all"!==A){let s="";switch(A){case"keys":s="litellm_verificationtoken";break;case"teams":s="litellm_teamtable";break;case"users":s="litellm_usertable";break;default:s=A}u=(null===(i=e.table_name)||void 0===i?void 0:i.toLowerCase())===s}return o&&d&&c&&m&&u}):[],[F.data,_,C,M,E,A]),P=K.length,Z=Math.ceil(P/N)||1,U=(0,i.useMemo)(()=>{let e=(v-1)*N,s=e+N;return K.slice(e,s)},[K,v,N]),V=!F.data||0===F.data.length,B=(0,i.useCallback)(e=>{let{row:s}=e;return(0,t.jsx)(e=>{let{rowData:s}=e,{before_value:a,updated_values:l,table_name:r,action:n}=s,i=(e,s)=>{if(!e||0===Object.keys(e).length)return(0,t.jsx)(ed.x,{children:"N/A"});if(s){let s=Object.keys(e),a=["token","spend","max_budget"];if(s.every(e=>a.includes(e))&&s.length>0)return(0,t.jsxs)("div",{children:[s.includes("token")&&(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Token:"})," ",e.token||"N/A"]}),s.includes("spend")&&(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Spend:"})," ",void 0!==e.spend?"$".concat((0,m.pw)(e.spend,6)):"N/A"]}),s.includes("max_budget")&&(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Max Budget:"})," ",void 0!==e.max_budget?"$".concat((0,m.pw)(e.max_budget,6)):"N/A"]})]});if(e["No differing fields detected in 'before' state"]||e["No differing fields detected in 'updated' state"]||e["No fields changed"])return(0,t.jsx)(ed.x,{children:e[Object.keys(e)[0]]})}return(0,t.jsx)("pre",{className:"p-2 bg-gray-50 border rounded text-xs overflow-auto max-h-60",children:JSON.stringify(e,null,2)})},o=a,d=l;if(("updated"===n||"rotated"===n)&&a&&l&&("LiteLLM_TeamTable"===r||"LiteLLM_UserTable"===r||"LiteLLM_VerificationToken"===r)){let e={},s={};new Set([...Object.keys(a),...Object.keys(l)]).forEach(t=>{JSON.stringify(a[t])!==JSON.stringify(l[t])&&(a.hasOwnProperty(t)&&(e[t]=a[t]),l.hasOwnProperty(t)&&(s[t]=l[t]))}),Object.keys(a).forEach(t=>{l.hasOwnProperty(t)||e.hasOwnProperty(t)||(e[t]=a[t],s[t]=void 0)}),Object.keys(l).forEach(t=>{a.hasOwnProperty(t)||s.hasOwnProperty(t)||(s[t]=l[t],e[t]=void 0)}),o=Object.keys(e).length>0?e:{"No differing fields detected in 'before' state":"N/A"},d=Object.keys(s).length>0?s:{"No differing fields detected in 'updated' state":"N/A"},0===Object.keys(e).length&&0===Object.keys(s).length&&(o={"No fields changed":"N/A"},d={"No fields changed":"N/A"})}return(0,t.jsxs)("div",{className:"-mx-4 p-4 bg-slate-100 border-y border-slate-300 grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"font-semibold mb-2 text-sm text-slate-700",children:"Before Value:"}),i(o,"LiteLLM_VerificationToken"===r)]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"font-semibold mb-2 text-sm text-slate-700",children:"Updated Value:"}),i(d,"LiteLLM_VerificationToken"===r)]})]})},{rowData:s.original})},[]);if(!x)return(0,t.jsxs)("div",{style:{textAlign:"center",marginTop:"20px"},children:[(0,t.jsx)("h1",{style:{display:"block",marginBottom:"10px"},children:"✨ Enterprise Feature."}),(0,t.jsx)(ed.x,{style:{display:"block",marginBottom:"10px"},children:"This is a LiteLLM Enterprise feature, and requires a valid key to use."}),(0,t.jsx)(ed.x,{style:{display:"block",marginBottom:"20px",fontStyle:"italic"},children:"Here's a preview of what Audit Logs offer:"}),(0,t.jsx)("img",{src:ec,alt:"Audit Logs Preview",style:{maxWidth:"100%",maxHeight:"700px",borderRadius:"8px",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",margin:"0 auto"},onError:e=>{console.error("Failed to load audit logs preview image"),e.target.style.display="none"}})]});let W=P>0?(v-1)*N+1:0,z=Math.min(v*N,P);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex items-center justify-between mb-4"}),(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsxs)("div",{className:"border-b px-6 py-4",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold py-4",children:"Audit Logs"}),(0,t.jsx)(e=>{let{show:s}=e;return s?(0,t.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 flex items-start mb-6",children:[(0,t.jsx)("div",{className:"text-blue-500 mr-3 flex-shrink-0 mt-0.5",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,t.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-blue-800",children:"Audit Logs Not Available"}),(0,t.jsx)("p",{className:"text-sm text-blue-700 mt-1",children:"To enable audit logging, add the following configuration to your LiteLLM proxy configuration file:"}),(0,t.jsx)("pre",{className:"mt-2 bg-white p-3 rounded border border-blue-200 text-xs font-mono overflow-auto",children:"litellm_settings:\n store_audit_logs: true"}),(0,t.jsx)("p",{className:"text-xs text-blue-700 mt-2",children:"Note: This will only affect new requests after the configuration change and proxy restart."})]})]}):null},{show:V}),(0,t.jsxs)("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between space-y-4 md:space-y-0",children:[(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"flex items-center",children:(0,t.jsx)("input",{type:"text",placeholder:"Search by Object ID...",value:M,onChange:e=>T(e.target.value),className:"px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"})}),(0,t.jsxs)("button",{onClick:()=>{F.refetch()},className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",title:"Refresh data",children:[(0,t.jsx)("svg",{className:"w-4 h-4 ".concat(F.isFetching?"animate-spin":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),(0,t.jsx)("span",{children:"Refresh"})]})]})}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsxs)("div",{className:"relative",ref:f,children:[(0,t.jsx)("label",{htmlFor:"actionFilterDisplay",className:"mr-2 text-sm font-medium text-gray-700 sr-only",children:"Action:"}),(0,t.jsxs)("button",{id:"actionFilterDisplay",onClick:()=>O(!R),className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 bg-white w-40 text-left justify-between",children:[(0,t.jsxs)("span",{children:["all"===E&&"All Actions","created"===E&&"Created","updated"===E&&"Updated","deleted"===E&&"Deleted","rotated"===E&&"Rotated"]}),(0,t.jsx)("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M19 9l-7 7-7-7"})})]}),R&&(0,t.jsx)("div",{className:"absolute left-0 mt-2 w-40 bg-white rounded-lg shadow-lg border p-1 z-50",children:(0,t.jsx)("div",{className:"space-y-1",children:[{label:"All Actions",value:"all"},{label:"Created",value:"created"},{label:"Updated",value:"updated"},{label:"Deleted",value:"deleted"},{label:"Rotated",value:"rotated"}].map(e=>(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(E===e.value?"bg-blue-50 text-blue-600 font-medium":"font-normal"),onClick:()=>{D(e.value),O(!1)},children:e.label},e.value))})})]}),(0,t.jsxs)("div",{className:"relative",ref:j,children:[(0,t.jsx)("label",{htmlFor:"tableFilterDisplay",className:"mr-2 text-sm font-medium text-gray-700 sr-only",children:"Table:"}),(0,t.jsxs)("button",{id:"tableFilterDisplay",onClick:()=>q(!H),className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 bg-white w-40 text-left justify-between",children:[(0,t.jsxs)("span",{children:["all"===A&&"All Tables","keys"===A&&"Keys","teams"===A&&"Teams","users"===A&&"Users"]}),(0,t.jsx)("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M19 9l-7 7-7-7"})})]}),H&&(0,t.jsx)("div",{className:"absolute left-0 mt-2 w-40 bg-white rounded-lg shadow-lg border p-1 z-50",children:(0,t.jsx)("div",{className:"space-y-1",children:[{label:"All Tables",value:"all"},{label:"Keys",value:"keys"},{label:"Teams",value:"teams"},{label:"Users",value:"users"}].map(e=>(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(A===e.value?"bg-blue-50 text-blue-600 font-medium":"font-normal"),onClick:()=>{I(e.value),q(!1)},children:e.label},e.value))})})]}),(0,t.jsxs)("span",{className:"text-sm text-gray-700",children:["Showing ",F.isLoading?"...":W," -"," ",F.isLoading?"...":z," of"," ",F.isLoading?"...":P," results"]}),(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsxs)("span",{className:"text-sm text-gray-700",children:["Page ",F.isLoading?"...":v," of"," ",F.isLoading?"...":Z]}),(0,t.jsx)("button",{onClick:()=>b(e=>Math.max(1,e-1)),disabled:F.isLoading||1===v,className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Previous"}),(0,t.jsx)("button",{onClick:()=>b(e=>Math.min(Z,e+1)),disabled:F.isLoading||v===Z,className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Next"})]})]})]})]}),(0,t.jsx)(c.w,{columns:y,data:U,renderSubComponent:B,getRowCanExpand:()=>!0})]})]})}let eu=(e,s,a)=>{if(e)return"".concat(r()(s).format("MMM D, h:mm A")," - ").concat(r()(a).format("MMM D, h:mm A"));let t=r()(),l=r()(s),n=t.diff(l,"minutes");if(n>=0&&n<2)return"Last 1 Minute";if(n>=2&&n<16)return"Last 15 Minutes";if(n>=16&&n<61)return"Last Hour";let i=t.diff(l,"hours");return i>=1&&i<5?"Last 4 Hours":i>=5&&i<25?"Last 24 Hours":i>=25&&i<169?"Last 7 Days":"".concat(l.format("MMM D")," - ").concat(t.format("MMM D"))};var ex=a(9309);function eh(e){var s,a,l;let{accessToken:m,token:u,userRole:x,userID:h,allTeams:g,premiumUser:p}=e,[f,j]=(0,i.useState)(""),[b,y]=(0,i.useState)(!1),[w,k]=(0,i.useState)(!1),[_,S]=(0,i.useState)(1),[L]=(0,i.useState)(50),T=(0,i.useRef)(null),E=(0,i.useRef)(null),D=(0,i.useRef)(null),[A,I]=(0,i.useState)(r()().subtract(24,"hours").format("YYYY-MM-DDTHH:mm")),[R,O]=(0,i.useState)(r()().format("YYYY-MM-DDTHH:mm")),[H,F]=(0,i.useState)(!1),[Y,K]=(0,i.useState)(!1),[P,Z]=(0,i.useState)(""),[U,V]=(0,i.useState)(""),[B,W]=(0,i.useState)(""),[z,J]=(0,i.useState)(""),[G,X]=(0,i.useState)(""),[ed,ec]=(0,i.useState)(null),[ex,eh]=(0,i.useState)(null),[ep,ef]=(0,i.useState)(""),[ej,ev]=(0,i.useState)(""),[eb,ey]=(0,i.useState)(x&&C.lo.includes(x)),[eN,ew]=(0,i.useState)("request logs"),[ek,e_]=(0,i.useState)(null),[eS,eC]=(0,i.useState)(null),eL=(0,o.NL)(),[eM,eT]=(0,i.useState)(()=>{let e=sessionStorage.getItem("isLiveTail");return null===e||JSON.parse(e)});(0,i.useEffect)(()=>{sessionStorage.setItem("isLiveTail",JSON.stringify(eM))},[eM]);let[eE,eD]=(0,i.useState)({value:24,unit:"hours"});(0,i.useEffect)(()=>{(async()=>{ex&&m&&ec({...(await (0,d.keyInfoV1Call)(m,ex)).info,token:ex,api_key:ex})})()},[ex,m]),(0,i.useEffect)(()=>{function e(e){T.current&&!T.current.contains(e.target)&&k(!1),E.current&&!E.current.contains(e.target)&&y(!1),D.current&&!D.current.contains(e.target)&&K(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,i.useEffect)(()=>{x&&C.lo.includes(x)&&ey(!0)},[x]);let eA=(0,n.a)({queryKey:["logs","table",_,L,A,R,B,z,eb?h:null,ep,G],queryFn:async()=>{if(!m||!u||!x||!h)return{data:[],total:0,page:1,page_size:L,total_pages:0};let e=r()(A).utc().format("YYYY-MM-DD HH:mm:ss"),s=H?r()(R).utc().format("YYYY-MM-DD HH:mm:ss"):r()().utc().format("YYYY-MM-DD HH:mm:ss"),a=await (0,d.uiSpendLogsCall)(m,z||void 0,B||void 0,void 0,e,s,_,L,eb?h:void 0,ej,ep,G);return await N(a.data,e,m,eL),a.data=a.data.map(s=>{let a=eL.getQueryData(["logDetails",s.request_id,e]);return(null==a?void 0:a.messages)&&(null==a?void 0:a.response)&&(s.messages=a.messages,s.response=a.response),s}),a},enabled:!!m&&!!u&&!!x&&!!h&&"request logs"===eN,refetchInterval:!!eM&&1===_&&15e3,refetchIntervalInBackground:!0}),{filters:eI,filteredLogs:eR,allTeams:eO,allKeyAliases:eH,handleFilterChange:eq,handleFilterReset:eF}=function(e){let{logs:s,accessToken:a,startTime:t,endTime:l,pageSize:o=es.d,isCustomDate:c,setCurrentPage:m,userID:u,userRole:x}=e,h=(0,i.useMemo)(()=>({[ea.TEAM_ID]:"",[ea.KEY_HASH]:"",[ea.REQUEST_ID]:"",[ea.MODEL]:"",[ea.USER_ID]:"",[ea.END_USER]:"",[ea.STATUS]:"",[ea.KEY_ALIAS]:""}),[]),[g,p]=(0,i.useState)(h),[f,j]=(0,i.useState)({data:[],total:0,page:1,page_size:50,total_pages:0}),v=(0,i.useRef)(0),b=(0,i.useCallback)(async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(!a)return;console.log("Filters being sent to API:",e);let n=Date.now();v.current=n;let i=r()(t).utc().format("YYYY-MM-DD HH:mm:ss"),m=c?r()(l).utc().format("YYYY-MM-DD HH:mm:ss"):r()().utc().format("YYYY-MM-DD HH:mm:ss");try{let t=await (0,d.uiSpendLogsCall)(a,e[ea.KEY_HASH]||void 0,e[ea.TEAM_ID]||void 0,e[ea.REQUEST_ID]||void 0,i,m,s,o,e[ea.USER_ID]||void 0,e[ea.END_USER]||void 0,e[ea.STATUS]||void 0,e[ea.MODEL]||void 0,e[ea.KEY_ALIAS]||void 0);n===v.current&&t.data&&j(t)}catch(e){console.error("Error searching users:",e)}},[a,t,l,c,o]),y=(0,i.useMemo)(()=>ee()((e,s)=>b(e,s),300),[b]);(0,i.useEffect)(()=>()=>y.cancel(),[y]);let N=(0,n.a)({queryKey:["allKeys"],queryFn:async()=>{if(!a)throw Error("Access token required");return await (0,$.LO)(a)},enabled:!!a}).data||[],w=(0,i.useMemo)(()=>!!(g[ea.KEY_ALIAS]||g[ea.KEY_HASH]||g[ea.REQUEST_ID]||g[ea.USER_ID]||g[ea.END_USER]),[g]),k=(0,i.useMemo)(()=>{if(!s||!s.data)return{data:[],total:0,page:1,page_size:50,total_pages:0};if(w)return s;let e=[...s.data];return g[ea.TEAM_ID]&&(e=e.filter(e=>e.team_id===g[ea.TEAM_ID])),g[ea.STATUS]&&(e=e.filter(e=>"success"===g[ea.STATUS]?!e.status||"success"===e.status:e.status===g[ea.STATUS])),g[ea.MODEL]&&(e=e.filter(e=>e.model===g[ea.MODEL])),g[ea.KEY_HASH]&&(e=e.filter(e=>e.api_key===g[ea.KEY_HASH])),g[ea.END_USER]&&(e=e.filter(e=>e.end_user===g[ea.END_USER])),{data:e,total:s.total,page:s.page,page_size:s.page_size,total_pages:s.total_pages}},[s,g,w]),_=(0,i.useMemo)(()=>w?f&&f.data&&f.data.length>0?f:s||{data:[],total:0,page:1,page_size:50,total_pages:0}:k,[w,f,k,s]),{data:S}=(0,n.a)({queryKey:["allTeamsForLogFilters",a],queryFn:async()=>a&&await (0,$.IE)(a)||[],enabled:!!a});return{filters:g,filteredLogs:_,allKeyAliases:N,allTeams:S,handleFilterChange:e=>{p(s=>{let a={...s,...e};for(let e of Object.keys(h))e in a||(a[e]=h[e]);return JSON.stringify(a)!==JSON.stringify(s)&&(m(1),y(a,1)),a})},handleFilterReset:()=>{p(h),j({data:[],total:0,page:1,page_size:50,total_pages:0}),y(h,1)}}}({logs:eA.data||{data:[],total:0,page:1,page_size:L||10,total_pages:1},accessToken:m,startTime:A,endTime:R,pageSize:L,isCustomDate:H,setCurrentPage:S,userID:h,userRole:x}),eY=(0,i.useCallback)(async e=>{if(m)try{let s=(await (0,d.keyListCall)(m,null,null,e,null,null,_,L)).keys.find(s=>s.key_alias===e);s&&J(s.token)}catch(e){console.error("Error fetching key hash for alias:",e)}},[m,_,L]);(0,i.useEffect)(()=>{m&&(eI["Team ID"]?W(eI["Team ID"]):W(""),ef(eI.Status||""),X(eI.Model||""),ev(eI["End User"]||""),eI["Key Hash"]?J(eI["Key Hash"]):eI["Key Alias"]?eY(eI["Key Alias"]):J(""))},[eI,m,eY]);let eK=(0,n.a)({queryKey:["sessionLogs",eS],queryFn:async()=>{if(!m||!eS)return{data:[],total:0,page:1,page_size:50,total_pages:1};let e=await (0,d.sessionSpendLogsCall)(m,eS);return{data:e.data||e||[],total:(e.data||e||[]).length,page:1,page_size:1e3,total_pages:1}},enabled:!!m&&!!eS});if((0,i.useEffect)(()=>{var e;(null===(e=eA.data)||void 0===e?void 0:e.data)&&ek&&!eA.data.data.some(e=>e.request_id===ek)&&e_(null)},[null===(s=eA.data)||void 0===s?void 0:s.data,ek]),!m||!u||!x||!h)return null;let eP=eR.data.filter(e=>!f||e.request_id.includes(f)||e.model.includes(f)||e.user&&e.user.includes(f)).map(e=>({...e,duration:(Date.parse(e.endTime)-Date.parse(e.startTime))/1e3,onKeyHashClick:e=>eh(e),onSessionClick:e=>{e&&eC(e)}}))||[],eZ=(null===(l=eK.data)||void 0===l?void 0:null===(a=l.data)||void 0===a?void 0:a.map(e=>({...e,onKeyHashClick:e=>eh(e),onSessionClick:e=>{}})))||[],eU=[{name:"Team ID",label:"Team ID",isSearchable:!0,searchFn:async e=>g&&0!==g.length?g.filter(s=>s.team_id.toLowerCase().includes(e.toLowerCase())||s.team_alias&&s.team_alias.toLowerCase().includes(e.toLowerCase())).map(e=>({label:"".concat(e.team_alias||e.team_id," (").concat(e.team_id,")"),value:e.team_id})):[]},{name:"Status",label:"Status",isSearchable:!1,options:[{label:"Success",value:"success"},{label:"Failure",value:"failure"}]},{name:"Model",label:"Model",isSearchable:!1},{name:"Key Alias",label:"Key Alias",isSearchable:!0,searchFn:async e=>m?(await (0,$.LO)(m)).filter(s=>s.toLowerCase().includes(e.toLowerCase())).map(e=>({label:e,value:e})):[]},{name:"End User",label:"End User",isSearchable:!0,searchFn:async e=>{if(!m)return[];let s=await (0,d.allEndUsersCall)(m);return((null==s?void 0:s.map(e=>e.user_id))||[]).filter(s=>s.toLowerCase().includes(e.toLowerCase())).map(e=>({label:e,value:e}))}},{name:"Key Hash",label:"Key Hash",isSearchable:!1}];if(eS&&eK.data)return(0,t.jsx)("div",{className:"w-full p-6",children:(0,t.jsx)(q,{sessionId:eS,logs:eK.data.data,onBack:()=>eC(null)})});let eV=[{label:"Last 15 Minutes",value:15,unit:"minutes"},{label:"Last Hour",value:1,unit:"hours"},{label:"Last 4 Hours",value:4,unit:"hours"},{label:"Last 24 Hours",value:24,unit:"hours"},{label:"Last 7 Days",value:7,unit:"days"}],eB=eV.find(e=>e.value===eE.value&&e.unit===eE.unit),eW=H?eu(H,A,R):null==eB?void 0:eB.label;return(0,t.jsx)("div",{className:"w-full max-w-screen p-6 overflow-x-hidden box-border",children:(0,t.jsxs)(er.Z,{defaultIndex:0,onIndexChange:e=>ew(0===e?"request logs":"audit logs"),children:[(0,t.jsxs)(en.Z,{children:[(0,t.jsx)(el.Z,{children:"Request Logs"}),(0,t.jsx)(el.Z,{children:"Audit Logs"})]}),(0,t.jsxs)(eo.Z,{children:[(0,t.jsxs)(ei.Z,{children:[(0,t.jsx)("div",{className:"flex items-center justify-between mb-4",children:(0,t.jsx)("h1",{className:"text-xl font-semibold",children:eS?(0,t.jsxs)(t.Fragment,{children:["Session: ",(0,t.jsx)("span",{className:"font-mono",children:eS}),(0,t.jsx)("button",{className:"ml-4 px-3 py-1 text-sm border rounded hover:bg-gray-50",onClick:()=>eC(null),children:"← Back to All Logs"})]}):"Request Logs"})}),ed&&ex&&ed.api_key===ex?(0,t.jsx)(M.Z,{keyId:ex,keyData:ed,accessToken:m,userID:h,userRole:x,teams:g,onClose:()=>eh(null),premiumUser:p,backButtonText:"Back to Logs"}):eS?(0,t.jsx)("div",{className:"bg-white rounded-lg shadow",children:(0,t.jsx)(c.w,{columns:v,data:eZ,renderSubComponent:eg,getRowCanExpand:()=>!0})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(Q.Z,{options:eU,onApplyFilters:eq,onResetFilters:eF}),(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full box-border",children:[(0,t.jsx)("div",{className:"border-b px-6 py-4 w-full max-w-full box-border",children:(0,t.jsxs)("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between space-y-4 md:space-y-0 w-full max-w-full box-border",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 w-full max-w-full box-border",children:[(0,t.jsxs)("div",{className:"relative w-64 min-w-0 flex-shrink-0",children:[(0,t.jsx)("input",{type:"text",placeholder:"Search by Request ID",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:f,onChange:e=>j(e.target.value)}),(0,t.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-shrink",children:[(0,t.jsxs)("div",{className:"relative z-50",ref:D,children:[(0,t.jsxs)("button",{onClick:()=>K(!Y),className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}),eW]}),Y&&(0,t.jsx)("div",{className:"absolute right-0 mt-2 w-64 bg-white rounded-lg shadow-lg border p-2 z-50",children:(0,t.jsxs)("div",{className:"space-y-1",children:[eV.map(e=>(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(eW===e.label?"bg-blue-50 text-blue-600":""),onClick:()=>{O(r()().format("YYYY-MM-DDTHH:mm")),I(r()().subtract(e.value,e.unit).format("YYYY-MM-DDTHH:mm")),eD({value:e.value,unit:e.unit}),F(!1),K(!1)},children:e.label},e.label)),(0,t.jsx)("div",{className:"border-t my-2"}),(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(H?"bg-blue-50 text-blue-600":""),onClick:()=>F(!H),children:"Custom Range"})]})})]}),(0,t.jsx)(()=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900",children:"Live Tail"}),(0,t.jsx)(et.Z,{color:"green",checked:eM,defaultChecked:!0,onChange:eT})]}),{}),(0,t.jsxs)("button",{onClick:()=>{eA.refetch()},className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",title:"Refresh data",children:[(0,t.jsx)("svg",{className:"w-4 h-4 ".concat(eA.isFetching?"animate-spin":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),(0,t.jsx)("span",{children:"Refresh"})]})]}),H&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{children:(0,t.jsx)("input",{type:"datetime-local",value:A,onChange:e=>{I(e.target.value),S(1)},className:"px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"})}),(0,t.jsx)("span",{className:"text-gray-500",children:"to"}),(0,t.jsx)("div",{children:(0,t.jsx)("input",{type:"datetime-local",value:R,onChange:e=>{O(e.target.value),S(1)},className:"px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"})})]})]}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsxs)("span",{className:"text-sm text-gray-700 whitespace-nowrap",children:["Showing ",eA.isLoading?"...":eR?(_-1)*L+1:0," -"," ",eA.isLoading?"...":eR?Math.min(_*L,eR.total):0," ","of ",eA.isLoading?"...":eR?eR.total:0," results"]}),(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsxs)("span",{className:"text-sm text-gray-700 min-w-[90px]",children:["Page ",eA.isLoading?"...":_," of"," ",eA.isLoading?"...":eR?eR.total_pages:1]}),(0,t.jsx)("button",{onClick:()=>S(e=>Math.max(1,e-1)),disabled:eA.isLoading||1===_,className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Previous"}),(0,t.jsx)("button",{onClick:()=>S(e=>Math.min(eR.total_pages||1,e+1)),disabled:eA.isLoading||_===(eR.total_pages||1),className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Next"})]})]})]})}),eM&&1===_&&(0,t.jsxs)("div",{className:"mb-4 px-4 py-2 bg-green-50 border border-greem-200 rounded-md flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)("span",{className:"text-sm text-green-700",children:"Auto-refreshing every 15 seconds"})}),(0,t.jsx)("button",{onClick:()=>eT(!1),className:"text-sm text-green-600 hover:text-green-800",children:"Stop"})]}),(0,t.jsx)(c.w,{columns:v,data:eP,renderSubComponent:eg,getRowCanExpand:()=>!0})]})]})]}),(0,t.jsx)(ei.Z,{children:(0,t.jsx)(em,{userID:h,userRole:x,token:u,accessToken:m,isActive:"audit logs"===eN,premiumUser:p,allTeams:g})})]})]})})}function eg(e){var s,a,l,r,n,i,o,d,c,u;let{row:x}=e,g=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){}return e},p=x.original.metadata||{},f="failure"===p.status,j=f?p.error_information:null,v=x.original.messages&&(Array.isArray(x.original.messages)?x.original.messages.length>0:Object.keys(x.original.messages).length>0),b=x.original.response&&Object.keys(g(x.original.response)).length>0,y=p.vector_store_request_metadata&&Array.isArray(p.vector_store_request_metadata)&&p.vector_store_request_metadata.length>0,N=null===(s=x.original.metadata)||void 0===s?void 0:s.guardrail_information,w=Array.isArray(N)?N:N?[N]:[],k=w.length>0,C=w.reduce((e,s)=>{let a=null==s?void 0:s.masked_entity_count;return a?e+Object.values(a).reduce((e,s)=>"number"==typeof s?e+s:e,0):e},0),M=1===w.length?null!==(u=null===(a=w[0])||void 0===a?void 0:a.guardrail_name)&&void 0!==u?u:"-":w.length>1?"".concat(w.length," guardrails"):"-",T=(0,ex.aS)(x.original.request_id,64);return(0,t.jsxs)("div",{className:"p-6 bg-gray-50 space-y-6 w-full max-w-full overflow-hidden box-border",children:[(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full overflow-hidden",children:[(0,t.jsx)("div",{className:"p-4 border-b",children:(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Request Details"})}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 p-4 w-full max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Request ID:"}),x.original.request_id.length>64?(0,t.jsx)(h.Z,{title:x.original.request_id,children:(0,t.jsx)("span",{className:"font-mono text-sm",children:T})}):(0,t.jsx)("span",{className:"font-mono text-sm",children:x.original.request_id})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Model:"}),(0,t.jsx)("span",{children:x.original.model})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Model ID:"}),(0,t.jsx)("span",{children:x.original.model_id})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Call Type:"}),(0,t.jsx)("span",{children:x.original.call_type})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Provider:"}),(0,t.jsx)("span",{children:x.original.custom_llm_provider||"-"})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"API Base:"}),(0,t.jsx)(h.Z,{title:x.original.api_base||"-",children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:x.original.api_base||"-"})})]}),(null==x?void 0:null===(l=x.original)||void 0===l?void 0:l.requester_ip_address)&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"IP Address:"}),(0,t.jsx)("span",{children:null==x?void 0:null===(r=x.original)||void 0===r?void 0:r.requester_ip_address})]}),k&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Guardrail:"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono",children:M}),C>0&&(0,t.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-blue-50 text-blue-700 rounded-md text-xs font-medium",children:[C," masked"]})]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Tokens:"}),(0,t.jsxs)("span",{children:[x.original.total_tokens," (",x.original.prompt_tokens," prompt tokens +"," ",x.original.completion_tokens," completion tokens)"]})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cache Read Tokens:"}),(0,t.jsx)("span",{children:(0,m.pw)((null===(i=x.original.metadata)||void 0===i?void 0:null===(n=i.additional_usage_values)||void 0===n?void 0:n.cache_read_input_tokens)||0)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cache Creation Tokens:"}),(0,t.jsx)("span",{children:(0,m.pw)(null===(o=x.original.metadata)||void 0===o?void 0:o.additional_usage_values.cache_creation_input_tokens)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cost:"}),(0,t.jsxs)("span",{children:["$",(0,m.pw)(x.original.spend||0,6)]})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cache Hit:"}),(0,t.jsx)("span",{children:x.original.cache_hit})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Status:"}),(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block text-center w-16 ".concat("failure"!==((null===(d=x.original.metadata)||void 0===d?void 0:d.status)||"Success").toLowerCase()?"bg-green-100 text-green-800":"bg-red-100 text-red-800"),children:"failure"!==((null===(c=x.original.metadata)||void 0===c?void 0:c.status)||"Success").toLowerCase()?"Success":"Failure"})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Start Time:"}),(0,t.jsx)("span",{children:x.original.startTime})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"End Time:"}),(0,t.jsx)("span",{children:x.original.endTime})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Duration:"}),(0,t.jsxs)("span",{children:[x.original.duration," s."]})]})]})]})]}),(0,t.jsx)(L,{show:!v&&!b}),(0,t.jsx)("div",{className:"w-full max-w-full overflow-hidden",children:(0,t.jsx)(_,{row:x,hasMessages:v,hasResponse:b,hasError:f,errorInfo:j,getRawRequest:()=>{var e;return(null===(e=x.original)||void 0===e?void 0:e.proxy_server_request)?g(x.original.proxy_server_request):g(x.original.messages)},formattedResponse:()=>f&&j?{error:{message:j.error_message||"An error occurred",type:j.error_class||"error",code:j.error_code||"unknown",param:null}}:g(x.original.response)})}),k&&(0,t.jsx)(G,{data:N}),y&&(0,t.jsx)(F,{data:p.vector_store_request_metadata}),f&&j&&(0,t.jsx)(S,{errorInfo:j}),x.original.request_tags&&Object.keys(x.original.request_tags).length>0&&(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsx)("div",{className:"flex justify-between items-center p-4 border-b",children:(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Request Tags"})}),(0,t.jsx)("div",{className:"p-4",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(x.original.request_tags).map(e=>{let[s,a]=e;return(0,t.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[s,": ",String(a)]},s)})})})]}),x.original.metadata&&Object.keys(x.original.metadata).length>0&&(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b",children:[(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Metadata"}),(0,t.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(JSON.stringify(x.original.metadata,null,2))},className:"p-1 hover:bg-gray-200 rounded",title:"Copy metadata",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})]}),(0,t.jsx)("div",{className:"p-4 overflow-auto max-h-64",children:(0,t.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-all",children:JSON.stringify(x.original.metadata,null,2)})})]})]})}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3801],{12363:function(e,s,a){a.d(s,{d:function(){return r},n:function(){return l}});var t=a(2265);let l=()=>{let[e,s]=(0,t.useState)("http://localhost:4000");return(0,t.useEffect)(()=>{{let{protocol:e,host:a}=window.location;s("".concat(e,"//").concat(a))}},[]),e},r=25},30841:function(e,s,a){a.d(s,{IE:function(){return r},LO:function(){return l},cT:function(){return n}});var t=a(19250);let l=async e=>{if(!e)return[];try{let{aliases:s}=await (0,t.keyAliasesCall)(e);return Array.from(new Set((s||[]).filter(Boolean)))}catch(e){return console.error("Error fetching all key aliases:",e),[]}},r=async(e,s)=>{if(!e)return[];try{let a=[],l=1,r=!0;for(;r;){let n=await (0,t.teamListCall)(e,s||null,null);a=[...a,...n],l{if(!e)return[];try{let s=[],a=1,l=!0;for(;l;){let r=await (0,t.organizationListCall)(e);s=[...s,...r],a{let{options:s,onApplyFilters:a,onResetFilters:d,initialValues:m={},buttonLabel:u="Filters"}=e,[x,h]=(0,l.useState)(!1),[g,p]=(0,l.useState)(m),[f,j]=(0,l.useState)({}),[v,b]=(0,l.useState)({}),[y,N]=(0,l.useState)({}),[w,k]=(0,l.useState)({}),_=(0,l.useCallback)(c()(async(e,s)=>{if(s.isSearchable&&s.searchFn){b(e=>({...e,[s.name]:!0}));try{let a=await s.searchFn(e);j(e=>({...e,[s.name]:a}))}catch(e){console.error("Error searching:",e),j(e=>({...e,[s.name]:[]}))}finally{b(e=>({...e,[s.name]:!1}))}}},300),[]),S=(0,l.useCallback)(async e=>{if(e.isSearchable&&e.searchFn&&!w[e.name]){b(s=>({...s,[e.name]:!0})),k(s=>({...s,[e.name]:!0}));try{let s=await e.searchFn("");j(a=>({...a,[e.name]:s}))}catch(s){console.error("Error loading initial options:",s),j(s=>({...s,[e.name]:[]}))}finally{b(s=>({...s,[e.name]:!1}))}}},[w]);(0,l.useEffect)(()=>{x&&s.forEach(e=>{e.isSearchable&&!w[e.name]&&S(e)})},[x,s,S,w]);let L=(e,s)=>{let t={...g,[e]:s};p(t),a(t)},C=(e,s)=>{e&&s.isSearchable&&!w[s.name]&&S(s)};return(0,t.jsxs)("div",{className:"w-full",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,t.jsx)(r.ZP,{icon:(0,t.jsx)(o.Z,{className:"h-4 w-4"}),onClick:()=>h(!x),className:"flex items-center gap-2",children:u}),(0,t.jsx)(r.ZP,{onClick:()=>{let e={};s.forEach(s=>{e[s.name]=""}),p(e),d()},children:"Reset Filters"})]}),x&&(0,t.jsx)("div",{className:"grid grid-cols-3 gap-x-6 gap-y-4 mb-6",children:["Team ID","Status","Organization ID","Key Alias","User ID","End User","Key Hash","Model"].map(e=>{let a=s.find(s=>s.label===e||s.name===e);return a?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-sm text-gray-600",children:a.label||a.name}),a.isSearchable?(0,t.jsx)(n.default,{showSearch:!0,className:"w-full",placeholder:"Search ".concat(a.label||a.name,"..."),value:g[a.name]||void 0,onChange:e=>L(a.name,e),onDropdownVisibleChange:e=>C(e,a),onSearch:e=>{N(s=>({...s,[a.name]:e})),a.searchFn&&_(e,a)},filterOption:!1,loading:v[a.name],options:f[a.name]||[],allowClear:!0,notFoundContent:v[a.name]?"Loading...":"No results found"}):a.options?(0,t.jsx)(n.default,{className:"w-full",placeholder:"Select ".concat(a.label||a.name,"..."),value:g[a.name]||void 0,onChange:e=>L(a.name,e),allowClear:!0,children:a.options.map(e=>(0,t.jsx)(n.default.Option,{value:e.value,children:e.label},e.value))}):(0,t.jsx)(i.default,{className:"w-full",placeholder:"Enter ".concat(a.label||a.name,"..."),value:g[a.name]||"",onChange:e=>L(a.name,e.target.value),allowClear:!0})]},a.name):null})})]})}},33801:function(e,s,a){a.d(s,{I:function(){return eg},Z:function(){return eh}});var t=a(57437),l=a(77398),r=a.n(l),n=a(11713),i=a(2265),o=a(29827),d=a(19250),c=a(12322),m=a(59872),u=a(41649),x=a(78489),h=a(99981),g=a(42673);let p=e=>{try{return new Date(e).toLocaleString("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0}).replace(",","")}catch(e){return"Error converting time"}},f=e=>{let{utcTime:s}=e;return(0,t.jsx)("span",{style:{fontFamily:"monospace",width:"180px",display:"inline-block"},children:p(s)})},j=(e,s)=>{var a,t;return(null===(t=e.metadata)||void 0===t?void 0:null===(a=t.mcp_tool_call_metadata)||void 0===a?void 0:a.mcp_server_logo_url)?e.metadata.mcp_tool_call_metadata.mcp_server_logo_url:s?(0,g.dr)(s).logo:""},v=[{id:"expander",header:()=>null,cell:e=>{let{row:s}=e;return(0,t.jsx)(()=>{let[e,a]=i.useState(s.getIsExpanded()),l=i.useCallback(()=>{a(e=>!e),s.getToggleExpandedHandler()()},[s]);return s.getCanExpand()?(0,t.jsx)("button",{onClick:l,style:{cursor:"pointer"},"aria-label":e?"Collapse row":"Expand row",className:"w-6 h-6 flex items-center justify-center focus:outline-none",children:(0,t.jsx)("svg",{className:"w-4 h-4 transform transition-transform duration-75 ".concat(e?"rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}):(0,t.jsx)("span",{className:"w-6 h-6 flex items-center justify-center",children:"●"})},{})}},{header:"Time",accessorKey:"startTime",cell:e=>(0,t.jsx)(f,{utcTime:e.getValue()})},{header:"Status",accessorKey:"metadata.status",cell:e=>{let s="failure"!==(e.getValue()||"Success").toLowerCase();return(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block text-center w-16 ".concat(s?"bg-green-100 text-green-800":"bg-red-100 text-red-800"),children:s?"Success":"Failure"})}},{header:"Session ID",accessorKey:"session_id",cell:e=>{let s=String(e.getValue()||""),a=e.row.original.onSessionClick;return(0,t.jsx)(h.Z,{title:String(e.getValue()||""),children:(0,t.jsx)(x.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal text-xs max-w-[15ch] truncate block",onClick:()=>null==a?void 0:a(s),children:String(e.getValue()||"")})})}},{header:"Request ID",accessorKey:"request_id",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||""),children:(0,t.jsx)("span",{className:"font-mono text-xs max-w-[15ch] truncate block",children:String(e.getValue()||"")})})},{header:"Cost",accessorKey:"spend",cell:e=>(0,t.jsx)(h.Z,{title:"$".concat(String(e.getValue()||0)," "),children:(0,t.jsx)("span",{children:(0,m.GS)(e.getValue()||0)})})},{header:"Duration (s)",accessorKey:"duration",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Team Name",accessorKey:"metadata.user_api_key_team_alias",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Key Hash",accessorKey:"metadata.user_api_key",cell:e=>{let s=String(e.getValue()||"-"),a=e.row.original.onKeyHashClick;return(0,t.jsx)(h.Z,{title:s,children:(0,t.jsx)("span",{className:"font-mono max-w-[15ch] truncate block cursor-pointer hover:text-blue-600",onClick:()=>null==a?void 0:a(s),children:s})})}},{header:"Key Name",accessorKey:"metadata.user_api_key_alias",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Model",accessorKey:"model",cell:e=>{let s=e.row.original,a=s.custom_llm_provider,l=String(e.getValue()||"");return(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[a&&(0,t.jsx)("img",{src:j(s,a),alt:"",className:"w-4 h-4",onError:e=>{e.target.style.display="none"}}),(0,t.jsx)(h.Z,{title:l,children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:l})})]})}},{header:"Tokens",accessorKey:"total_tokens",cell:e=>{let s=e.row.original;return(0,t.jsxs)("span",{className:"text-sm",children:[String(s.total_tokens||"0"),(0,t.jsxs)("span",{className:"text-gray-400 text-xs ml-1",children:["(",String(s.prompt_tokens||"0"),"+",String(s.completion_tokens||"0"),")"]})]})}},{header:"Internal User",accessorKey:"user",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"End User",accessorKey:"end_user",cell:e=>(0,t.jsx)(h.Z,{title:String(e.getValue()||"-"),children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:String(e.getValue()||"-")})})},{header:"Tags",accessorKey:"request_tags",cell:e=>{let s=e.getValue();if(!s||0===Object.keys(s).length)return"-";let a=Object.entries(s),l=a[0],r=a.slice(1);return(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:(0,t.jsx)(h.Z,{title:(0,t.jsx)("div",{className:"flex flex-col gap-1",children:a.map(e=>{let[s,a]=e;return(0,t.jsxs)("span",{children:[s,": ",String(a)]},s)})}),children:(0,t.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[l[0],": ",String(l[1]),r.length>0&&" +".concat(r.length)]})})})}}],b=e=>(0,t.jsx)(u.Z,{color:"gray",className:"flex items-center gap-1",children:(0,t.jsx)("span",{className:"whitespace-nowrap text-xs",children:e})}),y=[{id:"expander",header:()=>null,cell:e=>{let{row:s}=e;return(0,t.jsx)(()=>{let[e,a]=i.useState(s.getIsExpanded()),l=i.useCallback(()=>{a(e=>!e),s.getToggleExpandedHandler()()},[s]);return s.getCanExpand()?(0,t.jsx)("button",{onClick:l,style:{cursor:"pointer"},"aria-label":e?"Collapse row":"Expand row",className:"w-6 h-6 flex items-center justify-center focus:outline-none",children:(0,t.jsx)("svg",{className:"w-4 h-4 transform transition-transform ".concat(e?"rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}):(0,t.jsx)("span",{className:"w-6 h-6 flex items-center justify-center",children:"●"})},{})}},{header:"Timestamp",accessorKey:"updated_at",cell:e=>(0,t.jsx)(f,{utcTime:e.getValue()})},{header:"Table Name",accessorKey:"table_name",cell:e=>{let s=e.getValue(),a=s;switch(s){case"LiteLLM_VerificationToken":a="Keys";break;case"LiteLLM_TeamTable":a="Teams";break;case"LiteLLM_OrganizationTable":a="Organizations";break;case"LiteLLM_UserTable":a="Users";break;case"LiteLLM_ProxyModelTable":a="Models";break;default:a=s}return(0,t.jsx)("span",{children:a})}},{header:"Action",accessorKey:"action",cell:e=>(0,t.jsx)("span",{children:b(e.getValue())})},{header:"Changed By",accessorKey:"changed_by",cell:e=>{let s=e.row.original.changed_by,a=e.row.original.changed_by_api_key;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-medium",children:s}),a&&(0,t.jsx)(h.Z,{title:a,children:(0,t.jsxs)("div",{className:"text-xs text-muted-foreground max-w-[15ch] truncate",children:[" ",a]})})]})}},{header:"Affected Item ID",accessorKey:"object_id",cell:e=>(0,t.jsx)(()=>{let s=e.getValue(),[a,l]=(0,i.useState)(!1);if(!s)return(0,t.jsx)(t.Fragment,{children:"-"});let r=async()=>{try{await navigator.clipboard.writeText(String(s)),l(!0),setTimeout(()=>l(!1),1500)}catch(e){console.error("Failed to copy object ID: ",e)}};return(0,t.jsx)(h.Z,{title:a?"Copied!":String(s),children:(0,t.jsx)("span",{className:"max-w-[20ch] truncate block cursor-pointer hover:text-blue-600",onClick:r,children:String(s)})})},{})}],N=async(e,s,a,t)=>{console.log("prefetchLogDetails called with",e.length,"logs");let l=e.map(e=>{if(e.request_id)return console.log("Prefetching details for request_id:",e.request_id),t.prefetchQuery({queryKey:["logDetails",e.request_id,s],queryFn:async()=>{console.log("Fetching details for",e.request_id);let t=await (0,d.uiSpendLogDetailsCall)(a,e.request_id,s);return console.log("Received details for",e.request_id,":",t?"success":"failed"),t},staleTime:6e5,gcTime:6e5})});try{let e=await Promise.all(l);return console.log("All prefetch promises completed:",e.length),e}catch(e){throw console.error("Error in prefetchLogDetails:",e),e}};var w=a(9114),k=a(86669);function _(e){let{row:s,hasMessages:a,hasResponse:l,hasError:r,errorInfo:n,getRawRequest:i,formattedResponse:o}=e,d=async e=>{try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0;{let s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.focus(),s.select();let a=document.execCommand("copy");if(document.body.removeChild(s),!a)throw Error("execCommand failed");return!0}}catch(e){return console.error("Copy failed:",e),!1}},c=async()=>{await d(JSON.stringify(i(),null,2))?w.Z.success("Request copied to clipboard"):w.Z.fromBackend("Failed to copy request")},m=async()=>{await d(JSON.stringify(o(),null,2))?w.Z.success("Response copied to clipboard"):w.Z.fromBackend("Failed to copy response")};return(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 w-full max-w-full overflow-hidden box-border",children:[(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b",children:[(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Request"}),(0,t.jsx)("button",{onClick:c,className:"p-1 hover:bg-gray-200 rounded",title:"Copy request",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})]}),(0,t.jsx)("div",{className:"p-4 overflow-auto max-h-96 w-full max-w-full box-border",children:(0,t.jsx)("div",{className:"[&_[role='tree']]:bg-white [&_[role='tree']]:text-slate-900",children:(0,t.jsx)(k.gc,{data:i(),style:k.jF,clickToExpandNode:!0})})})]}),(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b",children:[(0,t.jsxs)("h3",{className:"text-lg font-medium",children:["Response",r&&(0,t.jsxs)("span",{className:"ml-2 text-sm text-red-600",children:["• HTTP code ",(null==n?void 0:n.error_code)||400]})]}),(0,t.jsx)("button",{onClick:m,className:"p-1 hover:bg-gray-200 rounded",title:"Copy response",disabled:!l,children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})]}),(0,t.jsx)("div",{className:"p-4 overflow-auto max-h-96 w-full max-w-full box-border",children:l?(0,t.jsx)("div",{className:"[&_[role='tree']]:bg-white [&_[role='tree']]:text-slate-900",children:(0,t.jsx)(k.gc,{data:o(),style:k.jF,clickToExpandNode:!0})}):(0,t.jsx)("div",{className:"text-gray-500 text-sm italic text-center py-4",children:"Response data not available"})})]})]})}a(52621);let S=e=>{var s;let{errorInfo:a}=e,[l,r]=i.useState({}),[n,o]=i.useState(!1),d=e=>{r(s=>({...s,[e]:!s[e]}))},c=a.traceback&&(s=a.traceback)?Array.from(s.matchAll(/File "([^"]+)", line (\d+)/g)).map(e=>{let a=e[1],t=e[2],l=a.split("/").pop()||a,r=e.index||0,n=s.indexOf('File "',r+1),i=n>-1?s.substring(r,n).trim():s.substring(r).trim(),o=i.split("\n"),d="";return o.length>1&&(d=o[o.length-1].trim()),{filePath:a,fileName:l,lineNumber:t,code:d,inFunction:i.includes(" in ")?i.split(" in ")[1].split("\n")[0]:""}}):[];return(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsx)("div",{className:"p-4 border-b",children:(0,t.jsxs)("h3",{className:"text-lg font-medium flex items-center text-red-600",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),"Error Details"]})}),(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsxs)("div",{className:"bg-red-50 rounded-md p-4 mb-4",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"text-red-800 font-medium w-20",children:"Type:"}),(0,t.jsx)("span",{className:"text-red-700",children:a.error_class||"Unknown Error"})]}),(0,t.jsxs)("div",{className:"flex mt-2",children:[(0,t.jsx)("span",{className:"text-red-800 font-medium w-20 flex-shrink-0",children:"Message:"}),(0,t.jsx)("span",{className:"text-red-700 break-words whitespace-pre-wrap",children:a.error_message||"Unknown error occurred"})]})]}),a.traceback&&(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,t.jsx)("h4",{className:"font-medium",children:"Traceback"}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsx)("button",{onClick:()=>{let e=!n;if(o(e),c.length>0){let s={};c.forEach((a,t)=>{s[t]=e}),r(s)}},className:"text-gray-500 hover:text-gray-700 flex items-center text-sm",children:n?"Collapse All":"Expand All"}),(0,t.jsxs)("button",{onClick:()=>navigator.clipboard.writeText(a.traceback||""),className:"text-gray-500 hover:text-gray-700 flex items-center",title:"Copy traceback",children:[(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),(0,t.jsx)("span",{className:"ml-1",children:"Copy"})]})]})]}),(0,t.jsx)("div",{className:"bg-white rounded-md border border-gray-200 overflow-hidden shadow-sm",children:c.map((e,s)=>(0,t.jsxs)("div",{className:"border-b border-gray-200 last:border-b-0",children:[(0,t.jsxs)("div",{className:"px-4 py-2 flex items-center justify-between cursor-pointer hover:bg-gray-50",onClick:()=>d(s),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("span",{className:"text-gray-400 mr-2 w-12 text-right",children:e.lineNumber}),(0,t.jsx)("span",{className:"text-gray-600 font-medium",children:e.fileName}),(0,t.jsx)("span",{className:"text-gray-500 mx-1",children:"in"}),(0,t.jsx)("span",{className:"text-indigo-600 font-medium",children:e.inFunction||e.fileName})]}),(0,t.jsx)("svg",{className:"w-5 h-5 text-gray-500 transition-transform ".concat(l[s]?"transform rotate-180":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),(l[s]||!1)&&e.code&&(0,t.jsx)("div",{className:"px-12 py-2 font-mono text-sm text-gray-800 bg-gray-50 overflow-x-auto border-t border-gray-100",children:e.code})]},s))})]})]})]})};var L=a(20347);let C=e=>{let{show:s}=e;return s?(0,t.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 flex items-start",children:[(0,t.jsx)("div",{className:"text-blue-500 mr-3 flex-shrink-0 mt-0.5",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,t.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-blue-800",children:"Request/Response Data Not Available"}),(0,t.jsxs)("p",{className:"text-sm text-blue-700 mt-1",children:["To view request and response details, enable prompt storage in your LiteLLM configuration by adding the following to your ",(0,t.jsx)("code",{className:"bg-blue-100 px-1 py-0.5 rounded",children:"proxy_config.yaml"})," file:"]}),(0,t.jsx)("pre",{className:"mt-2 bg-white p-3 rounded border border-blue-200 text-xs font-mono overflow-auto",children:"general_settings:\n store_model_in_db: true\n store_prompts_in_spend_logs: true"}),(0,t.jsx)("p",{className:"text-xs text-blue-700 mt-2",children:"Note: This will only affect new requests after the configuration change."})]})]}):null};var M=a(94292),T=a(12514),E=a(35829),D=a(84264),A=a(96761),I=a(10900),R=a(5545),O=a(30401),H=a(78867);let q=e=>{let{sessionId:s,logs:a,onBack:l}=e,[r,n]=(0,i.useState)(null),[o,d]=(0,i.useState)({}),u=a.reduce((e,s)=>e+(s.spend||0),0),g=a.reduce((e,s)=>e+(s.total_tokens||0),0),p=a.reduce((e,s)=>{var a,t;return e+((null===(t=s.metadata)||void 0===t?void 0:null===(a=t.additional_usage_values)||void 0===a?void 0:a.cache_read_input_tokens)||0)},0),f=a.reduce((e,s)=>{var a,t;return e+((null===(t=s.metadata)||void 0===t?void 0:null===(a=t.additional_usage_values)||void 0===a?void 0:a.cache_creation_input_tokens)||0)},0),j=g+p+f,b=a.length>0?new Date(a[0].startTime):new Date;(((a.length>0?new Date(a[a.length-1].endTime):new Date).getTime()-b.getTime())/1e3).toFixed(2),a.map(e=>({time:new Date(e.startTime).toISOString(),tokens:e.total_tokens||0,cost:e.spend||0}));let y=async(e,s)=>{await (0,m.vQ)(e)&&(d(e=>({...e,[s]:!0})),setTimeout(()=>{d(e=>({...e,[s]:!1}))},2e3))};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)(x.Z,{icon:I.Z,variant:"light",onClick:l,className:"mb-4",children:"Back to All Logs"}),(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-gray-900",children:"Session Details"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,t.jsx)("p",{className:"text-sm text-gray-500 font-mono",children:s}),(0,t.jsx)(R.ZP,{type:"text",size:"small",icon:o["session-id"]?(0,t.jsx)(O.Z,{size:12}):(0,t.jsx)(H.Z,{size:12}),onClick:()=>y(s,"session-id"),className:"left-2 z-10 transition-all duration-200 ".concat(o["session-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]}),(0,t.jsxs)("a",{href:"https://docs.litellm.ai/docs/proxy/ui_logs_sessions",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:text-blue-800 flex items-center gap-1",children:["Get started with session management here",(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[(0,t.jsxs)(T.Z,{children:[(0,t.jsx)(D.Z,{children:"Total Requests"}),(0,t.jsx)(E.Z,{children:a.length})]}),(0,t.jsxs)(T.Z,{children:[(0,t.jsx)(D.Z,{children:"Total Cost"}),(0,t.jsxs)(E.Z,{children:["$",(0,m.pw)(u,6)]})]}),(0,t.jsx)(h.Z,{title:(0,t.jsxs)("div",{className:"text-white min-w-[200px]",children:[(0,t.jsx)("div",{className:"text-lg font-medium mb-3",children:"Usage breakdown"}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-base font-medium mb-2",children:"Input usage:"}),(0,t.jsxs)("div",{className:"space-y-2 text-sm text-gray-300",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"input:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(a.reduce((e,s)=>e+(s.prompt_tokens||0),0))})]}),p>0&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"input_cached_tokens:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(p)})]}),f>0&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"input_cache_creation_tokens:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(f)})]})]})]}),(0,t.jsxs)("div",{className:"border-t border-gray-600 pt-3",children:[(0,t.jsx)("div",{className:"text-base font-medium mb-2",children:"Output usage:"}),(0,t.jsx)("div",{className:"space-y-2 text-sm text-gray-300",children:(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"output:"}),(0,t.jsx)("span",{className:"ml-8",children:(0,m.pw)(a.reduce((e,s)=>e+(s.completion_tokens||0),0))})]})})]}),(0,t.jsx)("div",{className:"border-t border-gray-600 pt-3",children:(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("span",{className:"text-base font-medium",children:"Total usage:"}),(0,t.jsx)("span",{className:"text-sm text-gray-300",children:(0,m.pw)(j)})]})})]})]}),placement:"top",overlayStyle:{minWidth:"300px"},children:(0,t.jsxs)(T.Z,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(D.Z,{children:"Total Tokens"}),(0,t.jsx)("span",{className:"text-gray-400 text-sm",children:"ⓘ"})]}),(0,t.jsx)(E.Z,{children:(0,m.pw)(j)})]})})]}),(0,t.jsx)(A.Z,{children:"Session Logs"}),(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(c.w,{columns:v,data:a,renderSubComponent:eg,getRowCanExpand:()=>!0,loadingMessage:"Loading logs...",noDataMessage:"No logs found"})})]})};function F(e){let{data:s}=e,[a,l]=(0,i.useState)(!0),[r,n]=(0,i.useState)({});if(!s||0===s.length)return null;let o=e=>new Date(1e3*e).toLocaleString(),d=(e,s)=>"".concat(((s-e)*1e3).toFixed(2),"ms"),c=(e,s)=>{let a="".concat(e,"-").concat(s);n(e=>({...e,[a]:!e[a]}))};return(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow mb-6",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50",onClick:()=>l(!a),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 text-gray-600 transition-transform ".concat(a?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Vector Store Requests"})]}),(0,t.jsx)("span",{className:"text-sm text-gray-500",children:a?"Click to collapse":"Click to expand"})]}),a&&(0,t.jsx)("div",{className:"p-4",children:s.map((e,s)=>(0,t.jsxs)("div",{className:"mb-6 last:mb-0",children:[(0,t.jsx)("div",{className:"bg-white rounded-lg border p-4 mb-4",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Query:"}),(0,t.jsx)("span",{className:"font-mono",children:e.query})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Vector Store ID:"}),(0,t.jsx)("span",{className:"font-mono",children:e.vector_store_id})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Provider:"}),(0,t.jsx)("span",{className:"flex items-center",children:(()=>{let{logo:s,displayName:a}=(0,g.dr)(e.custom_llm_provider);return(0,t.jsxs)(t.Fragment,{children:[s&&(0,t.jsx)("img",{src:s,alt:"".concat(a," logo"),className:"h-5 w-5 mr-2"}),a]})})()})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Start Time:"}),(0,t.jsx)("span",{children:o(e.start_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"End Time:"}),(0,t.jsx)("span",{children:o(e.end_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Duration:"}),(0,t.jsx)("span",{children:d(e.start_time,e.end_time)})]})]})]})}),(0,t.jsx)("h4",{className:"font-medium mb-2",children:"Search Results"}),(0,t.jsx)("div",{className:"space-y-2",children:e.vector_store_search_response.data.map((e,a)=>{let l=r["".concat(s,"-").concat(a)]||!1;return(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center p-3 bg-gray-50 cursor-pointer",onClick:()=>c(s,a),children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(l?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsxs)("span",{className:"font-medium mr-2",children:["Result ",a+1]}),(0,t.jsxs)("span",{className:"text-gray-500 text-sm",children:["Score: ",(0,t.jsx)("span",{className:"font-mono",children:e.score.toFixed(4)})]})]})]}),l&&(0,t.jsx)("div",{className:"p-3 border-t bg-white",children:e.content.map((e,s)=>(0,t.jsxs)("div",{className:"mb-2 last:mb-0",children:[(0,t.jsx)("div",{className:"text-xs text-gray-500 mb-1",children:e.type}),(0,t.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-all bg-gray-50 p-2 rounded",children:e.text})]},s))})]},a)})})]},s))})]})}let Y=e=>e>=.8?"text-green-600":"text-yellow-600";var K=e=>{let{entities:s}=e,[a,l]=(0,i.useState)(!0),[r,n]=(0,i.useState)({}),o=e=>{n(s=>({...s,[e]:!s[e]}))};return s&&0!==s.length?(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsxs)("div",{className:"flex items-center mb-2 cursor-pointer",onClick:()=>l(!a),children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(a?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsxs)("h4",{className:"font-medium",children:["Detected Entities (",s.length,")"]})]}),a&&(0,t.jsx)("div",{className:"space-y-2",children:s.map((e,s)=>{let a=r[s]||!1;return(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 bg-gray-50 cursor-pointer hover:bg-gray-100",onClick:()=>o(s),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(a?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsx)("span",{className:"font-medium mr-2",children:e.entity_type}),(0,t.jsxs)("span",{className:"font-mono ".concat(Y(e.score)),children:["Score: ",e.score.toFixed(2)]})]}),(0,t.jsxs)("span",{className:"text-xs text-gray-500",children:["Position: ",e.start,"-",e.end]})]}),a&&(0,t.jsx)("div",{className:"p-3 border-t bg-white",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Entity Type:"}),(0,t.jsx)("span",{children:e.entity_type})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Position:"}),(0,t.jsxs)("span",{children:["Characters ",e.start,"-",e.end]})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Confidence:"}),(0,t.jsx)("span",{className:Y(e.score),children:e.score.toFixed(2)})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[e.recognition_metadata&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Recognizer:"}),(0,t.jsx)("span",{children:e.recognition_metadata.recognizer_name})]}),(0,t.jsxs)("div",{className:"flex overflow-hidden",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Identifier:"}),(0,t.jsx)("span",{className:"truncate text-xs font-mono",children:e.recognition_metadata.recognizer_identifier})]})]}),e.analysis_explanation&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Explanation:"}),(0,t.jsx)("span",{children:e.analysis_explanation})]})]})]})})]},s)})})]}):null};let P=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"slate";return(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block ".concat({green:"bg-green-100 text-green-800",red:"bg-red-100 text-red-800",blue:"bg-blue-50 text-blue-700",slate:"bg-slate-100 text-slate-800",amber:"bg-amber-100 text-amber-800"}[s]),children:e})},Z=e=>e?P("detected","red"):P("not detected","slate"),U=e=>{let{title:s,count:a,defaultOpen:l=!0,right:r,children:n}=e,[o,d]=(0,i.useState)(l);return(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 bg-gray-50 cursor-pointer hover:bg-gray-100",onClick:()=>d(e=>!e),children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)("svg",{className:"w-5 h-5 mr-2 transition-transform ".concat(o?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsxs)("h5",{className:"font-medium",children:[s," ","number"==typeof a&&(0,t.jsxs)("span",{className:"text-gray-500 font-normal",children:["(",a,")"]})]})]}),(0,t.jsx)("div",{children:r})]}),o&&(0,t.jsx)("div",{className:"p-3 border-t bg-white",children:n})]})},V=e=>{let{label:s,children:a,mono:l}=e;return(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:s}),(0,t.jsx)("span",{className:l?"font-mono text-sm break-all":"",children:a})]})},B=()=>(0,t.jsx)("div",{className:"my-3 border-t"});var W=e=>{var s,a,l,r,n,i,o,d,c,m;let{response:u}=e;if(!u)return null;let x=null!==(n=null!==(r=u.outputs)&&void 0!==r?r:u.output)&&void 0!==n?n:[],h="GUARDRAIL_INTERVENED"===u.action?"red":"green",g=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(null===(s=u.guardrailCoverage)||void 0===s?void 0:s.textCharacters)&&P("text guarded ".concat(null!==(i=u.guardrailCoverage.textCharacters.guarded)&&void 0!==i?i:0,"/").concat(null!==(o=u.guardrailCoverage.textCharacters.total)&&void 0!==o?o:0),"blue"),(null===(a=u.guardrailCoverage)||void 0===a?void 0:a.images)&&P("images guarded ".concat(null!==(d=u.guardrailCoverage.images.guarded)&&void 0!==d?d:0,"/").concat(null!==(c=u.guardrailCoverage.images.total)&&void 0!==c?c:0),"blue")]}),p=u.usage&&(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(u.usage).map(e=>{let[s,a]=e;return"number"==typeof a?(0,t.jsxs)("span",{className:"px-2 py-1 bg-slate-100 text-slate-800 rounded-md text-xs font-medium",children:[s,": ",a]},s):null})});return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"border rounded-lg p-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(V,{label:"Action:",children:P(null!==(m=u.action)&&void 0!==m?m:"N/A",h)}),u.actionReason&&(0,t.jsx)(V,{label:"Action Reason:",children:u.actionReason}),u.blockedResponse&&(0,t.jsx)(V,{label:"Blocked Response:",children:(0,t.jsx)("span",{className:"italic",children:u.blockedResponse})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(V,{label:"Coverage:",children:g}),(0,t.jsx)(V,{label:"Usage:",children:p})]})]}),x.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B,{}),(0,t.jsx)("h4",{className:"font-medium mb-2",children:"Outputs"}),(0,t.jsx)("div",{className:"space-y-2",children:x.map((e,s)=>{var a;return(0,t.jsx)("div",{className:"p-3 bg-gray-50 rounded-md",children:(0,t.jsx)("div",{className:"text-sm whitespace-pre-wrap",children:null!==(a=e.text)&&void 0!==a?a:(0,t.jsx)("em",{children:"(non-text output)"})})},s)})})]})]}),(null===(l=u.assessments)||void 0===l?void 0:l.length)?(0,t.jsx)("div",{className:"space-y-3",children:u.assessments.map((e,s)=>{var a,l,r,n,i,o,d,c,m,u,x,h,g,p,f,j,v,b,y,N,w,k,_,S;let L=(0,t.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.wordPolicy&&P("word","slate"),e.contentPolicy&&P("content","slate"),e.topicPolicy&&P("topic","slate"),e.sensitiveInformationPolicy&&P("sensitive-info","slate"),e.contextualGroundingPolicy&&P("contextual-grounding","slate"),e.automatedReasoningPolicy&&P("automated-reasoning","slate")]});return(0,t.jsxs)(U,{title:"Assessment #".concat(s+1),defaultOpen:!0,right:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(null===(a=e.invocationMetrics)||void 0===a?void 0:a.guardrailProcessingLatency)!=null&&P("".concat(e.invocationMetrics.guardrailProcessingLatency," ms"),"amber"),L]}),children:[e.wordPolicy&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Word Policy"}),(null!==(j=null===(l=e.wordPolicy.customWords)||void 0===l?void 0:l.length)&&void 0!==j?j:0)>0&&(0,t.jsx)(U,{title:"Custom Words",defaultOpen:!0,children:(0,t.jsx)("div",{className:"space-y-2",children:e.wordPolicy.customWords.map((e,s)=>{var a;return(0,t.jsxs)("div",{className:"flex justify-between items-center p-2 bg-gray-50 rounded",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-mono text-sm break-all",children:e.match})]}),Z(e.detected)]},s)})})}),(null!==(v=null===(r=e.wordPolicy.managedWordLists)||void 0===r?void 0:r.length)&&void 0!==v?v:0)>0&&(0,t.jsx)(U,{title:"Managed Word Lists",defaultOpen:!1,children:(0,t.jsx)("div",{className:"space-y-2",children:e.wordPolicy.managedWordLists.map((e,s)=>{var a;return(0,t.jsxs)("div",{className:"flex justify-between items-center p-2 bg-gray-50 rounded",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-mono text-sm break-all",children:e.match}),e.type&&P(e.type,"slate")]}),Z(e.detected)]},s)})})})]}),(null===(i=e.contentPolicy)||void 0===i?void 0:null===(n=i.filters)||void 0===n?void 0:n.length)?(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Content Policy"}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"text-left text-gray-600",children:[(0,t.jsx)("th",{className:"py-1 pr-4",children:"Type"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Action"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Detected"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Strength"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Confidence"})]})}),(0,t.jsx)("tbody",{children:e.contentPolicy.filters.map((e,s)=>{var a,l,r,n;return(0,t.jsxs)("tr",{className:"border-t",children:[(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(a=e.type)&&void 0!==a?a:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:P(null!==(l=e.action)&&void 0!==l?l:"—",e.detected?"red":"slate")}),(0,t.jsx)("td",{className:"py-1 pr-4",children:Z(e.detected)}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(r=e.filterStrength)&&void 0!==r?r:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(n=e.confidence)&&void 0!==n?n:"—"})]},s)})})]})})]}):null,(null===(d=e.contextualGroundingPolicy)||void 0===d?void 0:null===(o=d.filters)||void 0===o?void 0:o.length)?(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Contextual Grounding"}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"text-left text-gray-600",children:[(0,t.jsx)("th",{className:"py-1 pr-4",children:"Type"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Action"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Detected"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Score"}),(0,t.jsx)("th",{className:"py-1 pr-4",children:"Threshold"})]})}),(0,t.jsx)("tbody",{children:e.contextualGroundingPolicy.filters.map((e,s)=>{var a,l,r,n;return(0,t.jsxs)("tr",{className:"border-t",children:[(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(a=e.type)&&void 0!==a?a:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:P(null!==(l=e.action)&&void 0!==l?l:"—",e.detected?"red":"slate")}),(0,t.jsx)("td",{className:"py-1 pr-4",children:Z(e.detected)}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(r=e.score)&&void 0!==r?r:"—"}),(0,t.jsx)("td",{className:"py-1 pr-4",children:null!==(n=e.threshold)&&void 0!==n?n:"—"})]},s)})})]})})]}):null,e.sensitiveInformationPolicy&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Sensitive Information"}),(null!==(b=null===(c=e.sensitiveInformationPolicy.piiEntities)||void 0===c?void 0:c.length)&&void 0!==b?b:0)>0&&(0,t.jsx)(U,{title:"PII Entities",defaultOpen:!0,children:(0,t.jsx)("div",{className:"space-y-2",children:e.sensitiveInformationPolicy.piiEntities.map((e,s)=>{var a;return(0,t.jsxs)("div",{className:"flex justify-between items-center p-2 bg-gray-50 rounded",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),e.type&&P(e.type,"slate"),(0,t.jsx)("span",{className:"font-mono text-xs break-all",children:e.match})]}),Z(e.detected)]},s)})})}),(null!==(y=null===(m=e.sensitiveInformationPolicy.regexes)||void 0===m?void 0:m.length)&&void 0!==y?y:0)>0&&(0,t.jsx)(U,{title:"Custom Regexes",defaultOpen:!1,children:(0,t.jsx)("div",{className:"space-y-2",children:e.sensitiveInformationPolicy.regexes.map((e,s)=>{var a,l;return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between p-2 bg-gray-50 rounded gap-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-medium",children:null!==(l=e.name)&&void 0!==l?l:"regex"}),(0,t.jsx)("span",{className:"font-mono text-xs break-all",children:e.regex})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[Z(e.detected),e.match&&(0,t.jsx)("span",{className:"font-mono text-xs break-all",children:e.match})]})]},s)})})})]}),(null===(x=e.topicPolicy)||void 0===x?void 0:null===(u=x.topics)||void 0===u?void 0:u.length)?(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h6",{className:"font-medium mb-2",children:"Topic Policy"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.topicPolicy.topics.map((e,s)=>{var a,l;return(0,t.jsx)("div",{className:"px-3 py-1.5 bg-gray-50 rounded-md text-xs",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P(null!==(a=e.action)&&void 0!==a?a:"N/A",e.detected?"red":"slate"),(0,t.jsx)("span",{className:"font-medium",children:null!==(l=e.name)&&void 0!==l?l:"topic"}),e.type&&P(e.type,"slate"),Z(e.detected)]})},s)})})]}):null,e.invocationMetrics&&(0,t.jsx)(U,{title:"Invocation Metrics",defaultOpen:!1,children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(V,{label:"Latency (ms)",children:null!==(N=e.invocationMetrics.guardrailProcessingLatency)&&void 0!==N?N:"—"}),(0,t.jsx)(V,{label:"Coverage:",children:(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(null===(h=e.invocationMetrics.guardrailCoverage)||void 0===h?void 0:h.textCharacters)&&P("text ".concat(null!==(w=e.invocationMetrics.guardrailCoverage.textCharacters.guarded)&&void 0!==w?w:0,"/").concat(null!==(k=e.invocationMetrics.guardrailCoverage.textCharacters.total)&&void 0!==k?k:0),"blue"),(null===(g=e.invocationMetrics.guardrailCoverage)||void 0===g?void 0:g.images)&&P("images ".concat(null!==(_=e.invocationMetrics.guardrailCoverage.images.guarded)&&void 0!==_?_:0,"/").concat(null!==(S=e.invocationMetrics.guardrailCoverage.images.total)&&void 0!==S?S:0),"blue")]})})]}),(0,t.jsx)("div",{className:"space-y-2",children:(0,t.jsx)(V,{label:"Usage:",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.invocationMetrics.usage&&Object.entries(e.invocationMetrics.usage).map(e=>{let[s,a]=e;return"number"==typeof a?(0,t.jsxs)("span",{className:"px-2 py-1 bg-slate-100 text-slate-800 rounded-md text-xs font-medium",children:[s,": ",a]},s):null})})})})]})}),(null===(f=e.automatedReasoningPolicy)||void 0===f?void 0:null===(p=f.findings)||void 0===p?void 0:p.length)?(0,t.jsx)(U,{title:"Automated Reasoning Findings",defaultOpen:!1,children:(0,t.jsx)("div",{className:"space-y-2",children:e.automatedReasoningPolicy.findings.map((e,s)=>(0,t.jsx)("pre",{className:"bg-gray-50 rounded p-2 text-xs overflow-x-auto",children:JSON.stringify(e,null,2)},s))})}):null]},s)})}):null,(0,t.jsx)(U,{title:"Raw Bedrock Guardrail Response",defaultOpen:!1,children:(0,t.jsx)("pre",{className:"bg-gray-50 rounded p-3 text-xs overflow-x-auto",children:JSON.stringify(u,null,2)})})]})};let z=e=>new Date(1e3*e).toLocaleString(),J=e=>{var s,a;let{entry:l,index:r,total:n}=e,i=null!==(s=l.guardrail_provider)&&void 0!==s?s:"presidio",o=null!==(a=l.guardrail_status)&&void 0!==a?a:"unknown",d="success"===o.toLowerCase(),c=l.masked_entity_count||{},m=Object.values(c).reduce((e,s)=>e+("number"==typeof s?s:0),0),u=l.guardrail_response,x=Array.isArray(u)?u:[],g="bedrock"!==i||null===u||"object"!=typeof u||Array.isArray(u)?void 0:u;return(0,t.jsxs)("div",{className:"bg-white rounded-lg border border-gray-200 p-4",children:[n>1&&(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("h4",{className:"text-base font-semibold",children:["Guardrail #",r+1,(0,t.jsx)("span",{className:"ml-2 font-mono text-sm text-gray-600",children:l.guardrail_name})]}),(0,t.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-600 rounded-md text-xs capitalize",children:i})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Guardrail Name:"}),(0,t.jsx)("span",{className:"font-mono break-words",children:l.guardrail_name})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Mode:"}),(0,t.jsx)("span",{className:"font-mono break-words",children:l.guardrail_mode})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Status:"}),(0,t.jsx)(h.Z,{title:d?null:"Guardrail failed to run.",placement:"top",arrow:!0,destroyTooltipOnHide:!0,children:(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block ".concat(d?"bg-green-100 text-green-800":"bg-red-100 text-red-800 cursor-help"),children:o})})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Start Time:"}),(0,t.jsx)("span",{children:z(l.start_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"End Time:"}),(0,t.jsx)("span",{children:z(l.end_time)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Duration:"}),(0,t.jsxs)("span",{children:[l.duration.toFixed(4),"s"]})]})]})]}),m>0&&(0,t.jsxs)("div",{className:"mt-4 pt-4 border-t",children:[(0,t.jsx)("h5",{className:"font-medium mb-2",children:"Masked Entity Summary"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(c).map(e=>{let[s,a]=e;return(0,t.jsxs)("span",{className:"px-3 py-1.5 bg-blue-50 text-blue-700 rounded-md text-xs font-medium",children:[s,": ",a]},s)})})]}),"presidio"===i&&x.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(K,{entities:x})}),"bedrock"===i&&g&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(W,{response:g})})]})};var G=e=>{let{data:s}=e,a=Array.isArray(s)?s.filter(e=>!!e):s?[s]:[],[l,r]=(0,i.useState)(!0),n=1===a.length?a[0].guardrail_name:"".concat(a.length," guardrails"),o=Array.from(new Set(a.map(e=>e.guardrail_status))).every(e=>"success"===(null!=e?e:"").toLowerCase()),d=a.reduce((e,s)=>e+Object.values(s.masked_entity_count||{}).reduce((e,s)=>e+("number"==typeof s?s:0),0),0);return 0===a.length?null:(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow mb-6",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50",onClick:()=>r(!l),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("svg",{className:"w-5 h-5 text-gray-600 transition-transform ".concat(l?"transform rotate-90":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Guardrail Information"}),(0,t.jsx)(h.Z,{title:o?null:"Guardrail failed to run.",placement:"top",arrow:!0,destroyTooltipOnHide:!0,children:(0,t.jsx)("span",{className:"ml-2 px-2 py-1 rounded-md text-xs font-medium inline-block ".concat(o?"bg-green-100 text-green-800":"bg-red-100 text-red-800 cursor-help"),children:o?"success":"failure"})}),(0,t.jsx)("span",{className:"ml-2 font-mono text-sm text-gray-600",children:n}),d>0&&(0,t.jsxs)("span",{className:"ml-2 px-2 py-1 bg-blue-50 text-blue-700 rounded-md text-xs font-medium",children:[d," masked ",1===d?"entity":"entities"]})]}),(0,t.jsx)("span",{className:"text-sm text-gray-500",children:l?"Click to collapse":"Click to expand"})]}),l&&(0,t.jsx)("div",{className:"p-4 space-y-6",children:a.map((e,s)=>{var l;return(0,t.jsx)(J,{entry:e,index:s,total:a.length},"".concat(null!==(l=e.guardrail_name)&&void 0!==l?l:"guardrail","-").concat(s))})})]})},Q=a(23048),$=a(30841),X=a(7310),ee=a.n(X),es=a(12363);let ea={TEAM_ID:"Team ID",KEY_HASH:"Key Hash",REQUEST_ID:"Request ID",MODEL:"Model",USER_ID:"User ID",END_USER:"End User",STATUS:"Status",KEY_ALIAS:"Key Alias"};var et=a(59341),el=a(12485),er=a(18135),en=a(35242),ei=a(29706),eo=a(77991),ed=a(92280);let ec="".concat("../ui/assets/","audit-logs-preview.png");function em(e){let{userID:s,userRole:a,token:l,accessToken:o,isActive:u,premiumUser:x,allTeams:h}=e,[g,p]=(0,i.useState)(r()().subtract(24,"hours").format("YYYY-MM-DDTHH:mm")),f=(0,i.useRef)(null),j=(0,i.useRef)(null),[v,b]=(0,i.useState)(1),[N]=(0,i.useState)(50),[w,k]=(0,i.useState)({}),[_,S]=(0,i.useState)(""),[L,C]=(0,i.useState)(""),[M,T]=(0,i.useState)(""),[E,D]=(0,i.useState)("all"),[A,I]=(0,i.useState)("all"),[R,O]=(0,i.useState)(!1),[H,q]=(0,i.useState)(!1),F=(0,n.a)({queryKey:["all_audit_logs",o,l,a,s,g],queryFn:async()=>{if(!o||!l||!a||!s)return[];let e=r()(g).utc().format("YYYY-MM-DD HH:mm:ss"),t=r()().utc().format("YYYY-MM-DD HH:mm:ss"),n=[],i=1,c=1;do{let s=await (0,d.uiAuditLogsCall)(o,e,t,i,50);n=n.concat(s.audit_logs),c=s.total_pages,i++}while(i<=c);return n},enabled:!!o&&!!l&&!!a&&!!s&&u,refetchInterval:5e3,refetchIntervalInBackground:!0}),Y=(0,i.useCallback)(async e=>{if(o)try{let s=(await (0,d.keyListCall)(o,null,null,e,null,null,1,10)).keys.find(s=>s.key_alias===e);s?C(s.token):C("")}catch(e){console.error("Error fetching key hash for alias:",e),C("")}},[o]);(0,i.useEffect)(()=>{if(!o)return;let e=!1,s=!1;w["Team ID"]?_!==w["Team ID"]&&(S(w["Team ID"]),e=!0):""!==_&&(S(""),e=!0),w["Key Hash"]?L!==w["Key Hash"]&&(C(w["Key Hash"]),s=!0):w["Key Alias"]?Y(w["Key Alias"]):""!==L&&(C(""),s=!0),(e||s)&&b(1)},[w,o,Y,_,L]),(0,i.useEffect)(()=>{b(1)},[_,L,g,M,E,A]),(0,i.useEffect)(()=>{function e(e){f.current&&!f.current.contains(e.target)&&O(!1),j.current&&!j.current.contains(e.target)&&q(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let K=(0,i.useMemo)(()=>F.data?F.data.filter(e=>{var s,a,t,l,r,n,i;let o=!0,d=!0,c=!0,m=!0,u=!0;if(_){let r="string"==typeof e.before_value?null===(s=JSON.parse(e.before_value))||void 0===s?void 0:s.team_id:null===(a=e.before_value)||void 0===a?void 0:a.team_id,n="string"==typeof e.updated_values?null===(t=JSON.parse(e.updated_values))||void 0===t?void 0:t.team_id:null===(l=e.updated_values)||void 0===l?void 0:l.team_id;o=r===_||n===_}if(L)try{let s="string"==typeof e.before_value?JSON.parse(e.before_value):e.before_value,a="string"==typeof e.updated_values?JSON.parse(e.updated_values):e.updated_values,t=null==s?void 0:s.token,l=null==a?void 0:a.token;d="string"==typeof t&&t.includes(L)||"string"==typeof l&&l.includes(L)}catch(e){d=!1}if(M&&(c=null===(r=e.object_id)||void 0===r?void 0:r.toLowerCase().includes(M.toLowerCase())),"all"!==E&&(m=(null===(n=e.action)||void 0===n?void 0:n.toLowerCase())===E.toLowerCase()),"all"!==A){let s="";switch(A){case"keys":s="litellm_verificationtoken";break;case"teams":s="litellm_teamtable";break;case"users":s="litellm_usertable";break;default:s=A}u=(null===(i=e.table_name)||void 0===i?void 0:i.toLowerCase())===s}return o&&d&&c&&m&&u}):[],[F.data,_,L,M,E,A]),P=K.length,Z=Math.ceil(P/N)||1,U=(0,i.useMemo)(()=>{let e=(v-1)*N,s=e+N;return K.slice(e,s)},[K,v,N]),V=!F.data||0===F.data.length,B=(0,i.useCallback)(e=>{let{row:s}=e;return(0,t.jsx)(e=>{let{rowData:s}=e,{before_value:a,updated_values:l,table_name:r,action:n}=s,i=(e,s)=>{if(!e||0===Object.keys(e).length)return(0,t.jsx)(ed.x,{children:"N/A"});if(s){let s=Object.keys(e),a=["token","spend","max_budget"];if(s.every(e=>a.includes(e))&&s.length>0)return(0,t.jsxs)("div",{children:[s.includes("token")&&(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Token:"})," ",e.token||"N/A"]}),s.includes("spend")&&(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Spend:"})," ",void 0!==e.spend?"$".concat((0,m.pw)(e.spend,6)):"N/A"]}),s.includes("max_budget")&&(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Max Budget:"})," ",void 0!==e.max_budget?"$".concat((0,m.pw)(e.max_budget,6)):"N/A"]})]});if(e["No differing fields detected in 'before' state"]||e["No differing fields detected in 'updated' state"]||e["No fields changed"])return(0,t.jsx)(ed.x,{children:e[Object.keys(e)[0]]})}return(0,t.jsx)("pre",{className:"p-2 bg-gray-50 border rounded text-xs overflow-auto max-h-60",children:JSON.stringify(e,null,2)})},o=a,d=l;if(("updated"===n||"rotated"===n)&&a&&l&&("LiteLLM_TeamTable"===r||"LiteLLM_UserTable"===r||"LiteLLM_VerificationToken"===r)){let e={},s={};new Set([...Object.keys(a),...Object.keys(l)]).forEach(t=>{JSON.stringify(a[t])!==JSON.stringify(l[t])&&(a.hasOwnProperty(t)&&(e[t]=a[t]),l.hasOwnProperty(t)&&(s[t]=l[t]))}),Object.keys(a).forEach(t=>{l.hasOwnProperty(t)||e.hasOwnProperty(t)||(e[t]=a[t],s[t]=void 0)}),Object.keys(l).forEach(t=>{a.hasOwnProperty(t)||s.hasOwnProperty(t)||(s[t]=l[t],e[t]=void 0)}),o=Object.keys(e).length>0?e:{"No differing fields detected in 'before' state":"N/A"},d=Object.keys(s).length>0?s:{"No differing fields detected in 'updated' state":"N/A"},0===Object.keys(e).length&&0===Object.keys(s).length&&(o={"No fields changed":"N/A"},d={"No fields changed":"N/A"})}return(0,t.jsxs)("div",{className:"-mx-4 p-4 bg-slate-100 border-y border-slate-300 grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"font-semibold mb-2 text-sm text-slate-700",children:"Before Value:"}),i(o,"LiteLLM_VerificationToken"===r)]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"font-semibold mb-2 text-sm text-slate-700",children:"Updated Value:"}),i(d,"LiteLLM_VerificationToken"===r)]})]})},{rowData:s.original})},[]);if(!x)return(0,t.jsxs)("div",{style:{textAlign:"center",marginTop:"20px"},children:[(0,t.jsx)("h1",{style:{display:"block",marginBottom:"10px"},children:"✨ Enterprise Feature."}),(0,t.jsx)(ed.x,{style:{display:"block",marginBottom:"10px"},children:"This is a LiteLLM Enterprise feature, and requires a valid key to use."}),(0,t.jsx)(ed.x,{style:{display:"block",marginBottom:"20px",fontStyle:"italic"},children:"Here's a preview of what Audit Logs offer:"}),(0,t.jsx)("img",{src:ec,alt:"Audit Logs Preview",style:{maxWidth:"100%",maxHeight:"700px",borderRadius:"8px",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",margin:"0 auto"},onError:e=>{console.error("Failed to load audit logs preview image"),e.target.style.display="none"}})]});let W=P>0?(v-1)*N+1:0,z=Math.min(v*N,P);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex items-center justify-between mb-4"}),(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsxs)("div",{className:"border-b px-6 py-4",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold py-4",children:"Audit Logs"}),(0,t.jsx)(e=>{let{show:s}=e;return s?(0,t.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 flex items-start mb-6",children:[(0,t.jsx)("div",{className:"text-blue-500 mr-3 flex-shrink-0 mt-0.5",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,t.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-blue-800",children:"Audit Logs Not Available"}),(0,t.jsx)("p",{className:"text-sm text-blue-700 mt-1",children:"To enable audit logging, add the following configuration to your LiteLLM proxy configuration file:"}),(0,t.jsx)("pre",{className:"mt-2 bg-white p-3 rounded border border-blue-200 text-xs font-mono overflow-auto",children:"litellm_settings:\n store_audit_logs: true"}),(0,t.jsx)("p",{className:"text-xs text-blue-700 mt-2",children:"Note: This will only affect new requests after the configuration change and proxy restart."})]})]}):null},{show:V}),(0,t.jsxs)("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between space-y-4 md:space-y-0",children:[(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"flex items-center",children:(0,t.jsx)("input",{type:"text",placeholder:"Search by Object ID...",value:M,onChange:e=>T(e.target.value),className:"px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"})}),(0,t.jsxs)("button",{onClick:()=>{F.refetch()},className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",title:"Refresh data",children:[(0,t.jsx)("svg",{className:"w-4 h-4 ".concat(F.isFetching?"animate-spin":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),(0,t.jsx)("span",{children:"Refresh"})]})]})}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsxs)("div",{className:"relative",ref:f,children:[(0,t.jsx)("label",{htmlFor:"actionFilterDisplay",className:"mr-2 text-sm font-medium text-gray-700 sr-only",children:"Action:"}),(0,t.jsxs)("button",{id:"actionFilterDisplay",onClick:()=>O(!R),className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 bg-white w-40 text-left justify-between",children:[(0,t.jsxs)("span",{children:["all"===E&&"All Actions","created"===E&&"Created","updated"===E&&"Updated","deleted"===E&&"Deleted","rotated"===E&&"Rotated"]}),(0,t.jsx)("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M19 9l-7 7-7-7"})})]}),R&&(0,t.jsx)("div",{className:"absolute left-0 mt-2 w-40 bg-white rounded-lg shadow-lg border p-1 z-50",children:(0,t.jsx)("div",{className:"space-y-1",children:[{label:"All Actions",value:"all"},{label:"Created",value:"created"},{label:"Updated",value:"updated"},{label:"Deleted",value:"deleted"},{label:"Rotated",value:"rotated"}].map(e=>(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(E===e.value?"bg-blue-50 text-blue-600 font-medium":"font-normal"),onClick:()=>{D(e.value),O(!1)},children:e.label},e.value))})})]}),(0,t.jsxs)("div",{className:"relative",ref:j,children:[(0,t.jsx)("label",{htmlFor:"tableFilterDisplay",className:"mr-2 text-sm font-medium text-gray-700 sr-only",children:"Table:"}),(0,t.jsxs)("button",{id:"tableFilterDisplay",onClick:()=>q(!H),className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 bg-white w-40 text-left justify-between",children:[(0,t.jsxs)("span",{children:["all"===A&&"All Tables","keys"===A&&"Keys","teams"===A&&"Teams","users"===A&&"Users"]}),(0,t.jsx)("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M19 9l-7 7-7-7"})})]}),H&&(0,t.jsx)("div",{className:"absolute left-0 mt-2 w-40 bg-white rounded-lg shadow-lg border p-1 z-50",children:(0,t.jsx)("div",{className:"space-y-1",children:[{label:"All Tables",value:"all"},{label:"Keys",value:"keys"},{label:"Teams",value:"teams"},{label:"Users",value:"users"}].map(e=>(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(A===e.value?"bg-blue-50 text-blue-600 font-medium":"font-normal"),onClick:()=>{I(e.value),q(!1)},children:e.label},e.value))})})]}),(0,t.jsxs)("span",{className:"text-sm text-gray-700",children:["Showing ",F.isLoading?"...":W," -"," ",F.isLoading?"...":z," of"," ",F.isLoading?"...":P," results"]}),(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsxs)("span",{className:"text-sm text-gray-700",children:["Page ",F.isLoading?"...":v," of"," ",F.isLoading?"...":Z]}),(0,t.jsx)("button",{onClick:()=>b(e=>Math.max(1,e-1)),disabled:F.isLoading||1===v,className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Previous"}),(0,t.jsx)("button",{onClick:()=>b(e=>Math.min(Z,e+1)),disabled:F.isLoading||v===Z,className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Next"})]})]})]})]}),(0,t.jsx)(c.w,{columns:y,data:U,renderSubComponent:B,getRowCanExpand:()=>!0})]})]})}let eu=(e,s,a)=>{if(e)return"".concat(r()(s).format("MMM D, h:mm A")," - ").concat(r()(a).format("MMM D, h:mm A"));let t=r()(),l=r()(s),n=t.diff(l,"minutes");if(n>=0&&n<2)return"Last 1 Minute";if(n>=2&&n<16)return"Last 15 Minutes";if(n>=16&&n<61)return"Last Hour";let i=t.diff(l,"hours");return i>=1&&i<5?"Last 4 Hours":i>=5&&i<25?"Last 24 Hours":i>=25&&i<169?"Last 7 Days":"".concat(l.format("MMM D")," - ").concat(t.format("MMM D"))};var ex=a(9309);function eh(e){var s,a,l;let{accessToken:m,token:u,userRole:x,userID:h,allTeams:g,premiumUser:p}=e,[f,j]=(0,i.useState)(""),[b,y]=(0,i.useState)(!1),[w,k]=(0,i.useState)(!1),[_,S]=(0,i.useState)(1),[C]=(0,i.useState)(50),T=(0,i.useRef)(null),E=(0,i.useRef)(null),D=(0,i.useRef)(null),[A,I]=(0,i.useState)(r()().subtract(24,"hours").format("YYYY-MM-DDTHH:mm")),[R,O]=(0,i.useState)(r()().format("YYYY-MM-DDTHH:mm")),[H,F]=(0,i.useState)(!1),[Y,K]=(0,i.useState)(!1),[P,Z]=(0,i.useState)(""),[U,V]=(0,i.useState)(""),[B,W]=(0,i.useState)(""),[z,J]=(0,i.useState)(""),[G,X]=(0,i.useState)(""),[ed,ec]=(0,i.useState)(null),[ex,eh]=(0,i.useState)(null),[ep,ef]=(0,i.useState)(""),[ej,ev]=(0,i.useState)(""),[eb,ey]=(0,i.useState)(x&&L.lo.includes(x)),[eN,ew]=(0,i.useState)("request logs"),[ek,e_]=(0,i.useState)(null),[eS,eL]=(0,i.useState)(null),eC=(0,o.NL)(),[eM,eT]=(0,i.useState)(()=>{let e=sessionStorage.getItem("isLiveTail");return null===e||JSON.parse(e)});(0,i.useEffect)(()=>{sessionStorage.setItem("isLiveTail",JSON.stringify(eM))},[eM]);let[eE,eD]=(0,i.useState)({value:24,unit:"hours"});(0,i.useEffect)(()=>{(async()=>{ex&&m&&ec({...(await (0,d.keyInfoV1Call)(m,ex)).info,token:ex,api_key:ex})})()},[ex,m]),(0,i.useEffect)(()=>{function e(e){T.current&&!T.current.contains(e.target)&&k(!1),E.current&&!E.current.contains(e.target)&&y(!1),D.current&&!D.current.contains(e.target)&&K(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,i.useEffect)(()=>{x&&L.lo.includes(x)&&ey(!0)},[x]);let eA=(0,n.a)({queryKey:["logs","table",_,C,A,R,B,z,eb?h:null,ep,G],queryFn:async()=>{if(!m||!u||!x||!h)return{data:[],total:0,page:1,page_size:C,total_pages:0};let e=r()(A).utc().format("YYYY-MM-DD HH:mm:ss"),s=H?r()(R).utc().format("YYYY-MM-DD HH:mm:ss"):r()().utc().format("YYYY-MM-DD HH:mm:ss"),a=await (0,d.uiSpendLogsCall)(m,z||void 0,B||void 0,void 0,e,s,_,C,eb?h:void 0,ej,ep,G);return await N(a.data,e,m,eC),a.data=a.data.map(s=>{let a=eC.getQueryData(["logDetails",s.request_id,e]);return(null==a?void 0:a.messages)&&(null==a?void 0:a.response)&&(s.messages=a.messages,s.response=a.response),s}),a},enabled:!!m&&!!u&&!!x&&!!h&&"request logs"===eN,refetchInterval:!!eM&&1===_&&15e3,refetchIntervalInBackground:!0}),{filters:eI,filteredLogs:eR,allTeams:eO,allKeyAliases:eH,handleFilterChange:eq,handleFilterReset:eF}=function(e){let{logs:s,accessToken:a,startTime:t,endTime:l,pageSize:o=es.d,isCustomDate:c,setCurrentPage:m,userID:u,userRole:x}=e,h=(0,i.useMemo)(()=>({[ea.TEAM_ID]:"",[ea.KEY_HASH]:"",[ea.REQUEST_ID]:"",[ea.MODEL]:"",[ea.USER_ID]:"",[ea.END_USER]:"",[ea.STATUS]:"",[ea.KEY_ALIAS]:""}),[]),[g,p]=(0,i.useState)(h),[f,j]=(0,i.useState)({data:[],total:0,page:1,page_size:50,total_pages:0}),v=(0,i.useRef)(0),b=(0,i.useCallback)(async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(!a)return;console.log("Filters being sent to API:",e);let n=Date.now();v.current=n;let i=r()(t).utc().format("YYYY-MM-DD HH:mm:ss"),m=c?r()(l).utc().format("YYYY-MM-DD HH:mm:ss"):r()().utc().format("YYYY-MM-DD HH:mm:ss");try{let t=await (0,d.uiSpendLogsCall)(a,e[ea.KEY_HASH]||void 0,e[ea.TEAM_ID]||void 0,e[ea.REQUEST_ID]||void 0,i,m,s,o,e[ea.USER_ID]||void 0,e[ea.END_USER]||void 0,e[ea.STATUS]||void 0,e[ea.MODEL]||void 0,e[ea.KEY_ALIAS]||void 0);n===v.current&&t.data&&j(t)}catch(e){console.error("Error searching users:",e)}},[a,t,l,c,o]),y=(0,i.useMemo)(()=>ee()((e,s)=>b(e,s),300),[b]);(0,i.useEffect)(()=>()=>y.cancel(),[y]);let N=(0,n.a)({queryKey:["allKeys"],queryFn:async()=>{if(!a)throw Error("Access token required");return await (0,$.LO)(a)},enabled:!!a}).data||[],w=(0,i.useMemo)(()=>!!(g[ea.KEY_ALIAS]||g[ea.KEY_HASH]||g[ea.REQUEST_ID]||g[ea.USER_ID]||g[ea.END_USER]),[g]),k=(0,i.useMemo)(()=>{if(!s||!s.data)return{data:[],total:0,page:1,page_size:50,total_pages:0};if(w)return s;let e=[...s.data];return g[ea.TEAM_ID]&&(e=e.filter(e=>e.team_id===g[ea.TEAM_ID])),g[ea.STATUS]&&(e=e.filter(e=>"success"===g[ea.STATUS]?!e.status||"success"===e.status:e.status===g[ea.STATUS])),g[ea.MODEL]&&(e=e.filter(e=>e.model===g[ea.MODEL])),g[ea.KEY_HASH]&&(e=e.filter(e=>e.api_key===g[ea.KEY_HASH])),g[ea.END_USER]&&(e=e.filter(e=>e.end_user===g[ea.END_USER])),{data:e,total:s.total,page:s.page,page_size:s.page_size,total_pages:s.total_pages}},[s,g,w]),_=(0,i.useMemo)(()=>w?f&&f.data&&f.data.length>0?f:s||{data:[],total:0,page:1,page_size:50,total_pages:0}:k,[w,f,k,s]),{data:S}=(0,n.a)({queryKey:["allTeamsForLogFilters",a],queryFn:async()=>a&&await (0,$.IE)(a)||[],enabled:!!a});return{filters:g,filteredLogs:_,allKeyAliases:N,allTeams:S,handleFilterChange:e=>{p(s=>{let a={...s,...e};for(let e of Object.keys(h))e in a||(a[e]=h[e]);return JSON.stringify(a)!==JSON.stringify(s)&&(m(1),y(a,1)),a})},handleFilterReset:()=>{p(h),j({data:[],total:0,page:1,page_size:50,total_pages:0}),y(h,1)}}}({logs:eA.data||{data:[],total:0,page:1,page_size:C||10,total_pages:1},accessToken:m,startTime:A,endTime:R,pageSize:C,isCustomDate:H,setCurrentPage:S,userID:h,userRole:x}),eY=(0,i.useCallback)(async e=>{if(m)try{let s=(await (0,d.keyListCall)(m,null,null,e,null,null,_,C)).keys.find(s=>s.key_alias===e);s&&J(s.token)}catch(e){console.error("Error fetching key hash for alias:",e)}},[m,_,C]);(0,i.useEffect)(()=>{m&&(eI["Team ID"]?W(eI["Team ID"]):W(""),ef(eI.Status||""),X(eI.Model||""),ev(eI["End User"]||""),eI["Key Hash"]?J(eI["Key Hash"]):eI["Key Alias"]?eY(eI["Key Alias"]):J(""))},[eI,m,eY]);let eK=(0,n.a)({queryKey:["sessionLogs",eS],queryFn:async()=>{if(!m||!eS)return{data:[],total:0,page:1,page_size:50,total_pages:1};let e=await (0,d.sessionSpendLogsCall)(m,eS);return{data:e.data||e||[],total:(e.data||e||[]).length,page:1,page_size:1e3,total_pages:1}},enabled:!!m&&!!eS});if((0,i.useEffect)(()=>{var e;(null===(e=eA.data)||void 0===e?void 0:e.data)&&ek&&!eA.data.data.some(e=>e.request_id===ek)&&e_(null)},[null===(s=eA.data)||void 0===s?void 0:s.data,ek]),!m||!u||!x||!h)return null;let eP=eR.data.filter(e=>!f||e.request_id.includes(f)||e.model.includes(f)||e.user&&e.user.includes(f)).map(e=>({...e,duration:(Date.parse(e.endTime)-Date.parse(e.startTime))/1e3,onKeyHashClick:e=>eh(e),onSessionClick:e=>{e&&eL(e)}}))||[],eZ=(null===(l=eK.data)||void 0===l?void 0:null===(a=l.data)||void 0===a?void 0:a.map(e=>({...e,onKeyHashClick:e=>eh(e),onSessionClick:e=>{}})))||[],eU=[{name:"Team ID",label:"Team ID",isSearchable:!0,searchFn:async e=>g&&0!==g.length?g.filter(s=>s.team_id.toLowerCase().includes(e.toLowerCase())||s.team_alias&&s.team_alias.toLowerCase().includes(e.toLowerCase())).map(e=>({label:"".concat(e.team_alias||e.team_id," (").concat(e.team_id,")"),value:e.team_id})):[]},{name:"Status",label:"Status",isSearchable:!1,options:[{label:"Success",value:"success"},{label:"Failure",value:"failure"}]},{name:"Model",label:"Model",isSearchable:!1},{name:"Key Alias",label:"Key Alias",isSearchable:!0,searchFn:async e=>m?(await (0,$.LO)(m)).filter(s=>s.toLowerCase().includes(e.toLowerCase())).map(e=>({label:e,value:e})):[]},{name:"End User",label:"End User",isSearchable:!0,searchFn:async e=>{if(!m)return[];let s=await (0,d.allEndUsersCall)(m);return((null==s?void 0:s.map(e=>e.user_id))||[]).filter(s=>s.toLowerCase().includes(e.toLowerCase())).map(e=>({label:e,value:e}))}},{name:"Key Hash",label:"Key Hash",isSearchable:!1}];if(eS&&eK.data)return(0,t.jsx)("div",{className:"w-full p-6",children:(0,t.jsx)(q,{sessionId:eS,logs:eK.data.data,onBack:()=>eL(null)})});let eV=[{label:"Last 15 Minutes",value:15,unit:"minutes"},{label:"Last Hour",value:1,unit:"hours"},{label:"Last 4 Hours",value:4,unit:"hours"},{label:"Last 24 Hours",value:24,unit:"hours"},{label:"Last 7 Days",value:7,unit:"days"}],eB=eV.find(e=>e.value===eE.value&&e.unit===eE.unit),eW=H?eu(H,A,R):null==eB?void 0:eB.label;return(0,t.jsx)("div",{className:"w-full max-w-screen p-6 overflow-x-hidden box-border",children:(0,t.jsxs)(er.Z,{defaultIndex:0,onIndexChange:e=>ew(0===e?"request logs":"audit logs"),children:[(0,t.jsxs)(en.Z,{children:[(0,t.jsx)(el.Z,{children:"Request Logs"}),(0,t.jsx)(el.Z,{children:"Audit Logs"})]}),(0,t.jsxs)(eo.Z,{children:[(0,t.jsxs)(ei.Z,{children:[(0,t.jsx)("div",{className:"flex items-center justify-between mb-4",children:(0,t.jsx)("h1",{className:"text-xl font-semibold",children:eS?(0,t.jsxs)(t.Fragment,{children:["Session: ",(0,t.jsx)("span",{className:"font-mono",children:eS}),(0,t.jsx)("button",{className:"ml-4 px-3 py-1 text-sm border rounded hover:bg-gray-50",onClick:()=>eL(null),children:"← Back to All Logs"})]}):"Request Logs"})}),ed&&ex&&ed.api_key===ex?(0,t.jsx)(M.Z,{keyId:ex,keyData:ed,accessToken:m,userID:h,userRole:x,teams:g,onClose:()=>eh(null),premiumUser:p,backButtonText:"Back to Logs"}):eS?(0,t.jsx)("div",{className:"bg-white rounded-lg shadow",children:(0,t.jsx)(c.w,{columns:v,data:eZ,renderSubComponent:eg,getRowCanExpand:()=>!0})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(Q.Z,{options:eU,onApplyFilters:eq,onResetFilters:eF}),(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full box-border",children:[(0,t.jsx)("div",{className:"border-b px-6 py-4 w-full max-w-full box-border",children:(0,t.jsxs)("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between space-y-4 md:space-y-0 w-full max-w-full box-border",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 w-full max-w-full box-border",children:[(0,t.jsxs)("div",{className:"relative w-64 min-w-0 flex-shrink-0",children:[(0,t.jsx)("input",{type:"text",placeholder:"Search by Request ID",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:f,onChange:e=>j(e.target.value)}),(0,t.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-shrink",children:[(0,t.jsxs)("div",{className:"relative z-50",ref:D,children:[(0,t.jsxs)("button",{onClick:()=>K(!Y),className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}),eW]}),Y&&(0,t.jsx)("div",{className:"absolute right-0 mt-2 w-64 bg-white rounded-lg shadow-lg border p-2 z-50",children:(0,t.jsxs)("div",{className:"space-y-1",children:[eV.map(e=>(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(eW===e.label?"bg-blue-50 text-blue-600":""),onClick:()=>{O(r()().format("YYYY-MM-DDTHH:mm")),I(r()().subtract(e.value,e.unit).format("YYYY-MM-DDTHH:mm")),eD({value:e.value,unit:e.unit}),F(!1),K(!1)},children:e.label},e.label)),(0,t.jsx)("div",{className:"border-t my-2"}),(0,t.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm hover:bg-gray-50 rounded-md ".concat(H?"bg-blue-50 text-blue-600":""),onClick:()=>F(!H),children:"Custom Range"})]})})]}),(0,t.jsx)(()=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900",children:"Live Tail"}),(0,t.jsx)(et.Z,{color:"green",checked:eM,defaultChecked:!0,onChange:eT})]}),{}),(0,t.jsxs)("button",{onClick:()=>{eA.refetch()},className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",title:"Refresh data",children:[(0,t.jsx)("svg",{className:"w-4 h-4 ".concat(eA.isFetching?"animate-spin":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),(0,t.jsx)("span",{children:"Refresh"})]})]}),H&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{children:(0,t.jsx)("input",{type:"datetime-local",value:A,onChange:e=>{I(e.target.value),S(1)},className:"px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"})}),(0,t.jsx)("span",{className:"text-gray-500",children:"to"}),(0,t.jsx)("div",{children:(0,t.jsx)("input",{type:"datetime-local",value:R,onChange:e=>{O(e.target.value),S(1)},className:"px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"})})]})]}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsxs)("span",{className:"text-sm text-gray-700 whitespace-nowrap",children:["Showing ",eA.isLoading?"...":eR?(_-1)*C+1:0," -"," ",eA.isLoading?"...":eR?Math.min(_*C,eR.total):0," ","of ",eA.isLoading?"...":eR?eR.total:0," results"]}),(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsxs)("span",{className:"text-sm text-gray-700 min-w-[90px]",children:["Page ",eA.isLoading?"...":_," of"," ",eA.isLoading?"...":eR?eR.total_pages:1]}),(0,t.jsx)("button",{onClick:()=>S(e=>Math.max(1,e-1)),disabled:eA.isLoading||1===_,className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Previous"}),(0,t.jsx)("button",{onClick:()=>S(e=>Math.min(eR.total_pages||1,e+1)),disabled:eA.isLoading||_===(eR.total_pages||1),className:"px-3 py-1 text-sm border rounded-md hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Next"})]})]})]})}),eM&&1===_&&(0,t.jsxs)("div",{className:"mb-4 px-4 py-2 bg-green-50 border border-greem-200 rounded-md flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)("span",{className:"text-sm text-green-700",children:"Auto-refreshing every 15 seconds"})}),(0,t.jsx)("button",{onClick:()=>eT(!1),className:"text-sm text-green-600 hover:text-green-800",children:"Stop"})]}),(0,t.jsx)(c.w,{columns:v,data:eP,renderSubComponent:eg,getRowCanExpand:()=>!0})]})]})]}),(0,t.jsx)(ei.Z,{children:(0,t.jsx)(em,{userID:h,userRole:x,token:u,accessToken:m,isActive:"audit logs"===eN,premiumUser:p,allTeams:g})})]})]})})}function eg(e){var s,a,l,r,n,i,o,d,c,u,x;let{row:g}=e,p=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){}return e},f=g.original.metadata||{},j="failure"===f.status,v=j?f.error_information:null,b=g.original.messages&&(Array.isArray(g.original.messages)?g.original.messages.length>0:Object.keys(g.original.messages).length>0),y=g.original.response&&Object.keys(p(g.original.response)).length>0,N=f.vector_store_request_metadata&&Array.isArray(f.vector_store_request_metadata)&&f.vector_store_request_metadata.length>0,w=null===(s=g.original.metadata)||void 0===s?void 0:s.guardrail_information,k=Array.isArray(w)?w:w?[w]:[],L=k.length>0,M=k.reduce((e,s)=>{let a=null==s?void 0:s.masked_entity_count;return a?e+Object.values(a).reduce((e,s)=>"number"==typeof s?e+s:e,0):e},0),T=1===k.length?null!==(x=null===(a=k[0])||void 0===a?void 0:a.guardrail_name)&&void 0!==x?x:"-":k.length>1?"".concat(k.length," guardrails"):"-",E=(0,ex.aS)(g.original.request_id,64);return(0,t.jsxs)("div",{className:"p-6 bg-gray-50 space-y-6 w-full max-w-full overflow-hidden box-border",children:[(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow w-full max-w-full overflow-hidden",children:[(0,t.jsx)("div",{className:"p-4 border-b",children:(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Request Details"})}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 p-4 w-full max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Request ID:"}),g.original.request_id.length>64?(0,t.jsx)(h.Z,{title:g.original.request_id,children:(0,t.jsx)("span",{className:"font-mono text-sm",children:E})}):(0,t.jsx)("span",{className:"font-mono text-sm",children:g.original.request_id})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Model:"}),(0,t.jsx)("span",{children:g.original.model})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Model ID:"}),(0,t.jsx)("span",{children:g.original.model_id})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Call Type:"}),(0,t.jsx)("span",{children:g.original.call_type})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Provider:"}),(0,t.jsx)("span",{children:g.original.custom_llm_provider||"-"})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"API Base:"}),(0,t.jsx)(h.Z,{title:g.original.api_base||"-",children:(0,t.jsx)("span",{className:"max-w-[15ch] truncate block",children:g.original.api_base||"-"})})]}),(null==g?void 0:null===(l=g.original)||void 0===l?void 0:l.requester_ip_address)&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"IP Address:"}),(0,t.jsx)("span",{children:null==g?void 0:null===(r=g.original)||void 0===r?void 0:r.requester_ip_address})]}),L&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Guardrail:"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono",children:T}),M>0&&(0,t.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-blue-50 text-blue-700 rounded-md text-xs font-medium",children:[M," masked"]})]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Tokens:"}),(0,t.jsxs)("span",{children:[g.original.total_tokens," (",g.original.prompt_tokens," prompt tokens +"," ",g.original.completion_tokens," completion tokens)"]})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cache Read Tokens:"}),(0,t.jsx)("span",{children:(0,m.pw)((null===(i=g.original.metadata)||void 0===i?void 0:null===(n=i.additional_usage_values)||void 0===n?void 0:n.cache_read_input_tokens)||0)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cache Creation Tokens:"}),(0,t.jsx)("span",{children:(0,m.pw)(null===(o=g.original.metadata)||void 0===o?void 0:o.additional_usage_values.cache_creation_input_tokens)})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cost:"}),(0,t.jsxs)("span",{children:["$",(0,m.pw)(g.original.spend||0,6)]})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Cache Hit:"}),(0,t.jsx)("span",{children:g.original.cache_hit})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Status:"}),(0,t.jsx)("span",{className:"px-2 py-1 rounded-md text-xs font-medium inline-block text-center w-16 ".concat("failure"!==((null===(d=g.original.metadata)||void 0===d?void 0:d.status)||"Success").toLowerCase()?"bg-green-100 text-green-800":"bg-red-100 text-red-800"),children:"failure"!==((null===(c=g.original.metadata)||void 0===c?void 0:c.status)||"Success").toLowerCase()?"Success":"Failure"})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Start Time:"}),(0,t.jsx)("span",{children:g.original.startTime})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"End Time:"}),(0,t.jsx)("span",{children:g.original.endTime})]}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"Duration:"}),(0,t.jsxs)("span",{children:[g.original.duration," s."]})]}),(null===(u=g.original.metadata)||void 0===u?void 0:u.litellm_overhead_time_ms)!==void 0&&(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"font-medium w-1/3",children:"LiteLLM Overhead:"}),(0,t.jsxs)("span",{children:[g.original.metadata.litellm_overhead_time_ms," ms"]})]})]})]})]}),(0,t.jsx)(C,{show:!b&&!y}),(0,t.jsx)("div",{className:"w-full max-w-full overflow-hidden",children:(0,t.jsx)(_,{row:g,hasMessages:b,hasResponse:y,hasError:j,errorInfo:v,getRawRequest:()=>{var e;return(null===(e=g.original)||void 0===e?void 0:e.proxy_server_request)?p(g.original.proxy_server_request):p(g.original.messages)},formattedResponse:()=>j&&v?{error:{message:v.error_message||"An error occurred",type:v.error_class||"error",code:v.error_code||"unknown",param:null}}:p(g.original.response)})}),L&&(0,t.jsx)(G,{data:w}),N&&(0,t.jsx)(F,{data:f.vector_store_request_metadata}),j&&v&&(0,t.jsx)(S,{errorInfo:v}),g.original.request_tags&&Object.keys(g.original.request_tags).length>0&&(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsx)("div",{className:"flex justify-between items-center p-4 border-b",children:(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Request Tags"})}),(0,t.jsx)("div",{className:"p-4",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(g.original.request_tags).map(e=>{let[s,a]=e;return(0,t.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[s,": ",String(a)]},s)})})})]}),g.original.metadata&&Object.keys(g.original.metadata).length>0&&(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-4 border-b",children:[(0,t.jsx)("h3",{className:"text-lg font-medium",children:"Metadata"}),(0,t.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(JSON.stringify(g.original.metadata,null,2))},className:"p-1 hover:bg-gray-200 rounded",title:"Copy metadata",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})]}),(0,t.jsx)("div",{className:"p-4 overflow-auto max-h-64",children:(0,t.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-all",children:JSON.stringify(g.original.metadata,null,2)})})]})]})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3911-127a29420f88e64e.js b/litellm/proxy/_experimental/out/_next/static/chunks/3911-127a29420f88e64e.js new file mode 100644 index 0000000000..b331cff0cd --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/3911-127a29420f88e64e.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3911],{34310:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z"}}]},name:"file-exclamation",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},38434:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},58747:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(5853),i=r(2265);let o=e=>{var t=(0,n._T)(e,[]);return i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),i.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"}))}},4537:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(5853),i=r(2265);let o=e=>{var t=(0,n._T)(e,[]);return i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),i.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z"}))}},27281:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var n=r(5853),i=r(58747),o=r(2265),s=r(4537),a=r(13241),l=r(1153),u=r(96398),c=r(51975),d=r(85238),f=r(44140);let h=(0,l.fn)("Select"),p=o.forwardRef((e,t)=>{let{defaultValue:r="",value:l,onValueChange:p,placeholder:m="Select...",disabled:g=!1,icon:v,enableClear:b=!1,required:y,children:_,name:w,error:k=!1,errorMessage:E,className:C,id:x}=e,O=(0,n._T)(e,["defaultValue","value","onValueChange","placeholder","disabled","icon","enableClear","required","children","name","error","errorMessage","className","id"]),R=(0,o.useRef)(null),L=o.Children.toArray(_),[S,j]=(0,f.Z)(r,l),T=(0,o.useMemo)(()=>{let e=o.Children.toArray(_).filter(o.isValidElement);return(0,u.sl)(e)},[_]);return o.createElement("div",{className:(0,a.q)("w-full min-w-[10rem] text-tremor-default",C)},o.createElement("div",{className:"relative"},o.createElement("select",{title:"select-hidden",required:y,className:(0,a.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:S,onChange:e=>{e.preventDefault()},name:w,disabled:g,id:x,onFocus:()=>{let e=R.current;e&&e.focus()}},o.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},m),L.map(e=>{let t=e.props.value,r=e.props.children;return o.createElement("option",{className:"hidden",key:t,value:t},r)})),o.createElement(c.Ri,Object.assign({as:"div",ref:t,defaultValue:S,value:S,onChange:e=>{null==p||p(e),j(e)},disabled:g,id:x},O),e=>{var t;let{value:r}=e;return o.createElement(o.Fragment,null,o.createElement(c.Y4,{ref:R,className:(0,a.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-2","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",v?"pl-10":"pl-3",(0,u.um)((0,u.Uh)(r),g,k))},v&&o.createElement("span",{className:(0,a.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},o.createElement(v,{className:(0,a.q)(h("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),o.createElement("span",{className:"w-[90%] block truncate"},r&&null!==(t=T.get(r))&&void 0!==t?t:m),o.createElement("span",{className:(0,a.q)("absolute inset-y-0 right-0 flex items-center mr-3")},o.createElement(i.Z,{className:(0,a.q)(h("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),b&&S?o.createElement("button",{type:"button",className:(0,a.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),j(""),null==p||p("")}},o.createElement(s.Z,{className:(0,a.q)(h("clearIcon"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,o.createElement(d.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},o.createElement(c.O_,{anchor:"bottom start",className:(0,a.q)("z-10 w-[var(--button-width)] divide-y overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},_)))})),k&&E?o.createElement("p",{className:(0,a.q)("errorMessage","text-sm text-rose-500 mt-1")},E):null)});p.displayName="Select"},44140:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(2265);let i=(e,t)=>{let r=void 0!==t,[i,o]=(0,n.useState)(e);return[r?t:i,e=>{r||o(e)}]}},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},15452:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,o={},s=0,a={};function l(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=y(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new h(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview,i)r.postMessage({results:o,workerId:a.WORKER_ID,finished:n});else if(w(this._config.chunk)&&!t){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=o=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!n||!w(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(e){w(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function u(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),l.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=_(this._chunkLoaded,this),t.onerror=_(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function c(e){(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),l.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=_(this._chunkLoaded,this),t.onerror=_(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function d(e){var t;l.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function f(e){l.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=_(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=_(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=_(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=_(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function h(e){var t,r,n,i,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,s=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,l=this,u=0,c=0,d=!1,f=!1,h=[],g={data:[],errors:[],meta:{}};function v(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function b(){if(g&&n&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(g.data=g.data.filter(function(e){return!v(e)})),_()){if(g){if(Array.isArray(g.data[0])){for(var t,r=0;_()&&r=h.length?"__parsed_extra":h[i]:a,u=l=e.transform?e.transform(l,a):l,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===u||"TRUE"===u||"false"!==u&&"FALSE"!==u&&((e=>{if(o.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(u)?parseFloat(u):s.test(u)?new Date(u):""===u?null:u):u);"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(l)):n[a]=l}return e.header&&(i>h.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+h.length+" fields but parsed "+i,c+r):ie.preview?r.abort():(g.data=g.data[0],i(g,l))))}),this.parse=function(i,o,s){var l=e.quoteChar||'"',l=(e.newline||(e.newline=this.guessLineEndings(i,l)),n=!1,e.delimiter?w(e.delimiter)&&(e.delimiter=e.delimiter(i),g.meta.delimiter=e.delimiter):((l=((t,r,n,i,o)=>{var s,l,u,c;o=o||[","," ","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var d=0;d=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function m(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,o=e.preview,s=e.fastMode,l=null,u=!1,c=null==e.quoteChar?'"':e.quoteChar,d=c;if(void 0!==e.escapeChar&&(d=e.escapeChar),("string"!=typeof t||-1=o)return F(!0);break}C.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:E.length,index:f}),M++}}else if(n&&0===x.length&&a.substring(f,f+_)===n){if(-1===j)return F();f=j+y,j=a.indexOf(r,f),S=a.indexOf(t,f)}else if(-1!==S&&(S=o)return F(!0)}return D();function P(e){E.push(e),O=f}function A(e){return -1!==e&&(e=a.substring(M+1,e))&&""===e.trim()?e.length:0}function D(e){return g||(void 0===e&&(e=a.substring(f)),x.push(e),f=v,P(x),k&&Z()),F()}function I(e){f=e,P(x),x=[],j=a.indexOf(r,f)}function F(n){if(e.header&&!m&&E.length&&!u){var i=E[0],o=Object.create(null),s=new Set(i);let t=!1;for(let r=0;r{if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(u=t.skipEmptyLines),"string"==typeof t.newline&&(o=t.newline),"string"==typeof t.quoteChar&&(s=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");c=t.columns}void 0!==t.escapeChar&&(l=t.escapeChar+s),t.escapeFormulae instanceof RegExp?d=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(d=/^[=+\-@\t\r].*$/)}})(),RegExp(p(s),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return h(null,e,u);if("object"==typeof e[0])return h(c||Object.keys(e[0]),e,u)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||c),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),h(e.fields||[],e.data||[],u);throw Error("Unable to serialize unrecognized input");function h(e,t,r){var s="",a=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,s),n=i.default.Children.only(t);return i.default.cloneElement(n,u(u({},r),{},{onClick:this.onClick}))}}],function(e,t){for(var r=0;r{let{el:t}=e;return null!==t.current}).filter(e=>{let{state:t}=e;return"visible"===t}).length>0}function k(e,t){let r=(0,u.E)(e),n=(0,i.useRef)([]),l=(0,a.t)(),c=(0,o.G)(),d=(0,s.z)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g.l4.Hidden,i=n.current.findIndex(t=>{let{el:r}=t;return r===e});-1!==i&&((0,m.E)(t,{[g.l4.Unmount](){n.current.splice(i,1)},[g.l4.Hidden](){n.current[i].state="hidden"}}),c.microTask(()=>{var e;!w(n)&&l.current&&(null==(e=r.current)||e.call(r))}))}),f=(0,s.z)(e=>{let t=n.current.find(t=>{let{el:r}=t;return r===e});return t?"visible"!==t.state&&(t.state="visible"):n.current.push({el:e,state:"visible"}),()=>d(e,g.l4.Unmount)}),h=(0,i.useRef)([]),p=(0,i.useRef)(Promise.resolve()),v=(0,i.useRef)({enter:[],leave:[]}),b=(0,s.z)((e,r,n)=>{h.current.splice(0),t&&(t.chains.current[r]=t.chains.current[r].filter(t=>{let[r]=t;return r!==e})),null==t||t.chains.current[r].push([e,new Promise(e=>{h.current.push(e)})]),null==t||t.chains.current[r].push([e,new Promise(e=>{Promise.all(v.current[r].map(e=>{let[t,r]=e;return r})).then(()=>e())})]),"enter"===r?p.current=p.current.then(()=>null==t?void 0:t.wait.current).then(()=>n(r)):n(r)}),y=(0,s.z)((e,t,r)=>{Promise.all(v.current[t].splice(0).map(e=>{let[t,r]=e;return r})).then(()=>{var e;null==(e=h.current.shift())||e()}).then(()=>r(t))});return(0,i.useMemo)(()=>({children:n,register:f,unregister:d,onStart:b,onStop:y,wait:p,chains:v}),[f,d,n,b,y,v,p])}_.displayName="NestingContext";let E=i.Fragment,C=g.VN.RenderStrategy,x=(0,g.yV)(function(e,t){let{show:r,appear:n=!1,unmount:o=!0,...a}=e,u=(0,i.useRef)(null),f=v(e),p=(0,d.T)(...f?[u,t]:null===t?[]:[t]);(0,c.H)();let m=(0,h.oJ)();if(void 0===r&&null!==m&&(r=(m&h.ZM.Open)===h.ZM.Open),void 0===r)throw Error("A is used but it is missing a `show={true | false}` prop.");let[y,E]=(0,i.useState)(r?"visible":"hidden"),x=k(()=>{r||E("hidden")}),[R,L]=(0,i.useState)(!0),S=(0,i.useRef)([r]);(0,l.e)(()=>{!1!==R&&S.current[S.current.length-1]!==r&&(S.current.push(r),L(!1))},[S,r]);let j=(0,i.useMemo)(()=>({show:r,appear:n,initial:R}),[r,n,R]);(0,l.e)(()=>{r?E("visible"):w(x)||null===u.current||E("hidden")},[r,x]);let T={unmount:o},M=(0,s.z)(()=>{var t;R&&L(!1),null==(t=e.beforeEnter)||t.call(e)}),z=(0,s.z)(()=>{var t;R&&L(!1),null==(t=e.beforeLeave)||t.call(e)}),P=(0,g.L6)();return i.createElement(_.Provider,{value:x},i.createElement(b.Provider,{value:j},P({ourProps:{...T,as:i.Fragment,children:i.createElement(O,{ref:p,...T,...a,beforeEnter:M,beforeLeave:z})},theirProps:{},defaultTag:i.Fragment,features:C,visible:"visible"===y,name:"Transition"})))}),O=(0,g.yV)(function(e,t){var r,n;let{transition:o=!0,beforeEnter:a,afterEnter:u,beforeLeave:y,afterLeave:x,enter:O,enterFrom:R,enterTo:L,entered:S,leave:j,leaveFrom:T,leaveTo:M,...z}=e,[P,A]=(0,i.useState)(null),D=(0,i.useRef)(null),I=v(e),F=(0,d.T)(...I?[D,t,A]:null===t?[]:[t]),Z=null==(r=z.unmount)||r?g.l4.Unmount:g.l4.Hidden,{show:N,appear:q,initial:H}=function(){let e=(0,i.useContext)(b);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),[B,U]=(0,i.useState)(N?"visible":"hidden"),V=function(){let e=(0,i.useContext)(_);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),{register:W,unregister:K}=V;(0,l.e)(()=>W(D),[W,D]),(0,l.e)(()=>{if(Z===g.l4.Hidden&&D.current){if(N&&"visible"!==B){U("visible");return}return(0,m.E)(B,{hidden:()=>K(D),visible:()=>W(D)})}},[B,D,W,K,N,Z]);let J=(0,c.H)();(0,l.e)(()=>{if(I&&J&&"visible"===B&&null===D.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[D,B,J,I]);let Q=H&&!q,$=q&&N&&H,Y=(0,i.useRef)(!1),G=k(()=>{Y.current||(U("hidden"),K(D))},V),X=(0,s.z)(e=>{Y.current=!0,G.onStart(D,e?"enter":"leave",e=>{"enter"===e?null==a||a():"leave"===e&&(null==y||y())})}),ee=(0,s.z)(e=>{let t=e?"enter":"leave";Y.current=!1,G.onStop(D,t,e=>{"enter"===e?null==u||u():"leave"===e&&(null==x||x())}),"leave"!==t||w(G)||(U("hidden"),K(D))});(0,i.useEffect)(()=>{I&&o||(X(N),ee(N))},[N,I,o]);let et=!(!o||!I||!J||Q),[,er]=(0,f.Y)(et,P,N,{start:X,end:ee}),en=(0,g.oA)({ref:F,className:(null==(n=(0,p.A)(z.className,$&&O,$&&R,er.enter&&O,er.enter&&er.closed&&R,er.enter&&!er.closed&&L,er.leave&&j,er.leave&&!er.closed&&T,er.leave&&er.closed&&M,!er.transition&&N&&S))?void 0:n.trim())||void 0,...(0,f.X)(er)}),ei=0;"visible"===B&&(ei|=h.ZM.Open),"hidden"===B&&(ei|=h.ZM.Closed),er.enter&&(ei|=h.ZM.Opening),er.leave&&(ei|=h.ZM.Closing);let eo=(0,g.L6)();return i.createElement(_.Provider,{value:G},i.createElement(h.up,{value:ei},eo({ourProps:en,theirProps:z,defaultTag:E,features:C,visible:"visible"===B,name:"Transition.Child"})))}),R=(0,g.yV)(function(e,t){let r=null!==(0,i.useContext)(b),n=null!==(0,h.oJ)();return i.createElement(i.Fragment,null,!r&&n?i.createElement(x,{ref:t,...e}):i.createElement(O,{ref:t,...e}))}),L=Object.assign(x,{Child:R,Root:x})}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/4042-3025989d114b127a.js b/litellm/proxy/_experimental/out/_next/static/chunks/4042-3025989d114b127a.js new file mode 100644 index 0000000000..7bd0d6c3f4 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/4042-3025989d114b127a.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4042],{14042:function(e,t,n){"use strict";n.d(t,{Z:function(){return eM}});var r=n(5853),o=n(7084),i=n(26898),a=n(13241),c=n(1153),l=n(2265),s=n(60474),u=n(47625),p=n(93765),f=n(86757),d=n.n(f),y=n(87602),m=n(9841),v=n(81889),h=n(82944),b=["points","className","baseLinePoints","connectNulls"];function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:[],t=[[]];return e.forEach(function(e){x(e)?t[t.length-1].push(e):t[t.length-1].length>0&&t.push([])}),x(e[0])&&t[t.length-1].push(e[0]),t[t.length-1].length<=0&&(t=t.slice(0,-1)),t},j=function(e,t){var n=k(e);t&&(n=[n.reduce(function(e,t){return[].concat(A(e),A(t))},[])]);var r=n.map(function(e){return e.reduce(function(e,t,n){return"".concat(e).concat(0===n?"M":"L").concat(t.x,",").concat(t.y)},"")}).join("");return 1===n.length?"".concat(r,"Z"):r},P=function(e,t,n){var r=j(e,n);return"".concat("Z"===r.slice(-1)?r.slice(0,-1):r,"L").concat(j(t.reverse(),n).slice(1))},E=function(e){var t=e.points,n=e.className,r=e.baseLinePoints,o=e.connectNulls,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,b);if(!t||!t.length)return null;var a=(0,y.Z)("recharts-polygon",n);if(r&&r.length){var c=i.stroke&&"none"!==i.stroke,s=P(t,r,o);return l.createElement("g",{className:a},l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"Z"===s.slice(-1)?i.fill:"none",stroke:"none",d:s})),c?l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"none",d:j(t,o)})):null,c?l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"none",d:j(r,o)})):null)}var u=j(t,o);return l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"Z"===u.slice(-1)?i.fill:"none",className:a,d:u}))},w=n(58811),S=n(41637),T=n(39206);function R(e){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function L(){return(L=Object.assign?Object.assign.bind():function(e){for(var t=1;t1e-5?"outer"===t?"start":"end":n<-.00001?"outer"===t?"end":"start":"middle"}},{key:"renderAxisLine",value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.radius,o=e.axisLine,i=e.axisLineType,a=I(I({},(0,h.L6)(this.props,!1)),{},{fill:"none"},(0,h.L6)(o,!1));if("circle"===i)return l.createElement(v.o,L({className:"recharts-polar-angle-axis-line"},a,{cx:t,cy:n,r:r}));var c=this.props.ticks.map(function(e){return(0,T.op)(t,n,r,e.coordinate)});return l.createElement(E,L({className:"recharts-polar-angle-axis-line"},a,{points:c}))}},{key:"renderTicks",value:function(){var e=this,t=this.props,n=t.ticks,o=t.tick,i=t.tickLine,a=t.tickFormatter,c=t.stroke,s=(0,h.L6)(this.props,!1),u=(0,h.L6)(o,!1),p=I(I({},s),{},{fill:"none"},(0,h.L6)(i,!1)),f=n.map(function(t,n){var f=e.getTickLineCoord(t),d=I(I(I({textAnchor:e.getTickTextAnchor(t)},s),{},{stroke:"none",fill:c},u),{},{index:n,payload:t,x:f.x2,y:f.y2});return l.createElement(m.m,L({className:(0,y.Z)("recharts-polar-angle-axis-tick",(0,T.$S)(o)),key:"tick-".concat(t.coordinate)},(0,S.bw)(e.props,t,n)),i&&l.createElement("line",L({className:"recharts-polar-angle-axis-tick-line"},p,f)),o&&r.renderTickItem(o,d,a?a(t.value,n):t.value))});return l.createElement(m.m,{className:"recharts-polar-angle-axis-ticks"},f)}},{key:"render",value:function(){var e=this.props,t=e.ticks,n=e.radius,r=e.axisLine;return!(n<=0)&&t&&t.length?l.createElement(m.m,{className:(0,y.Z)("recharts-polar-angle-axis",this.props.className)},r&&this.renderAxisLine(),this.renderTicks()):null}}],n=[{key:"renderTickItem",value:function(e,t,n){return l.isValidElement(e)?l.cloneElement(e,t):d()(e)?e(t):l.createElement(w.x,L({},t,{className:"recharts-polar-angle-axis-tick-value"}),n)}}],t&&C(r.prototype,t),n&&C(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}(l.PureComponent);K(M,"displayName","PolarAngleAxis"),K(M,"axisType","angleAxis"),K(M,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var V=n(35802),$=n.n(V),q=n(37891),z=n.n(q),G=n(26680),Y=["cx","cy","angle","ticks","axisLine"],H=["ticks","tick","angle","tickFormatter","stroke"];function U(e){return(U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function W(){return(W=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ee(e,t){for(var n=0;n0?es()(e,"paddingAngle",0):0;if(n){var c=(0,eb.k4)(n.endAngle-n.startAngle,e.endAngle-e.startAngle),l=eP(eP({},e),{},{startAngle:i+a,endAngle:i+c(r)+a});o.push(l),i=l.endAngle}else{var s=e.endAngle,p=e.startAngle,f=(0,eb.k4)(0,s-p)(r),d=eP(eP({},e),{},{startAngle:i+a,endAngle:i+f+a});o.push(d),i=d.endAngle}}),l.createElement(m.m,null,e.renderSectorsStatically(o))})}},{key:"attachKeyboardHandlers",value:function(e){var t=this;e.onkeydown=function(e){if(!e.altKey)switch(e.key){case"ArrowLeft":var n=++t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[n].focus(),t.setState({sectorToFocus:n});break;case"ArrowRight":var r=--t.state.sectorToFocus<0?t.sectorRefs.length-1:t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[r].focus(),t.setState({sectorToFocus:r});break;case"Escape":t.sectorRefs[t.state.sectorToFocus].blur(),t.setState({sectorToFocus:0})}}}},{key:"renderSectors",value:function(){var e=this.props,t=e.sectors,n=e.isAnimationActive,r=this.state.prevSectors;return n&&t&&t.length&&(!r||!ep()(r,t))?this.renderSectorsWithAnimation():this.renderSectorsStatically(t)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var e=this,t=this.props,n=t.hide,r=t.sectors,o=t.className,i=t.label,a=t.cx,c=t.cy,s=t.innerRadius,u=t.outerRadius,p=t.isAnimationActive,f=this.state.isAnimationFinished;if(n||!r||!r.length||!(0,eb.hj)(a)||!(0,eb.hj)(c)||!(0,eb.hj)(s)||!(0,eb.hj)(u))return null;var d=(0,y.Z)("recharts-pie",o);return l.createElement(m.m,{tabIndex:this.props.rootTabIndex,className:d,ref:function(t){e.pieRef=t}},this.renderSectors(),i&&this.renderLabels(r),G._.renderCallByParent(this.props,null,!1),(!p||f)&&em.e.renderCallByParent(this.props,r,!1))}}],n=[{key:"getDerivedStateFromProps",value:function(e,t){return t.prevIsAnimationActive!==e.isAnimationActive?{prevIsAnimationActive:e.isAnimationActive,prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:[],isAnimationFinished:!0}:e.isAnimationActive&&e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:t.curSectors,isAnimationFinished:!0}:e.sectors!==t.curSectors?{curSectors:e.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(e,t){return e>t?"start":e=360?A:A-1)*u,x=a.reduce(function(e,t){var n=(0,eg.F$)(t,g,0);return e+((0,eb.hj)(n)?n:0)},0);return x>0&&(t=a.map(function(e,t){var r,o=(0,eg.F$)(e,g,0),i=(0,eg.F$)(e,f,t),a=((0,eb.hj)(o)?o:0)/x,s=(r=t?n.endAngle+(0,eb.uY)(h)*u*(0!==o?1:0):l)+(0,eb.uY)(h)*((0!==o?m:0)+a*O),p=(r+s)/2,d=(v.innerRadius+v.outerRadius)/2,b=[{name:i,value:o,payload:e,dataKey:g,type:y}],A=(0,T.op)(v.cx,v.cy,d,p);return n=eP(eP(eP({percent:a,cornerRadius:c,name:i,tooltipPayload:b,midAngle:p,middleRadius:d,tooltipPosition:A},e),v),{},{value:(0,eg.F$)(e,g),startAngle:r,endAngle:s,payload:e,paddingAngle:(0,eb.uY)(h)*u})})),eP(eP({},v),{},{sectors:t,data:a})});var eI=(0,p.z)({chartName:"PieChart",GraphicalChild:eN,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:M},{axisType:"radiusAxis",AxisComp:ea}],formatAxisMap:T.t9,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}}),eC=n(8147),eD=n(92666),eF=n(98593);let e_=e=>{let{active:t,payload:n,valueFormatter:r}=e;if(t&&(null==n?void 0:n[0])){let e=null==n?void 0:n[0];return l.createElement(eF.$B,null,l.createElement("div",{className:(0,a.q)("px-4 py-2")},l.createElement(eF.zX,{value:r(e.value),name:e.name,color:e.payload.color})))}return null},eK=(e,t)=>e.map((e,n)=>{let r=ne||t((0,c.vP)(n.map(e=>e[r]))),eB=e=>{let{cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:i,endAngle:a,className:c}=e;return l.createElement("g",null,l.createElement(s.L,{cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:i,endAngle:a,className:c,fill:"",opacity:.3,style:{outline:"none"}}))},eM=l.forwardRef((e,t)=>{let{data:n=[],category:s="value",index:p="name",colors:f=i.s,variant:d="donut",valueFormatter:y=c.Cj,label:m,showLabel:v=!0,animationDuration:h=900,showAnimation:b=!1,showTooltip:g=!0,noDataText:A,onValueChange:O,customTooltip:x,className:k}=e,j=(0,r._T)(e,["data","category","index","colors","variant","valueFormatter","label","showLabel","animationDuration","showAnimation","showTooltip","noDataText","onValueChange","customTooltip","className"]),P="donut"==d,E=eZ(m,y,n,s),[w,S]=l.useState(void 0),T=!!O;return(0,l.useEffect)(()=>{let e=document.querySelectorAll(".recharts-pie-sector");e&&e.forEach(e=>{e.setAttribute("style","outline: none")})},[w]),l.createElement("div",Object.assign({ref:t,className:(0,a.q)("w-full h-40",k)},j),l.createElement(u.h,{className:"h-full w-full"},(null==n?void 0:n.length)?l.createElement(eI,{onClick:T&&w?()=>{S(void 0),null==O||O(null)}:void 0,margin:{top:0,left:0,right:0,bottom:0}},v&&P?l.createElement("text",{className:(0,a.q)("fill-tremor-content-emphasis","dark:fill-dark-tremor-content-emphasis"),x:"50%",y:"50%",textAnchor:"middle",dominantBaseline:"middle"},E):null,l.createElement(eN,{className:(0,a.q)("stroke-tremor-background dark:stroke-dark-tremor-background",O?"cursor-pointer":"cursor-default"),data:eK(n,f),cx:"50%",cy:"50%",startAngle:90,endAngle:-270,innerRadius:P?"75%":"0%",outerRadius:"100%",stroke:"",strokeLinejoin:"round",dataKey:s,nameKey:p,isAnimationActive:b,animationDuration:h,onClick:function(e,t,n){n.stopPropagation(),T&&(w===t?(S(void 0),null==O||O(null)):(S(t),null==O||O(Object.assign({eventType:"slice"},e.payload.payload))))},activeIndex:w,inactiveShape:eB,style:{outline:"none"}}),l.createElement(eC.u,{wrapperStyle:{outline:"none"},isAnimationActive:!1,content:g?e=>{var t;let{active:n,payload:r}=e;return x?l.createElement(x,{payload:null==r?void 0:r.map(e=>{var t,n,i;return Object.assign(Object.assign({},e),{color:null!==(i=null===(n=null===(t=null==r?void 0:r[0])||void 0===t?void 0:t.payload)||void 0===n?void 0:n.color)&&void 0!==i?i:o.fr.Gray})}),active:n,label:null===(t=null==r?void 0:r[0])||void 0===t?void 0:t.name}):l.createElement(e_,{active:n,payload:r,valueFormatter:y})}:l.createElement(l.Fragment,null)})):l.createElement(eD.Z,{noDataText:A})))});eM.displayName="DonutChart"},35802:function(e,t,n){var r=n(67646),o=n(58905),i=n(88157);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},37891:function(e,t,n){var r=n(67646),o=n(88157),i=n(20121);e.exports=function(e,t){return e&&e.length?r(e,o(t,2),i):void 0}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/4292-07a0f7766e802b0b.js b/litellm/proxy/_experimental/out/_next/static/chunks/4292-07a0f7766e802b0b.js deleted file mode 100644 index c7cef8a881..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/4292-07a0f7766e802b0b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4292],{84717:function(e,s,a){a.d(s,{Ct:function(){return t.Z},Dx:function(){return x.Z},OK:function(){return n.Z},Zb:function(){return r.Z},nP:function(){return m.Z},rj:function(){return i.Z},td:function(){return o.Z},v0:function(){return d.Z},x4:function(){return c.Z},xv:function(){return u.Z},zx:function(){return l.Z}});var t=a(41649),l=a(78489),r=a(12514),i=a(67101),n=a(12485),d=a(18135),o=a(35242),c=a(29706),m=a(77991),u=a(84264),x=a(96761)},40728:function(e,s,a){a.d(s,{C:function(){return t.Z},x:function(){return l.Z}});var t=a(41649),l=a(84264)},16721:function(e,s,a){a.d(s,{Dx:function(){return d.Z},JX:function(){return l.Z},oi:function(){return n.Z},rj:function(){return r.Z},xv:function(){return i.Z},zx:function(){return t.Z}});var t=a(78489),l=a(49804),r=a(67101),i=a(84264),n=a(49566),d=a(96761)},64504:function(e,s,a){a.d(s,{o:function(){return l.Z},z:function(){return t.Z}});var t=a(78489),l=a(49566)},67479:function(e,s,a){var t=a(57437),l=a(2265),r=a(37592),i=a(19250);s.Z=e=>{let{onChange:s,value:a,className:n,accessToken:d,disabled:o}=e,[c,m]=(0,l.useState)([]),[u,x]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{(async()=>{if(d){x(!0);try{let e=await (0,i.getGuardrailsList)(d);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),m(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{x(!1)}}})()},[d]),(0,t.jsx)("div",{children:(0,t.jsx)(r.default,{mode:"multiple",disabled:o,placeholder:o?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),s(e)},value:a,loading:u,className:n,options:c.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},27799:function(e,s,a){var t=a(57437);a(2265);var l=a(40728),r=a(82182),i=a(91777),n=a(97434);s.Z=function(e){let{loggingConfigs:s=[],disabledCallbacks:a=[],variant:d="card",className:o=""}=e,c=e=>{var s;return(null===(s=Object.entries(n.Lo).find(s=>{let[a,t]=s;return t===e}))||void 0===s?void 0:s[0])||e},m=e=>{switch(e){case"success":return"green";case"failure":return"red";case"success_and_failure":return"blue";default:return"gray"}},u=e=>{switch(e){case"success":return"Success Only";case"failure":return"Failure Only";case"success_and_failure":return"Success & Failure";default:return e}},x=(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Logging Integrations"}),(0,t.jsx)(l.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,t.jsx)("div",{className:"space-y-3",children:s.map((e,s)=>{var a;let i=c(e.callback_name),d=null===(a=n.Dg[i])||void 0===a?void 0:a.logo;return(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-blue-50 border border-blue-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[d?(0,t.jsx)("img",{src:d,alt:i,className:"w-5 h-5 object-contain"}):(0,t.jsx)(r.Z,{className:"h-5 w-5 text-gray-400"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(l.x,{className:"font-medium text-blue-800",children:i}),(0,t.jsxs)(l.x,{className:"text-xs text-blue-600",children:[Object.keys(e.callback_vars).length," parameters configured"]})]})]}),(0,t.jsx)(l.C,{color:m(e.callback_type),size:"sm",children:u(e.callback_type)})]},s)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(r.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No logging integrations configured"})]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Z,{className:"h-4 w-4 text-red-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Disabled Callbacks"}),(0,t.jsx)(l.C,{color:"red",size:"xs",children:a.length})]}),a.length>0?(0,t.jsx)("div",{className:"space-y-3",children:a.map((e,s)=>{var a;let r=n.RD[e]||e,d=null===(a=n.Dg[r])||void 0===a?void 0:a.logo;return(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-red-50 border border-red-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[d?(0,t.jsx)("img",{src:d,alt:r,className:"w-5 h-5 object-contain"}):(0,t.jsx)(i.Z,{className:"h-5 w-5 text-gray-400"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(l.x,{className:"font-medium text-red-800",children:r}),(0,t.jsx)(l.x,{className:"text-xs text-red-600",children:"Disabled for this key"})]})]}),(0,t.jsx)(l.C,{color:"red",size:"sm",children:"Disabled"})]},s)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No callbacks disabled"})]})]})]});return"card"===d?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Logging Settings"}),(0,t.jsx)(l.x,{className:"text-xs text-gray-500",children:"Active logging integrations and disabled callbacks for this key"})]})}),x]}):(0,t.jsxs)("div",{className:"".concat(o),children:[(0,t.jsx)(l.x,{className:"font-medium text-gray-900 mb-3",children:"Logging Settings"}),x]})}},60131:function(e,s,a){a.d(s,{Z:function(){return j}});var t=a(57437),l=a(2265),r=a(92280),i=a(40728),n=a(79814),d=a(19250),o=function(e){let{vectorStores:s,accessToken:a}=e,[r,o]=(0,l.useState)([]);(0,l.useEffect)(()=>{(async()=>{if(a&&0!==s.length)try{let e=await (0,d.vectorStoreListCall)(a);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[a,s.length]);let c=e=>{let s=r.find(s=>s.vector_store_id===e);return s?"".concat(s.vector_store_name||s.vector_store_id," (").concat(s.vector_store_id,")"):e};return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(i.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,t.jsx)(i.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:s.map((e,s)=>(0,t.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:c(e)},s))}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(i.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},c=a(25327),m=a(86462),u=a(47686),x=a(99981),g=function(e){let{mcpServers:s,mcpAccessGroups:r=[],mcpToolPermissions:n={},accessToken:o}=e,[g,h]=(0,l.useState)([]),[p,j]=(0,l.useState)([]),[v,b]=(0,l.useState)(new Set),y=e=>{b(s=>{let a=new Set(s);return a.has(e)?a.delete(e):a.add(e),a})};(0,l.useEffect)(()=>{(async()=>{if(o&&s.length>0)try{let e=await (0,d.fetchMCPServers)(o);e&&Array.isArray(e)?h(e):e.data&&Array.isArray(e.data)&&h(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,s.length]),(0,l.useEffect)(()=>{(async()=>{if(o&&r.length>0)try{let e=await Promise.resolve().then(a.bind(a,19250)).then(e=>e.fetchMCPAccessGroups(o));j(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,r.length]);let _=e=>{let s=g.find(s=>s.server_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.alias," (").concat(a,")")}return e},f=e=>e,N=[...s.map(e=>({type:"server",value:e})),...r.map(e=>({type:"accessGroup",value:e}))],k=N.length;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(i.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,t.jsx)(i.C,{color:"blue",size:"xs",children:k})]}),k>0?(0,t.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:N.map((e,s)=>{let a="server"===e.type?n[e.value]:void 0,l=a&&a.length>0,r=v.has(e.value);return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{onClick:()=>l&&y(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(l?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,t.jsx)(x.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:_(e.value)})]})}):(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:f(e.value)}),(0,t.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),l&&(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-gray-600",children:a.length}),(0,t.jsx)("span",{className:"text-xs text-gray-500",children:1===a.length?"tool":"tools"}),r?(0,t.jsx)(m.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,t.jsx)(u.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),l&&r&&(0,t.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.map((e,s)=>(0,t.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},s))})})]},s)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(c.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(i.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},h=a(3497),p=function(e){let{agents:s,agentAccessGroups:a=[],accessToken:r}=e,[n,o]=(0,l.useState)([]);(0,l.useEffect)(()=>{(async()=>{if(r&&s.length>0)try{let e=await (0,d.getAgentsList)(r);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[r,s.length]);let c=e=>{let s=n.find(s=>s.agent_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.agent_name," (").concat(a,")")}return e},m=[...s.map(e=>({type:"agent",value:e})),...a.map(e=>({type:"accessGroup",value:e}))],u=m.length;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Z,{className:"h-4 w-4 text-purple-600"}),(0,t.jsx)(i.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,t.jsx)(i.C,{color:"purple",size:"xs",children:u})]}),u>0?(0,t.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:m.map((e,s)=>(0,t.jsx)("div",{className:"space-y-2",children:(0,t.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,t.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,t.jsx)(x.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:c(e.value)})]})}):(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,t.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},s))}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(h.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(i.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},j=function(e){let{objectPermission:s,variant:a="card",className:l="",accessToken:i}=e,n=(null==s?void 0:s.vector_stores)||[],d=(null==s?void 0:s.mcp_servers)||[],c=(null==s?void 0:s.mcp_access_groups)||[],m=(null==s?void 0:s.mcp_tool_permissions)||{},u=(null==s?void 0:s.agents)||[],x=(null==s?void 0:s.agent_access_groups)||[],h=(0,t.jsxs)("div",{className:"card"===a?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,t.jsx)(o,{vectorStores:n,accessToken:i}),(0,t.jsx)(g,{mcpServers:d,mcpAccessGroups:c,mcpToolPermissions:m,accessToken:i}),(0,t.jsx)(p,{agents:u,agentAccessGroups:x,accessToken:i})]});return"card"===a?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(l),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,t.jsx)(r.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),h]}):(0,t.jsxs)("div",{className:"".concat(l),children:[(0,t.jsx)(r.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),h]})}},21425:function(e,s,a){var t=a(57437);a(2265);var l=a(54507);s.Z=e=>{let{value:s,onChange:a,disabledCallbacks:r=[],onDisabledCallbacksChange:i}=e;return(0,t.jsx)(l.Z,{value:s,onChange:a,disabledCallbacks:r,onDisabledCallbacksChange:i})}},94292:function(e,s,a){a.d(s,{Z:function(){return es}});var t=a(57437),l=a(59872),r=a(33304),i=a(10900),n=a(23628),d=a(74998),o=a(84717),c=a(10032),m=a(5545),u=a(99981),x=a(30401),g=a(78867),h=a(2265),p=a(20347),j=a(97434),v=a(40728),b=a(58710),y=e=>{let{autoRotate:s=!1,rotationInterval:a,lastRotationAt:l,keyRotationAt:r,nextRotationAt:i,variant:d="card",className:o=""}=e,c=e=>{let s=new Date(e),a=s.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),t=s.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return"".concat(a," at ").concat(t)},m=(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"space-y-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(v.x,{className:"font-semibold text-gray-900",children:"Auto-Rotation"}),(0,t.jsx)(v.C,{color:s?"green":"gray",size:"xs",children:s?"Enabled":"Disabled"}),s&&a&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.x,{className:"text-gray-400",children:"•"}),(0,t.jsxs)(v.x,{className:"text-sm text-gray-600",children:["Every ",a]})]})]})}),(s||l||r||i)&&(0,t.jsxs)("div",{className:"space-y-3",children:[l&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-200 rounded-md",children:[(0,t.jsx)(b.Z,{className:"w-4 h-4 text-gray-500"}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(v.x,{className:"font-medium text-gray-700",children:"Last Rotation"}),(0,t.jsx)(v.x,{className:"text-sm text-gray-600",children:c(l)})]})]}),(r||i)&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-200 rounded-md",children:[(0,t.jsx)(b.Z,{className:"w-4 h-4 text-gray-500"}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(v.x,{className:"font-medium text-gray-700",children:"Next Scheduled Rotation"}),(0,t.jsx)(v.x,{className:"text-sm text-gray-600",children:c(i||r||"")})]})]}),s&&!l&&!r&&!i&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-100 rounded-md",children:[(0,t.jsx)(b.Z,{className:"w-4 h-4 text-gray-500"}),(0,t.jsx)(v.x,{className:"text-gray-600",children:"No rotation history available"})]})]}),!s&&!l&&!r&&!i&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-100 rounded-md",children:[(0,t.jsx)(n.Z,{className:"w-4 h-4 text-gray-400"}),(0,t.jsx)(v.x,{className:"text-gray-600",children:"Auto-rotation is not enabled for this key"})]})]});return"card"===d?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(v.x,{className:"font-semibold text-gray-900",children:"Auto-Rotation"}),(0,t.jsx)(v.x,{className:"text-xs text-gray-500",children:"Automatic key rotation settings and status for this key"})]})}),m]}):(0,t.jsxs)("div",{className:"".concat(o),children:[(0,t.jsx)(v.x,{className:"font-medium text-gray-900 mb-3",children:"Auto-Rotation"}),m]})};let _=["logging"],f=e=>e&&"object"==typeof e?Object.fromEntries(Object.entries(e).filter(e=>{let[s]=e;return!_.includes(s)})):{},N=e=>e&&"object"==typeof e&&Array.isArray(e.logging)?e.logging:[],k=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return JSON.stringify(f(e),null,s)},w=e=>{if(!e||"object"!=typeof e)return e;let{tags:s,...a}=e;return a};var Z=a(27799),S=a(9114),C=a(19250),A=a(60131),I=a(16721),L=a(22116),P=a(19015),M=a(92668),D=a(29233);function T(e){let{selectedToken:s,visible:a,onClose:l,accessToken:r,premiumUser:i,setAccessToken:n,onKeyUpdate:d}=e,[o]=c.Z.useForm(),[m,u]=(0,h.useState)(null),[x,g]=(0,h.useState)(null),[p,j]=(0,h.useState)(null),[v,b]=(0,h.useState)(!1),[y,_]=(0,h.useState)(!1),[f,N]=(0,h.useState)(null);(0,h.useEffect)(()=>{a&&s&&r&&(o.setFieldsValue({key_alias:s.key_alias,max_budget:s.max_budget,tpm_limit:s.tpm_limit,rpm_limit:s.rpm_limit,duration:s.duration||""}),N(r),_(s.key_name===r))},[a,s,o,r]),(0,h.useEffect)(()=>{a||(u(null),b(!1),_(!1),N(null),o.resetFields())},[a,o]);let k=e=>{if(!e)return null;try{let s;let a=new Date;if(e.endsWith("s"))s=(0,M.I)(a,{seconds:parseInt(e)});else if(e.endsWith("h"))s=(0,M.I)(a,{hours:parseInt(e)});else if(e.endsWith("d"))s=(0,M.I)(a,{days:parseInt(e)});else throw Error("Invalid duration format");return s.toLocaleString()}catch(e){return null}};(0,h.useEffect)(()=>{(null==x?void 0:x.duration)?j(k(x.duration)):j(null)},[null==x?void 0:x.duration]);let w=async()=>{if(s&&f){b(!0);try{let e=await o.validateFields(),a=await (0,C.regenerateKeyCall)(f,s.token||s.token_id,e);u(a.key),S.Z.success("Virtual Key regenerated successfully"),console.log("Full regenerate response:",a);let t={token:a.token||a.key_id||s.token,key_name:a.key,max_budget:e.max_budget,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit,expires:e.duration?k(e.duration):s.expires,...a};console.log("Updated key data with new token:",t),y&&(N(a.key),n&&n(a.key)),d&&d(t),b(!1)}catch(e){console.error("Error regenerating key:",e),S.Z.fromBackend(e),b(!1)}}},Z=()=>{u(null),b(!1),_(!1),N(null),o.resetFields(),l()};return(0,t.jsx)(L.Z,{title:"Regenerate Virtual Key",open:a,onCancel:Z,footer:m?[(0,t.jsx)(I.zx,{onClick:Z,children:"Close"},"close")]:[(0,t.jsx)(I.zx,{onClick:Z,className:"mr-2",children:"Cancel"},"cancel"),(0,t.jsx)(I.zx,{onClick:w,disabled:v,children:v?"Regenerating...":"Regenerate"},"regenerate")],children:m?(0,t.jsxs)(I.rj,{numItems:1,className:"gap-2 w-full",children:[(0,t.jsx)(I.Dx,{children:"Regenerated Key"}),(0,t.jsx)(I.JX,{numColSpan:1,children:(0,t.jsxs)("p",{children:["Please replace your old key with the new key generated. For security reasons,"," ",(0,t.jsx)("b",{children:"you will not be able to view it again"})," through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,t.jsxs)(I.JX,{numColSpan:1,children:[(0,t.jsx)(I.xv,{className:"mt-3",children:"Key Alias:"}),(0,t.jsx)("div",{className:"bg-gray-100 p-2 rounded mb-2",children:(0,t.jsx)("pre",{className:"break-words whitespace-normal",children:(null==s?void 0:s.key_alias)||"No alias set"})}),(0,t.jsx)(I.xv,{className:"mt-3",children:"New Virtual Key:"}),(0,t.jsx)("div",{className:"bg-gray-100 p-2 rounded mb-2",children:(0,t.jsx)("pre",{className:"break-words whitespace-normal",children:m})}),(0,t.jsx)(D.CopyToClipboard,{text:m,onCopy:()=>S.Z.success("Virtual Key copied to clipboard"),children:(0,t.jsx)(I.zx,{className:"mt-3",children:"Copy Virtual Key"})})]})]}):(0,t.jsxs)(c.Z,{form:o,layout:"vertical",onValuesChange:e=>{"duration"in e&&g(s=>({...s,duration:e.duration}))},children:[(0,t.jsx)(c.Z.Item,{name:"key_alias",label:"Key Alias",children:(0,t.jsx)(I.oi,{disabled:!0})}),(0,t.jsx)(c.Z.Item,{name:"max_budget",label:"Max Budget (USD)",children:(0,t.jsx)(P.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{name:"tpm_limit",label:"TPM Limit",children:(0,t.jsx)(P.Z,{style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{name:"rpm_limit",label:"RPM Limit",children:(0,t.jsx)(P.Z,{style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{name:"duration",label:"Expire Key (eg: 30s, 30h, 30d)",className:"mt-8",children:(0,t.jsx)(I.oi,{placeholder:""})}),(0,t.jsxs)("div",{className:"mt-2 text-sm text-gray-500",children:["Current expiry: ",(null==s?void 0:s.expires)?new Date(s.expires).toLocaleString():"Never"]}),p&&(0,t.jsxs)("div",{className:"mt-2 text-sm text-green-600",children:["New expiry: ",p]})]})})}var E=a(85968),R=a(67479),F=a(64504),z=a(37592),V=a(4260),K=a(63709),O=a(62099),U=a(95096),G=a(65895),B=a(95920),W=a(68473),q=a(82586),J=a(30874),$=a(24199),Q=a(21425),X=a(97415),Y=a(15424);let H=e=>e&&0!==e.length?e.includes("llm_api_routes")?"llm_api":e.includes("management_routes")?"management":e.includes("info_routes")?"read_only":"default":"default";function ee(e){var s,a,l,r,i,n,d,o,m,x,g,p,v,b;let{keyData:y,onCancel:_,onSubmit:f,teams:Z,accessToken:A,userID:I,userRole:L,premiumUser:P=!1}=e,[M]=c.Z.useForm(),[D,T]=(0,h.useState)([]),[E,ee]=(0,h.useState)([]),[es,ea]=(0,h.useState)({}),et=null==Z?void 0:Z.find(e=>e.team_id===y.team_id),[el,er]=(0,h.useState)([]),[ei,en]=(0,h.useState)([]),[ed,eo]=(0,h.useState)(!1),[ec,em]=(0,h.useState)(Array.isArray(null===(s=y.metadata)||void 0===s?void 0:s.litellm_disabled_callbacks)?(0,j.PA)(y.metadata.litellm_disabled_callbacks):[]),[eu,ex]=(0,h.useState)(y.auto_rotate||!1),[eg,eh]=(0,h.useState)(y.rotation_interval||""),[ep,ej]=(0,h.useState)(!1);(0,h.useEffect)(()=>{let e=async()=>{if(I&&L&&A)try{if(null===y.team_id){let e=(await (0,C.modelAvailableCall)(A,I,L)).data.map(e=>e.id);er(e)}else if(null==et?void 0:et.team_id){let e=await (0,J.wk)(I,L,A,et.team_id);er(Array.from(new Set([...et.models,...e])))}}catch(e){console.error("Error fetching models:",e)}};(async()=>{if(A)try{let e=await (0,C.getPromptsList)(A);ee(e.prompts.map(e=>e.prompt_id))}catch(e){console.error("Failed to fetch prompts:",e)}})(),e()},[I,L,A,et,y.team_id]),(0,h.useEffect)(()=>{M.setFieldValue("disabled_callbacks",ec)},[M,ec]);let ev=e=>e&&({"24h":"daily","7d":"weekly","30d":"monthly"})[e]||null,eb={...y,token:y.token||y.token_id,budget_duration:ev(y.budget_duration),metadata:k(w(y.metadata)),guardrails:null===(a=y.metadata)||void 0===a?void 0:a.guardrails,disable_global_guardrails:(null===(l=y.metadata)||void 0===l?void 0:l.disable_global_guardrails)||!1,prompts:null===(r=y.metadata)||void 0===r?void 0:r.prompts,tags:null===(i=y.metadata)||void 0===i?void 0:i.tags,vector_stores:(null===(n=y.object_permission)||void 0===n?void 0:n.vector_stores)||[],mcp_servers_and_groups:{servers:(null===(d=y.object_permission)||void 0===d?void 0:d.mcp_servers)||[],accessGroups:(null===(o=y.object_permission)||void 0===o?void 0:o.mcp_access_groups)||[]},mcp_tool_permissions:(null===(m=y.object_permission)||void 0===m?void 0:m.mcp_tool_permissions)||{},agents_and_groups:{agents:(null===(x=y.object_permission)||void 0===x?void 0:x.agents)||[],accessGroups:(null===(g=y.object_permission)||void 0===g?void 0:g.agent_access_groups)||[]},logging_settings:N(y.metadata),disabled_callbacks:Array.isArray(null===(p=y.metadata)||void 0===p?void 0:p.litellm_disabled_callbacks)?(0,j.PA)(y.metadata.litellm_disabled_callbacks):[],auto_rotate:y.auto_rotate||!1,...y.rotation_interval&&{rotation_interval:y.rotation_interval},allowed_routes:y.allowed_routes};(0,h.useEffect)(()=>{var e,s,a,t,l,r,i,n,d;M.setFieldsValue({...y,token:y.token||y.token_id,budget_duration:ev(y.budget_duration),metadata:k(w(y.metadata)),guardrails:null===(e=y.metadata)||void 0===e?void 0:e.guardrails,disable_global_guardrails:(null===(s=y.metadata)||void 0===s?void 0:s.disable_global_guardrails)||!1,prompts:null===(a=y.metadata)||void 0===a?void 0:a.prompts,tags:null===(t=y.metadata)||void 0===t?void 0:t.tags,vector_stores:(null===(l=y.object_permission)||void 0===l?void 0:l.vector_stores)||[],mcp_servers_and_groups:{servers:(null===(r=y.object_permission)||void 0===r?void 0:r.mcp_servers)||[],accessGroups:(null===(i=y.object_permission)||void 0===i?void 0:i.mcp_access_groups)||[]},mcp_tool_permissions:(null===(n=y.object_permission)||void 0===n?void 0:n.mcp_tool_permissions)||{},logging_settings:N(y.metadata),disabled_callbacks:Array.isArray(null===(d=y.metadata)||void 0===d?void 0:d.litellm_disabled_callbacks)?(0,j.PA)(y.metadata.litellm_disabled_callbacks):[],auto_rotate:y.auto_rotate||!1,...y.rotation_interval&&{rotation_interval:y.rotation_interval},allowed_routes:y.allowed_routes})},[y,M]),(0,h.useEffect)(()=>{M.setFieldValue("auto_rotate",eu)},[eu,M]),(0,h.useEffect)(()=>{eg&&M.setFieldValue("rotation_interval",eg)},[eg,M]),(0,h.useEffect)(()=>{(async()=>{if(A)try{let e=await (0,C.tagListCall)(A);ea(e)}catch(e){S.Z.fromBackend("Error fetching tags: "+e)}})()},[A]),console.log("premiumUser:",P);let ey=async e=>{try{ej(!0),await f(e)}finally{ej(!1)}};return(0,t.jsxs)(c.Z,{form:M,onFinish:ey,initialValues:eb,layout:"vertical",children:[(0,t.jsx)(c.Z.Item,{label:"Key Alias",name:"key_alias",children:(0,t.jsx)(F.o,{})}),(0,t.jsx)(c.Z.Item,{label:"Models",name:"models",children:(0,t.jsx)(c.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.allowed_routes!==s.allowed_routes||e.models!==s.models,children:e=>{let{getFieldValue:s,setFieldValue:a}=e,l=s("allowed_routes")||[],r=l.includes("management_routes")||l.includes("info_routes"),i=s("models")||[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(z.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},disabled:r,value:r?[]:i,onChange:e=>a("models",e),children:[el.length>0&&(0,t.jsx)(z.default.Option,{value:"all-team-models",children:"All Team Models"}),el.map(e=>(0,t.jsx)(z.default.Option,{value:e,children:e},e))]}),r&&(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Models field is disabled for this key type"})]})}})}),(0,t.jsx)(c.Z.Item,{label:"Key Type",children:(0,t.jsx)(c.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.allowed_routes!==s.allowed_routes,children:e=>{let{getFieldValue:s,setFieldValue:a}=e,l=H(s("allowed_routes"));return(0,t.jsxs)(z.default,{placeholder:"Select key type",style:{width:"100%"},optionLabelProp:"label",value:l,onChange:e=>{switch(e){case"default":a("allowed_routes",[]);break;case"llm_api":a("allowed_routes",["llm_api_routes"]);break;case"management":a("allowed_routes",["management_routes"]),a("models",[])}},children:[(0,t.jsx)(z.default.Option,{value:"default",label:"Default",children:(0,t.jsxs)("div",{style:{padding:"4px 0"},children:[(0,t.jsx)("div",{style:{fontWeight:500},children:"Default"}),(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Can call LLM API + Management routes"})]})}),(0,t.jsx)(z.default.Option,{value:"llm_api",label:"LLM API",children:(0,t.jsxs)("div",{style:{padding:"4px 0"},children:[(0,t.jsx)("div",{style:{fontWeight:500},children:"LLM API"}),(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Can call only LLM API routes (chat/completions, embeddings, etc.)"})]})}),(0,t.jsx)(z.default.Option,{value:"management",label:"Management",children:(0,t.jsxs)("div",{style:{padding:"4px 0"},children:[(0,t.jsx)("div",{style:{fontWeight:500},children:"Management"}),(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Can call only management routes (user/team/key management)"})]})})]})}})}),(0,t.jsx)(c.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)($.Z,{step:.01,style:{width:"100%"},placeholder:"Enter a numerical value"})}),(0,t.jsx)(c.Z.Item,{label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(z.default,{placeholder:"n/a",children:[(0,t.jsx)(z.default.Option,{value:"daily",children:"Daily"}),(0,t.jsx)(z.default.Option,{value:"weekly",children:"Weekly"}),(0,t.jsx)(z.default.Option,{value:"monthly",children:"Monthly"})]})}),(0,t.jsx)(c.Z.Item,{label:"TPM Limit",name:"tpm_limit",children:(0,t.jsx)($.Z,{min:0})}),(0,t.jsx)(G.Z,{type:"tpm",name:"tpm_limit_type",showDetailedDescriptions:!1}),(0,t.jsx)(c.Z.Item,{label:"RPM Limit",name:"rpm_limit",children:(0,t.jsx)($.Z,{min:0})}),(0,t.jsx)(G.Z,{type:"rpm",name:"rpm_limit_type",showDetailedDescriptions:!1}),(0,t.jsx)(c.Z.Item,{label:"Max Parallel Requests",name:"max_parallel_requests",children:(0,t.jsx)($.Z,{min:0})}),(0,t.jsx)(c.Z.Item,{label:"Model TPM Limit",name:"model_tpm_limit",children:(0,t.jsx)(V.default.TextArea,{rows:4,placeholder:'{"gpt-4": 100, "claude-v1": 200}'})}),(0,t.jsx)(c.Z.Item,{label:"Model RPM Limit",name:"model_rpm_limit",children:(0,t.jsx)(V.default.TextArea,{rows:4,placeholder:'{"gpt-4": 100, "claude-v1": 200}'})}),(0,t.jsx)(c.Z.Item,{label:"Guardrails",name:"guardrails",children:A&&(0,t.jsx)(R.Z,{onChange:e=>{M.setFieldValue("guardrails",e)},accessToken:A,disabled:!P})}),(0,t.jsx)(c.Z.Item,{label:(0,t.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,t.jsx)(u.Z,{title:"When enabled, this key will bypass any guardrails configured to run on every request (global guardrails)",children:(0,t.jsx)(Y.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",valuePropName:"checked",children:(0,t.jsx)(K.Z,{disabled:!P,checkedChildren:"Yes",unCheckedChildren:"No"})}),(0,t.jsx)(c.Z.Item,{label:"Tags",name:"tags",children:(0,t.jsx)(z.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter tags",options:Object.values(es).map(e=>({value:e.name,label:e.name,title:e.description||e.name}))})}),(0,t.jsx)(c.Z.Item,{label:"Prompts",name:"prompts",children:(0,t.jsx)(u.Z,{title:P?"":"Setting prompts by key is a premium feature",placement:"top",children:(0,t.jsx)(z.default,{mode:"tags",style:{width:"100%"},disabled:!P,placeholder:P?Array.isArray(null===(v=y.metadata)||void 0===v?void 0:v.prompts)&&y.metadata.prompts.length>0?"Current: ".concat(y.metadata.prompts.join(", ")):"Select or enter prompts":"Premium feature - Upgrade to set prompts by key",options:E.map(e=>({value:e,label:e}))})})}),(0,t.jsx)(c.Z.Item,{label:"Allowed Pass Through Routes",name:"allowed_passthrough_routes",children:(0,t.jsx)(u.Z,{title:P?"":"Setting allowed pass through routes by key is a premium feature",placement:"top",children:(0,t.jsx)(U.Z,{onChange:e=>M.setFieldValue("allowed_passthrough_routes",e),value:M.getFieldValue("allowed_passthrough_routes"),accessToken:A||"",placeholder:P?Array.isArray(null===(b=y.metadata)||void 0===b?void 0:b.allowed_passthrough_routes)&&y.metadata.allowed_passthrough_routes.length>0?"Current: ".concat(y.metadata.allowed_passthrough_routes.join(", ")):"Select or enter allowed pass through routes":"Premium feature - Upgrade to set allowed pass through routes by key",disabled:!P})})}),(0,t.jsx)(c.Z.Item,{label:"Vector Stores",name:"vector_stores",children:(0,t.jsx)(X.Z,{onChange:e=>M.setFieldValue("vector_stores",e),value:M.getFieldValue("vector_stores"),accessToken:A||"",placeholder:"Select vector stores"})}),(0,t.jsx)(c.Z.Item,{label:"MCP Servers / Access Groups",name:"mcp_servers_and_groups",children:(0,t.jsx)(B.Z,{onChange:e=>M.setFieldValue("mcp_servers_and_groups",e),value:M.getFieldValue("mcp_servers_and_groups"),accessToken:A||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,t.jsx)(c.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,t.jsx)(V.default,{type:"hidden"})}),(0,t.jsx)(c.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.mcp_servers_and_groups!==s.mcp_servers_and_groups||e.mcp_tool_permissions!==s.mcp_tool_permissions,children:()=>{var e;return(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)(W.Z,{accessToken:A||"",selectedServers:(null===(e=M.getFieldValue("mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:M.getFieldValue("mcp_tool_permissions")||{},onChange:e=>M.setFieldsValue({mcp_tool_permissions:e})})})}}),(0,t.jsx)(c.Z.Item,{label:"Agents / Access Groups",name:"agents_and_groups",children:(0,t.jsx)(q.Z,{onChange:e=>M.setFieldValue("agents_and_groups",e),value:M.getFieldValue("agents_and_groups"),accessToken:A||"",placeholder:"Select agents or access groups (optional)"})}),(0,t.jsx)(c.Z.Item,{label:"Team ID",name:"team_id",children:(0,t.jsx)(z.default,{placeholder:"Select team",style:{width:"100%"},children:null==Z?void 0:Z.map(e=>(0,t.jsx)(z.default.Option,{value:e.team_id,children:"".concat(e.team_alias," (").concat(e.team_id,")")},e.team_id))})}),(0,t.jsx)(c.Z.Item,{label:"Logging Settings",name:"logging_settings",children:(0,t.jsx)(Q.Z,{value:M.getFieldValue("logging_settings"),onChange:e=>M.setFieldValue("logging_settings",e),disabledCallbacks:ec,onDisabledCallbacksChange:e=>{em((0,j.PA)(e)),M.setFieldValue("disabled_callbacks",e)}})}),(0,t.jsx)(c.Z.Item,{label:"Metadata",name:"metadata",children:(0,t.jsx)(V.default.TextArea,{rows:10})}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(O.Z,{form:M,autoRotationEnabled:eu,onAutoRotationChange:ex,rotationInterval:eg,onRotationIntervalChange:eh}),(0,t.jsx)(c.Z.Item,{name:"duration",hidden:!0,initialValue:"",children:(0,t.jsx)(V.default,{})})]}),(0,t.jsx)(c.Z.Item,{name:"token",hidden:!0,children:(0,t.jsx)(V.default,{})}),(0,t.jsx)(c.Z.Item,{name:"allowed_routes",hidden:!0,children:(0,t.jsx)(V.default,{})}),(0,t.jsx)(c.Z.Item,{name:"disabled_callbacks",hidden:!0,children:(0,t.jsx)(V.default,{})}),(0,t.jsx)(c.Z.Item,{name:"auto_rotate",hidden:!0,children:(0,t.jsx)(V.default,{})}),(0,t.jsx)(c.Z.Item,{name:"rotation_interval",hidden:!0,children:(0,t.jsx)(V.default,{})}),(0,t.jsx)("div",{className:"sticky z-10 bg-white p-4 border-t border-gray-200 bottom-[-1.5rem] inset-x-[-1.5rem]",children:(0,t.jsxs)("div",{className:"flex justify-end items-center gap-2",children:[(0,t.jsx)(F.z,{variant:"secondary",onClick:_,disabled:ep,children:"Cancel"}),(0,t.jsx)(F.z,{type:"submit",loading:ep,children:"Save Changes"})]})})]})}function es(e){var s,a,v,b,_,f,I,L;let{keyId:P,onClose:M,keyData:D,accessToken:R,userID:F,userRole:z,teams:V,onKeyDataUpdate:K,onDelete:O,premiumUser:U,setAccessToken:G,backButtonText:B="Back to Keys"}=e,[W,q]=(0,h.useState)(!1),[J]=c.Z.useForm(),[$,Q]=(0,h.useState)(!1),[X,Y]=(0,h.useState)(""),[H,es]=(0,h.useState)(!1),[ea,et]=(0,h.useState)({}),[el,er]=(0,h.useState)(D),[ei,en]=(0,h.useState)(null),[ed,eo]=(0,h.useState)(!1);if((0,h.useEffect)(()=>{D&&er(D)},[D]),(0,h.useEffect)(()=>{if(ed){let e=setTimeout(()=>{eo(!1)},5e3);return()=>clearTimeout(e)}},[ed]),!el)return(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsx)(o.zx,{icon:i.Z,variant:"light",onClick:M,className:"mb-4",children:B}),(0,t.jsx)(o.xv,{children:"Key not found"})]});let ec=async e=>{try{var s,a,t,l;if(!R)return;let i=e.token;if(e.key=i,U||(delete e.guardrails,delete e.prompts),e.max_budget=(0,r.C)(e.max_budget),void 0!==e.vector_stores&&(e.object_permission={...el.object_permission,vector_stores:e.vector_stores||[]},delete e.vector_stores),void 0!==e.mcp_servers_and_groups){let{servers:s,accessGroups:a}=e.mcp_servers_and_groups||{servers:[],accessGroups:[]};e.object_permission={...el.object_permission,mcp_servers:s||[],mcp_access_groups:a||[]},delete e.mcp_servers_and_groups}if(void 0!==e.mcp_tool_permissions){let s=e.mcp_tool_permissions||{};Object.keys(s).length>0&&(e.object_permission={...e.object_permission,mcp_tool_permissions:s}),delete e.mcp_tool_permissions}if(void 0!==e.agents_and_groups){let{agents:s,accessGroups:a}=e.agents_and_groups||{agents:[],accessGroups:[]};e.object_permission={...e.object_permission,agents:s||[],agent_access_groups:a||[]},delete e.agents_and_groups}if(e.max_budget=(0,r.C)(e.max_budget),e.tpm_limit=(0,r.C)(e.tpm_limit),e.rpm_limit=(0,r.C)(e.rpm_limit),e.max_parallel_requests=(0,r.C)(e.max_parallel_requests),e.metadata&&"string"==typeof e.metadata)try{let t=JSON.parse(e.metadata);"tags"in t&&delete t.tags,e.metadata={...t,...Array.isArray(e.tags)&&e.tags.length>0?{tags:e.tags}:{},...(null===(s=e.guardrails)||void 0===s?void 0:s.length)>0?{guardrails:e.guardrails}:{},...e.logging_settings?{logging:e.logging_settings}:{},...(null===(a=e.disabled_callbacks)||void 0===a?void 0:a.length)>0?{litellm_disabled_callbacks:(0,j.Z3)(e.disabled_callbacks)}:{}}}catch(e){console.error("Error parsing metadata JSON:",e),S.Z.error("Invalid metadata JSON");return}else{let{tags:s,...a}=e.metadata||{};e.metadata={...a,...Array.isArray(e.tags)&&e.tags.length>0?{tags:e.tags}:{},...(null===(t=e.guardrails)||void 0===t?void 0:t.length)>0?{guardrails:e.guardrails}:{},...e.logging_settings?{logging:e.logging_settings}:{},...(null===(l=e.disabled_callbacks)||void 0===l?void 0:l.length)>0?{litellm_disabled_callbacks:(0,j.Z3)(e.disabled_callbacks)}:{}}}"tags"in e&&delete e.tags,delete e.logging_settings,e.budget_duration&&(e.budget_duration=({daily:"24h",weekly:"7d",monthly:"30d"})[e.budget_duration]);let n=await (0,C.keyUpdateCall)(R,e);er(e=>e?{...e,...n}:void 0),K&&K(n),S.Z.success("Key updated successfully"),q(!1)}catch(e){S.Z.fromBackend((0,E.O)(e)),console.error("Error updating key:",e)}},em=async()=>{try{if(!R)return;await (0,C.keyDeleteCall)(R,el.token||el.token_id),S.Z.success("Key deleted successfully"),O&&O(),M()}catch(e){console.error("Error deleting the key:",e),S.Z.fromBackend(e)}Y("")},eu=async(e,s)=>{await (0,l.vQ)(e)&&(et(e=>({...e,[s]:!0})),setTimeout(()=>{et(e=>({...e,[s]:!1}))},2e3))},ex=e=>{let s=new Date(e),a=s.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),t=s.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return"".concat(a," at ").concat(t)};return(0,t.jsxs)("div",{className:"w-full h-screen p-4",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.zx,{icon:i.Z,variant:"light",onClick:M,className:"mb-4",children:B}),(0,t.jsx)(o.Dx,{children:el.key_alias||"Virtual Key"}),(0,t.jsxs)("div",{className:"flex items-center cursor-pointer mb-2 space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"text-xs text-gray-400 uppercase tracking-wide mt-2",children:"Key ID"}),(0,t.jsx)(o.xv,{className:"text-gray-500 font-mono text-sm",children:el.token_id||el.token})]}),(0,t.jsx)(m.ZP,{type:"text",size:"small",icon:ea["key-id"]?(0,t.jsx)(x.Z,{size:12}):(0,t.jsx)(g.Z,{size:12}),onClick:()=>eu(el.token_id||el.token,"key-id"),className:"ml-2 transition-all duration-200".concat(ea["key-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)(o.xv,{className:"text-sm text-gray-500",children:el.updated_at&&el.updated_at!==el.created_at?"Updated: ".concat(ex(el.updated_at)):"Created: ".concat(ex(el.created_at))}),ed&&(0,t.jsx)(o.Ct,{color:"green",size:"xs",className:"animate-pulse",children:"Recently Regenerated"}),ei&&(0,t.jsx)(o.Ct,{color:"blue",size:"xs",children:"Regenerated"})]})]}),z&&p.LQ.includes(z)&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(u.Z,{title:U?"":"This is a LiteLLM Enterprise feature, and requires a valid key to use.",children:(0,t.jsx)("span",{className:"inline-block",children:(0,t.jsx)(o.zx,{icon:n.Z,variant:"secondary",onClick:()=>es(!0),className:"flex items-center",disabled:!U,children:"Regenerate Key"})})}),(0,t.jsx)(o.zx,{icon:d.Z,variant:"secondary",onClick:()=>Q(!0),className:"flex items-center text-red-500 border-red-500 hover:text-red-700",children:"Delete Key"})]})]}),(0,t.jsx)(T,{selectedToken:el,visible:H,onClose:()=>es(!1),accessToken:R,premiumUser:U,setAccessToken:G,onKeyUpdate:e=>{er(s=>{if(s)return{...s,...e,created_at:new Date().toLocaleString()}}),en(new Date),eo(!0),K&&K({...e,created_at:new Date().toLocaleString()})}}),$&&(()=>{let e=(null==el?void 0:el.key_alias)||(null==el?void 0:el.token_id)||"Virtual Key",s=X===e;return(0,t.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-2xl min-h-[380px] py-6 overflow-hidden transform transition-all flex flex-col justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Delete Key"}),(0,t.jsx)("button",{onClick:()=>{Q(!1),Y("")},className:"text-gray-400 hover:text-gray-500 focus:outline-none",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"px-6 py-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 p-4 bg-red-50 border border-red-100 rounded-md mb-5",children:[(0,t.jsx)("div",{className:"text-red-500 mt-0.5",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.082 16.5c-.77.833.192 2.5 1.732 2.5z"})})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-base font-medium text-red-600",children:"Warning: You are about to delete this Virtual Key."}),(0,t.jsx)("p",{className:"text-base text-red-600 mt-2",children:"This action is irreversible and will immediately revoke access for any applications using this key."})]})]}),(0,t.jsx)("p",{className:"text-base text-gray-600 mb-5",children:"Are you sure you want to delete this Virtual Key?"}),(0,t.jsxs)("div",{className:"mb-5",children:[(0,t.jsxs)("label",{className:"block text-base font-medium text-gray-700 mb-2",children:["Type ",(0,t.jsx)("span",{className:"underline",children:e})," to confirm deletion:"]}),(0,t.jsx)("input",{type:"text",value:X,onChange:e=>Y(e.target.value),placeholder:"Enter key name exactly",className:"w-full px-4 py-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-base",autoFocus:!0})]})]})]}),(0,t.jsxs)("div",{className:"px-6 py-4 bg-gray-50 flex justify-end gap-4",children:[(0,t.jsx)("button",{onClick:()=>{Q(!1),Y("")},className:"px-5 py-3 bg-white border border-gray-300 rounded-md text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:"Cancel"}),(0,t.jsx)("button",{onClick:em,disabled:!s,className:"px-5 py-3 rounded-md text-base font-medium text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 ".concat(s?"bg-red-600 hover:bg-red-700":"bg-red-300 cursor-not-allowed"),children:"Delete Key"})]})]})})})(),(0,t.jsxs)(o.v0,{children:[(0,t.jsxs)(o.td,{className:"mb-4",children:[(0,t.jsx)(o.OK,{children:"Overview"}),(0,t.jsx)(o.OK,{children:"Settings"})]}),(0,t.jsxs)(o.nP,{children:[(0,t.jsx)(o.x4,{children:(0,t.jsxs)(o.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,t.jsxs)(o.Zb,{children:[(0,t.jsx)(o.xv,{children:"Spend"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(o.Dx,{children:["$",(0,l.pw)(el.spend,4)]}),(0,t.jsxs)(o.xv,{children:["of"," ",null!==el.max_budget?"$".concat((0,l.pw)(el.max_budget)):"Unlimited"]})]})]}),(0,t.jsxs)(o.Zb,{children:[(0,t.jsx)(o.xv,{children:"Rate Limits"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(o.xv,{children:["TPM: ",null!==el.tpm_limit?el.tpm_limit:"Unlimited"]}),(0,t.jsxs)(o.xv,{children:["RPM: ",null!==el.rpm_limit?el.rpm_limit:"Unlimited"]})]})]}),(0,t.jsxs)(o.Zb,{children:[(0,t.jsx)(o.xv,{children:"Models"}),(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:el.models&&el.models.length>0?el.models.map((e,s)=>(0,t.jsx)(o.Ct,{color:"red",children:e},s)):(0,t.jsx)(o.xv,{children:"No models specified"})})]}),(0,t.jsx)(o.Zb,{children:(0,t.jsx)(A.Z,{objectPermission:el.object_permission,variant:"inline",accessToken:R})}),(0,t.jsx)(Z.Z,{loggingConfigs:N(el.metadata),disabledCallbacks:Array.isArray(null===(s=el.metadata)||void 0===s?void 0:s.litellm_disabled_callbacks)?(0,j.PA)(el.metadata.litellm_disabled_callbacks):[],variant:"card"}),(0,t.jsx)(y,{autoRotate:el.auto_rotate,rotationInterval:el.rotation_interval,lastRotationAt:el.last_rotation_at,keyRotationAt:el.key_rotation_at,nextRotationAt:el.next_rotation_at,variant:"card"})]})}),(0,t.jsx)(o.x4,{children:(0,t.jsxs)(o.Zb,{className:"overflow-y-auto max-h-[65vh]",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,t.jsx)(o.Dx,{children:"Key Settings"}),!W&&z&&p.LQ.includes(z)&&(0,t.jsx)(o.zx,{onClick:()=>q(!0),children:"Edit Settings"})]}),W?(0,t.jsx)(ee,{keyData:el,onCancel:()=>q(!1),onSubmit:ec,teams:V,accessToken:R,userID:F,userRole:z,premiumUser:U}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Key ID"}),(0,t.jsx)(o.xv,{className:"font-mono",children:el.token_id||el.token})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Key Alias"}),(0,t.jsx)(o.xv,{children:el.key_alias||"Not Set"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Secret Key"}),(0,t.jsx)(o.xv,{className:"font-mono",children:el.key_name})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Team ID"}),(0,t.jsx)(o.xv,{children:el.team_id||"Not Set"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Organization"}),(0,t.jsx)(o.xv,{children:el.organization_id||"Not Set"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Created"}),(0,t.jsx)(o.xv,{children:ex(el.created_at)})]}),ei&&(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Last Regenerated"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.xv,{children:ex(ei)}),(0,t.jsx)(o.Ct,{color:"green",size:"xs",children:"Recent"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Expires"}),(0,t.jsx)(o.xv,{children:el.expires?ex(el.expires):"Never"})]}),(0,t.jsx)(y,{autoRotate:el.auto_rotate,rotationInterval:el.rotation_interval,lastRotationAt:el.last_rotation_at,keyRotationAt:el.key_rotation_at,nextRotationAt:el.next_rotation_at,variant:"inline",className:"pt-4 border-t border-gray-200"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Spend"}),(0,t.jsxs)(o.xv,{children:["$",(0,l.pw)(el.spend,4)," USD"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Budget"}),(0,t.jsx)(o.xv,{children:null!==el.max_budget?"$".concat((0,l.pw)(el.max_budget,2)):"Unlimited"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Tags"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:Array.isArray(null===(a=el.metadata)||void 0===a?void 0:a.tags)&&el.metadata.tags.length>0?el.metadata.tags.map((e,s)=>(0,t.jsx)("span",{className:"px-2 mr-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):"No tags specified"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Prompts"}),(0,t.jsx)(o.xv,{children:Array.isArray(null===(v=el.metadata)||void 0===v?void 0:v.prompts)&&el.metadata.prompts.length>0?el.metadata.prompts.map((e,s)=>(0,t.jsx)("span",{className:"px-2 mr-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):"No prompts specified"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Allowed Pass Through Routes"}),(0,t.jsx)(o.xv,{children:Array.isArray(null===(b=el.metadata)||void 0===b?void 0:b.allowed_passthrough_routes)&&el.metadata.allowed_passthrough_routes.length>0?el.metadata.allowed_passthrough_routes.map((e,s)=>(0,t.jsx)("span",{className:"px-2 mr-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):"No pass through routes specified"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Disable Global Guardrails"}),(0,t.jsx)(o.xv,{children:(null===(_=el.metadata)||void 0===_?void 0:_.disable_global_guardrails)===!0?(0,t.jsx)(o.Ct,{color:"yellow",children:"Enabled - Global guardrails bypassed"}):(0,t.jsx)(o.Ct,{color:"green",children:"Disabled - Global guardrails active"})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Models"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:el.models&&el.models.length>0?el.models.map((e,s)=>(0,t.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):(0,t.jsx)(o.xv,{children:"No models specified"})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Rate Limits"}),(0,t.jsxs)(o.xv,{children:["TPM: ",null!==el.tpm_limit?el.tpm_limit:"Unlimited"]}),(0,t.jsxs)(o.xv,{children:["RPM: ",null!==el.rpm_limit?el.rpm_limit:"Unlimited"]}),(0,t.jsxs)(o.xv,{children:["Max Parallel Requests:"," ",null!==el.max_parallel_requests?el.max_parallel_requests:"Unlimited"]}),(0,t.jsxs)(o.xv,{children:["Model TPM Limits:"," ",(null===(f=el.metadata)||void 0===f?void 0:f.model_tpm_limit)?JSON.stringify(el.metadata.model_tpm_limit):"Unlimited"]}),(0,t.jsxs)(o.xv,{children:["Model RPM Limits:"," ",(null===(I=el.metadata)||void 0===I?void 0:I.model_rpm_limit)?JSON.stringify(el.metadata.model_rpm_limit):"Unlimited"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.xv,{className:"font-medium",children:"Metadata"}),(0,t.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:k(w(el.metadata))})]}),(0,t.jsx)(A.Z,{objectPermission:el.object_permission,variant:"inline",className:"pt-4 border-t border-gray-200",accessToken:R}),(0,t.jsx)(Z.Z,{loggingConfigs:N(el.metadata),disabledCallbacks:Array.isArray(null===(L=el.metadata)||void 0===L?void 0:L.litellm_disabled_callbacks)?(0,j.PA)(el.metadata.litellm_disabled_callbacks):[],variant:"inline",className:"pt-4 border-t border-gray-200"})]})]})})]})]})]})}},33304:function(e,s,a){a.d(s,{C:function(){return t}});function t(e){return""===e?null:e}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/4292-24752ded432749c8.js b/litellm/proxy/_experimental/out/_next/static/chunks/4292-24752ded432749c8.js new file mode 100644 index 0000000000..1a6d566b35 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/4292-24752ded432749c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4292],{84717:function(e,s,a){a.d(s,{Ct:function(){return t.Z},Dx:function(){return x.Z},OK:function(){return n.Z},Zb:function(){return r.Z},nP:function(){return m.Z},rj:function(){return i.Z},td:function(){return o.Z},v0:function(){return d.Z},x4:function(){return c.Z},xv:function(){return u.Z},zx:function(){return l.Z}});var t=a(41649),l=a(78489),r=a(12514),i=a(67101),n=a(12485),d=a(18135),o=a(35242),c=a(29706),m=a(77991),u=a(84264),x=a(96761)},40728:function(e,s,a){a.d(s,{C:function(){return t.Z},x:function(){return l.Z}});var t=a(41649),l=a(84264)},16721:function(e,s,a){a.d(s,{Dx:function(){return d.Z},JX:function(){return l.Z},oi:function(){return n.Z},rj:function(){return r.Z},xv:function(){return i.Z},zx:function(){return t.Z}});var t=a(78489),l=a(49804),r=a(67101),i=a(84264),n=a(49566),d=a(96761)},64504:function(e,s,a){a.d(s,{o:function(){return l.Z},z:function(){return t.Z}});var t=a(78489),l=a(49566)},11318:function(e,s,a){a.d(s,{Z:function(){return n}});var t=a(2265),l=a(39760),r=a(19250);let i=async(e,s,a,t)=>"Admin"!=a&&"Admin Viewer"!=a?await (0,r.teamListCall)(e,(null==t?void 0:t.organization_id)||null,s):await (0,r.teamListCall)(e,(null==t?void 0:t.organization_id)||null);var n=()=>{let[e,s]=(0,t.useState)([]),{accessToken:a,userId:r,userRole:n}=(0,l.Z)();return(0,t.useEffect)(()=>{(async()=>{s(await i(a,r,n,null))})()},[a,r,n]),{teams:e,setTeams:s}}},67479:function(e,s,a){var t=a(57437),l=a(2265),r=a(37592),i=a(19250);s.Z=e=>{let{onChange:s,value:a,className:n,accessToken:d,disabled:o}=e,[c,m]=(0,l.useState)([]),[u,x]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{(async()=>{if(d){x(!0);try{let e=await (0,i.getGuardrailsList)(d);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),m(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{x(!1)}}})()},[d]),(0,t.jsx)("div",{children:(0,t.jsx)(r.default,{mode:"multiple",disabled:o,placeholder:o?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),s(e)},value:a,loading:u,className:n,options:c.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},27799:function(e,s,a){var t=a(57437);a(2265);var l=a(40728),r=a(82182),i=a(91777),n=a(97434);s.Z=function(e){let{loggingConfigs:s=[],disabledCallbacks:a=[],variant:d="card",className:o=""}=e,c=e=>{var s;return(null===(s=Object.entries(n.Lo).find(s=>{let[a,t]=s;return t===e}))||void 0===s?void 0:s[0])||e},m=e=>{switch(e){case"success":return"green";case"failure":return"red";case"success_and_failure":return"blue";default:return"gray"}},u=e=>{switch(e){case"success":return"Success Only";case"failure":return"Failure Only";case"success_and_failure":return"Success & Failure";default:return e}},x=(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Logging Integrations"}),(0,t.jsx)(l.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,t.jsx)("div",{className:"space-y-3",children:s.map((e,s)=>{var a;let i=c(e.callback_name),d=null===(a=n.Dg[i])||void 0===a?void 0:a.logo;return(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-blue-50 border border-blue-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[d?(0,t.jsx)("img",{src:d,alt:i,className:"w-5 h-5 object-contain"}):(0,t.jsx)(r.Z,{className:"h-5 w-5 text-gray-400"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(l.x,{className:"font-medium text-blue-800",children:i}),(0,t.jsxs)(l.x,{className:"text-xs text-blue-600",children:[Object.keys(e.callback_vars).length," parameters configured"]})]})]}),(0,t.jsx)(l.C,{color:m(e.callback_type),size:"sm",children:u(e.callback_type)})]},s)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(r.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No logging integrations configured"})]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Z,{className:"h-4 w-4 text-red-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Disabled Callbacks"}),(0,t.jsx)(l.C,{color:"red",size:"xs",children:a.length})]}),a.length>0?(0,t.jsx)("div",{className:"space-y-3",children:a.map((e,s)=>{var a;let r=n.RD[e]||e,d=null===(a=n.Dg[r])||void 0===a?void 0:a.logo;return(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-red-50 border border-red-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[d?(0,t.jsx)("img",{src:d,alt:r,className:"w-5 h-5 object-contain"}):(0,t.jsx)(i.Z,{className:"h-5 w-5 text-gray-400"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(l.x,{className:"font-medium text-red-800",children:r}),(0,t.jsx)(l.x,{className:"text-xs text-red-600",children:"Disabled for this key"})]})]}),(0,t.jsx)(l.C,{color:"red",size:"sm",children:"Disabled"})]},s)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No callbacks disabled"})]})]})]});return"card"===d?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Logging Settings"}),(0,t.jsx)(l.x,{className:"text-xs text-gray-500",children:"Active logging integrations and disabled callbacks for this key"})]})}),x]}):(0,t.jsxs)("div",{className:"".concat(o),children:[(0,t.jsx)(l.x,{className:"font-medium text-gray-900 mb-3",children:"Logging Settings"}),x]})}},60131:function(e,s,a){a.d(s,{Z:function(){return j}});var t=a(57437),l=a(2265),r=a(92280),i=a(40728),n=a(79814),d=a(19250),o=function(e){let{vectorStores:s,accessToken:a}=e,[r,o]=(0,l.useState)([]);(0,l.useEffect)(()=>{(async()=>{if(a&&0!==s.length)try{let e=await (0,d.vectorStoreListCall)(a);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[a,s.length]);let c=e=>{let s=r.find(s=>s.vector_store_id===e);return s?"".concat(s.vector_store_name||s.vector_store_id," (").concat(s.vector_store_id,")"):e};return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(i.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,t.jsx)(i.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:s.map((e,s)=>(0,t.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:c(e)},s))}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(i.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},c=a(25327),m=a(86462),u=a(47686),x=a(99981),g=function(e){let{mcpServers:s,mcpAccessGroups:r=[],mcpToolPermissions:n={},accessToken:o}=e,[g,h]=(0,l.useState)([]),[p,j]=(0,l.useState)([]),[v,b]=(0,l.useState)(new Set),y=e=>{b(s=>{let a=new Set(s);return a.has(e)?a.delete(e):a.add(e),a})};(0,l.useEffect)(()=>{(async()=>{if(o&&s.length>0)try{let e=await (0,d.fetchMCPServers)(o);e&&Array.isArray(e)?h(e):e.data&&Array.isArray(e.data)&&h(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,s.length]),(0,l.useEffect)(()=>{(async()=>{if(o&&r.length>0)try{let e=await Promise.resolve().then(a.bind(a,19250)).then(e=>e.fetchMCPAccessGroups(o));j(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,r.length]);let _=e=>{let s=g.find(s=>s.server_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.alias," (").concat(a,")")}return e},f=e=>e,N=[...s.map(e=>({type:"server",value:e})),...r.map(e=>({type:"accessGroup",value:e}))],k=N.length;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(i.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,t.jsx)(i.C,{color:"blue",size:"xs",children:k})]}),k>0?(0,t.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:N.map((e,s)=>{let a="server"===e.type?n[e.value]:void 0,l=a&&a.length>0,r=v.has(e.value);return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{onClick:()=>l&&y(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(l?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,t.jsx)(x.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:_(e.value)})]})}):(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:f(e.value)}),(0,t.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),l&&(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-gray-600",children:a.length}),(0,t.jsx)("span",{className:"text-xs text-gray-500",children:1===a.length?"tool":"tools"}),r?(0,t.jsx)(m.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,t.jsx)(u.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),l&&r&&(0,t.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.map((e,s)=>(0,t.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},s))})})]},s)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(c.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(i.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},h=a(3497),p=function(e){let{agents:s,agentAccessGroups:a=[],accessToken:r}=e,[n,o]=(0,l.useState)([]);(0,l.useEffect)(()=>{(async()=>{if(r&&s.length>0)try{let e=await (0,d.getAgentsList)(r);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[r,s.length]);let c=e=>{let s=n.find(s=>s.agent_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.agent_name," (").concat(a,")")}return e},m=[...s.map(e=>({type:"agent",value:e})),...a.map(e=>({type:"accessGroup",value:e}))],u=m.length;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Z,{className:"h-4 w-4 text-purple-600"}),(0,t.jsx)(i.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,t.jsx)(i.C,{color:"purple",size:"xs",children:u})]}),u>0?(0,t.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:m.map((e,s)=>(0,t.jsx)("div",{className:"space-y-2",children:(0,t.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,t.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,t.jsx)(x.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:c(e.value)})]})}):(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,t.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},s))}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(h.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(i.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},j=function(e){let{objectPermission:s,variant:a="card",className:l="",accessToken:i}=e,n=(null==s?void 0:s.vector_stores)||[],d=(null==s?void 0:s.mcp_servers)||[],c=(null==s?void 0:s.mcp_access_groups)||[],m=(null==s?void 0:s.mcp_tool_permissions)||{},u=(null==s?void 0:s.agents)||[],x=(null==s?void 0:s.agent_access_groups)||[],h=(0,t.jsxs)("div",{className:"card"===a?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,t.jsx)(o,{vectorStores:n,accessToken:i}),(0,t.jsx)(g,{mcpServers:d,mcpAccessGroups:c,mcpToolPermissions:m,accessToken:i}),(0,t.jsx)(p,{agents:u,agentAccessGroups:x,accessToken:i})]});return"card"===a?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(l),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,t.jsx)(r.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),h]}):(0,t.jsxs)("div",{className:"".concat(l),children:[(0,t.jsx)(r.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),h]})}},21425:function(e,s,a){var t=a(57437);a(2265);var l=a(54507);s.Z=e=>{let{value:s,onChange:a,disabledCallbacks:r=[],onDisabledCallbacksChange:i}=e;return(0,t.jsx)(l.Z,{value:s,onChange:a,disabledCallbacks:r,onDisabledCallbacksChange:i})}},94292:function(e,s,a){a.d(s,{Z:function(){return ea}});var t=a(57437),l=a(11318),r=a(59872),i=a(33304),n=a(10900),d=a(23628),o=a(74998),c=a(84717),m=a(10032),u=a(5545),x=a(99981),g=a(30401),h=a(78867),p=a(2265),j=a(20347),v=a(97434),b=a(40728),y=a(58710),_=e=>{let{autoRotate:s=!1,rotationInterval:a,lastRotationAt:l,keyRotationAt:r,nextRotationAt:i,variant:n="card",className:o=""}=e,c=e=>{let s=new Date(e),a=s.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),t=s.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return"".concat(a," at ").concat(t)},m=(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"space-y-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(b.x,{className:"font-semibold text-gray-900",children:"Auto-Rotation"}),(0,t.jsx)(b.C,{color:s?"green":"gray",size:"xs",children:s?"Enabled":"Disabled"}),s&&a&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.x,{className:"text-gray-400",children:"•"}),(0,t.jsxs)(b.x,{className:"text-sm text-gray-600",children:["Every ",a]})]})]})}),(s||l||r||i)&&(0,t.jsxs)("div",{className:"space-y-3",children:[l&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-200 rounded-md",children:[(0,t.jsx)(y.Z,{className:"w-4 h-4 text-gray-500"}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(b.x,{className:"font-medium text-gray-700",children:"Last Rotation"}),(0,t.jsx)(b.x,{className:"text-sm text-gray-600",children:c(l)})]})]}),(r||i)&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-200 rounded-md",children:[(0,t.jsx)(y.Z,{className:"w-4 h-4 text-gray-500"}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(b.x,{className:"font-medium text-gray-700",children:"Next Scheduled Rotation"}),(0,t.jsx)(b.x,{className:"text-sm text-gray-600",children:c(i||r||"")})]})]}),s&&!l&&!r&&!i&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-100 rounded-md",children:[(0,t.jsx)(y.Z,{className:"w-4 h-4 text-gray-500"}),(0,t.jsx)(b.x,{className:"text-gray-600",children:"No rotation history available"})]})]}),!s&&!l&&!r&&!i&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-gray-50 border border-gray-100 rounded-md",children:[(0,t.jsx)(d.Z,{className:"w-4 h-4 text-gray-400"}),(0,t.jsx)(b.x,{className:"text-gray-600",children:"Auto-rotation is not enabled for this key"})]})]});return"card"===n?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(b.x,{className:"font-semibold text-gray-900",children:"Auto-Rotation"}),(0,t.jsx)(b.x,{className:"text-xs text-gray-500",children:"Automatic key rotation settings and status for this key"})]})}),m]}):(0,t.jsxs)("div",{className:"".concat(o),children:[(0,t.jsx)(b.x,{className:"font-medium text-gray-900 mb-3",children:"Auto-Rotation"}),m]})};let f=["logging"],N=e=>e&&"object"==typeof e?Object.fromEntries(Object.entries(e).filter(e=>{let[s]=e;return!f.includes(s)})):{},k=e=>e&&"object"==typeof e&&Array.isArray(e.logging)?e.logging:[],w=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return JSON.stringify(N(e),null,s)},Z=e=>{if(!e||"object"!=typeof e)return e;let{tags:s,...a}=e;return a};var S=a(27799),C=a(9114),A=a(19250),I=a(60131),L=a(16721),P=a(22116),M=a(19015),D=a(92668),T=a(29233);function E(e){let{selectedToken:s,visible:a,onClose:l,accessToken:r,premiumUser:i,setAccessToken:n,onKeyUpdate:d}=e,[o]=m.Z.useForm(),[c,u]=(0,p.useState)(null),[x,g]=(0,p.useState)(null),[h,j]=(0,p.useState)(null),[v,b]=(0,p.useState)(!1),[y,_]=(0,p.useState)(!1),[f,N]=(0,p.useState)(null);(0,p.useEffect)(()=>{a&&s&&r&&(o.setFieldsValue({key_alias:s.key_alias,max_budget:s.max_budget,tpm_limit:s.tpm_limit,rpm_limit:s.rpm_limit,duration:s.duration||""}),N(r),_(s.key_name===r))},[a,s,o,r]),(0,p.useEffect)(()=>{a||(u(null),b(!1),_(!1),N(null),o.resetFields())},[a,o]);let k=e=>{if(!e)return null;try{let s;let a=new Date;if(e.endsWith("s"))s=(0,D.I)(a,{seconds:parseInt(e)});else if(e.endsWith("h"))s=(0,D.I)(a,{hours:parseInt(e)});else if(e.endsWith("d"))s=(0,D.I)(a,{days:parseInt(e)});else throw Error("Invalid duration format");return s.toLocaleString()}catch(e){return null}};(0,p.useEffect)(()=>{(null==x?void 0:x.duration)?j(k(x.duration)):j(null)},[null==x?void 0:x.duration]);let w=async()=>{if(s&&f){b(!0);try{let e=await o.validateFields(),a=await (0,A.regenerateKeyCall)(f,s.token||s.token_id,e);u(a.key),C.Z.success("Virtual Key regenerated successfully"),console.log("Full regenerate response:",a);let t={token:a.token||a.key_id||s.token,key_name:a.key,max_budget:e.max_budget,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit,expires:e.duration?k(e.duration):s.expires,...a};console.log("Updated key data with new token:",t),y&&(N(a.key),n&&n(a.key)),d&&d(t),b(!1)}catch(e){console.error("Error regenerating key:",e),C.Z.fromBackend(e),b(!1)}}},Z=()=>{u(null),b(!1),_(!1),N(null),o.resetFields(),l()};return(0,t.jsx)(P.Z,{title:"Regenerate Virtual Key",open:a,onCancel:Z,footer:c?[(0,t.jsx)(L.zx,{onClick:Z,children:"Close"},"close")]:[(0,t.jsx)(L.zx,{onClick:Z,className:"mr-2",children:"Cancel"},"cancel"),(0,t.jsx)(L.zx,{onClick:w,disabled:v,children:v?"Regenerating...":"Regenerate"},"regenerate")],children:c?(0,t.jsxs)(L.rj,{numItems:1,className:"gap-2 w-full",children:[(0,t.jsx)(L.Dx,{children:"Regenerated Key"}),(0,t.jsx)(L.JX,{numColSpan:1,children:(0,t.jsxs)("p",{children:["Please replace your old key with the new key generated. For security reasons,"," ",(0,t.jsx)("b",{children:"you will not be able to view it again"})," through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,t.jsxs)(L.JX,{numColSpan:1,children:[(0,t.jsx)(L.xv,{className:"mt-3",children:"Key Alias:"}),(0,t.jsx)("div",{className:"bg-gray-100 p-2 rounded mb-2",children:(0,t.jsx)("pre",{className:"break-words whitespace-normal",children:(null==s?void 0:s.key_alias)||"No alias set"})}),(0,t.jsx)(L.xv,{className:"mt-3",children:"New Virtual Key:"}),(0,t.jsx)("div",{className:"bg-gray-100 p-2 rounded mb-2",children:(0,t.jsx)("pre",{className:"break-words whitespace-normal",children:c})}),(0,t.jsx)(T.CopyToClipboard,{text:c,onCopy:()=>C.Z.success("Virtual Key copied to clipboard"),children:(0,t.jsx)(L.zx,{className:"mt-3",children:"Copy Virtual Key"})})]})]}):(0,t.jsxs)(m.Z,{form:o,layout:"vertical",onValuesChange:e=>{"duration"in e&&g(s=>({...s,duration:e.duration}))},children:[(0,t.jsx)(m.Z.Item,{name:"key_alias",label:"Key Alias",children:(0,t.jsx)(L.oi,{disabled:!0})}),(0,t.jsx)(m.Z.Item,{name:"max_budget",label:"Max Budget (USD)",children:(0,t.jsx)(M.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,t.jsx)(m.Z.Item,{name:"tpm_limit",label:"TPM Limit",children:(0,t.jsx)(M.Z,{style:{width:"100%"}})}),(0,t.jsx)(m.Z.Item,{name:"rpm_limit",label:"RPM Limit",children:(0,t.jsx)(M.Z,{style:{width:"100%"}})}),(0,t.jsx)(m.Z.Item,{name:"duration",label:"Expire Key (eg: 30s, 30h, 30d)",className:"mt-8",children:(0,t.jsx)(L.oi,{placeholder:""})}),(0,t.jsxs)("div",{className:"mt-2 text-sm text-gray-500",children:["Current expiry: ",(null==s?void 0:s.expires)?new Date(s.expires).toLocaleString():"Never"]}),h&&(0,t.jsxs)("div",{className:"mt-2 text-sm text-green-600",children:["New expiry: ",h]})]})})}var R=a(85968),z=a(67479),F=a(64504),V=a(37592),K=a(4260),O=a(63709),U=a(62099),G=a(95096),B=a(65895),W=a(95920),q=a(68473),J=a(82586),$=a(30874),X=a(24199),Q=a(21425),Y=a(97415),H=a(15424);let ee=e=>e&&0!==e.length?e.includes("llm_api_routes")?"llm_api":e.includes("management_routes")?"management":e.includes("info_routes")?"read_only":"default":"default";function es(e){var s,a,l,r,i,n,d,o,c,u,g,h,j,b;let{keyData:y,onCancel:_,onSubmit:f,teams:N,accessToken:S,userID:I,userRole:L,premiumUser:P=!1}=e,[M]=m.Z.useForm(),[D,T]=(0,p.useState)([]),[E,R]=(0,p.useState)([]),[es,ea]=(0,p.useState)({}),et=null==N?void 0:N.find(e=>e.team_id===y.team_id),[el,er]=(0,p.useState)([]),[ei,en]=(0,p.useState)([]),[ed,eo]=(0,p.useState)(!1),[ec,em]=(0,p.useState)(Array.isArray(null===(s=y.metadata)||void 0===s?void 0:s.litellm_disabled_callbacks)?(0,v.PA)(y.metadata.litellm_disabled_callbacks):[]),[eu,ex]=(0,p.useState)(y.auto_rotate||!1),[eg,eh]=(0,p.useState)(y.rotation_interval||""),[ep,ej]=(0,p.useState)(!1);(0,p.useEffect)(()=>{let e=async()=>{if(I&&L&&S)try{if(null===y.team_id){let e=(await (0,A.modelAvailableCall)(S,I,L)).data.map(e=>e.id);er(e)}else if(null==et?void 0:et.team_id){let e=await (0,$.wk)(I,L,S,et.team_id);er(Array.from(new Set([...et.models,...e])))}}catch(e){console.error("Error fetching models:",e)}};(async()=>{if(S)try{let e=await (0,A.getPromptsList)(S);R(e.prompts.map(e=>e.prompt_id))}catch(e){console.error("Failed to fetch prompts:",e)}})(),e()},[I,L,S,et,y.team_id]),(0,p.useEffect)(()=>{M.setFieldValue("disabled_callbacks",ec)},[M,ec]);let ev=e=>e&&({"24h":"daily","7d":"weekly","30d":"monthly"})[e]||null,eb={...y,token:y.token||y.token_id,budget_duration:ev(y.budget_duration),metadata:w(Z(y.metadata)),guardrails:null===(a=y.metadata)||void 0===a?void 0:a.guardrails,disable_global_guardrails:(null===(l=y.metadata)||void 0===l?void 0:l.disable_global_guardrails)||!1,prompts:null===(r=y.metadata)||void 0===r?void 0:r.prompts,tags:null===(i=y.metadata)||void 0===i?void 0:i.tags,vector_stores:(null===(n=y.object_permission)||void 0===n?void 0:n.vector_stores)||[],mcp_servers_and_groups:{servers:(null===(d=y.object_permission)||void 0===d?void 0:d.mcp_servers)||[],accessGroups:(null===(o=y.object_permission)||void 0===o?void 0:o.mcp_access_groups)||[]},mcp_tool_permissions:(null===(c=y.object_permission)||void 0===c?void 0:c.mcp_tool_permissions)||{},agents_and_groups:{agents:(null===(u=y.object_permission)||void 0===u?void 0:u.agents)||[],accessGroups:(null===(g=y.object_permission)||void 0===g?void 0:g.agent_access_groups)||[]},logging_settings:k(y.metadata),disabled_callbacks:Array.isArray(null===(h=y.metadata)||void 0===h?void 0:h.litellm_disabled_callbacks)?(0,v.PA)(y.metadata.litellm_disabled_callbacks):[],auto_rotate:y.auto_rotate||!1,...y.rotation_interval&&{rotation_interval:y.rotation_interval},allowed_routes:y.allowed_routes};(0,p.useEffect)(()=>{var e,s,a,t,l,r,i,n,d;M.setFieldsValue({...y,token:y.token||y.token_id,budget_duration:ev(y.budget_duration),metadata:w(Z(y.metadata)),guardrails:null===(e=y.metadata)||void 0===e?void 0:e.guardrails,disable_global_guardrails:(null===(s=y.metadata)||void 0===s?void 0:s.disable_global_guardrails)||!1,prompts:null===(a=y.metadata)||void 0===a?void 0:a.prompts,tags:null===(t=y.metadata)||void 0===t?void 0:t.tags,vector_stores:(null===(l=y.object_permission)||void 0===l?void 0:l.vector_stores)||[],mcp_servers_and_groups:{servers:(null===(r=y.object_permission)||void 0===r?void 0:r.mcp_servers)||[],accessGroups:(null===(i=y.object_permission)||void 0===i?void 0:i.mcp_access_groups)||[]},mcp_tool_permissions:(null===(n=y.object_permission)||void 0===n?void 0:n.mcp_tool_permissions)||{},logging_settings:k(y.metadata),disabled_callbacks:Array.isArray(null===(d=y.metadata)||void 0===d?void 0:d.litellm_disabled_callbacks)?(0,v.PA)(y.metadata.litellm_disabled_callbacks):[],auto_rotate:y.auto_rotate||!1,...y.rotation_interval&&{rotation_interval:y.rotation_interval},allowed_routes:y.allowed_routes})},[y,M]),(0,p.useEffect)(()=>{M.setFieldValue("auto_rotate",eu)},[eu,M]),(0,p.useEffect)(()=>{eg&&M.setFieldValue("rotation_interval",eg)},[eg,M]),(0,p.useEffect)(()=>{(async()=>{if(S)try{let e=await (0,A.tagListCall)(S);ea(e)}catch(e){C.Z.fromBackend("Error fetching tags: "+e)}})()},[S]),console.log("premiumUser:",P);let ey=async e=>{try{ej(!0),await f(e)}finally{ej(!1)}};return(0,t.jsxs)(m.Z,{form:M,onFinish:ey,initialValues:eb,layout:"vertical",children:[(0,t.jsx)(m.Z.Item,{label:"Key Alias",name:"key_alias",children:(0,t.jsx)(F.o,{})}),(0,t.jsx)(m.Z.Item,{label:"Models",name:"models",children:(0,t.jsx)(m.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.allowed_routes!==s.allowed_routes||e.models!==s.models,children:e=>{let{getFieldValue:s,setFieldValue:a}=e,l=s("allowed_routes")||[],r=l.includes("management_routes")||l.includes("info_routes"),i=s("models")||[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(V.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},disabled:r,value:r?[]:i,onChange:e=>a("models",e),children:[el.length>0&&(0,t.jsx)(V.default.Option,{value:"all-team-models",children:"All Team Models"}),el.map(e=>(0,t.jsx)(V.default.Option,{value:e,children:e},e))]}),r&&(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Models field is disabled for this key type"})]})}})}),(0,t.jsx)(m.Z.Item,{label:"Key Type",children:(0,t.jsx)(m.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.allowed_routes!==s.allowed_routes,children:e=>{let{getFieldValue:s,setFieldValue:a}=e,l=ee(s("allowed_routes"));return(0,t.jsxs)(V.default,{placeholder:"Select key type",style:{width:"100%"},optionLabelProp:"label",value:l,onChange:e=>{switch(e){case"default":a("allowed_routes",[]);break;case"llm_api":a("allowed_routes",["llm_api_routes"]);break;case"management":a("allowed_routes",["management_routes"]),a("models",[])}},children:[(0,t.jsx)(V.default.Option,{value:"default",label:"Default",children:(0,t.jsxs)("div",{style:{padding:"4px 0"},children:[(0,t.jsx)("div",{style:{fontWeight:500},children:"Default"}),(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Can call LLM API + Management routes"})]})}),(0,t.jsx)(V.default.Option,{value:"llm_api",label:"LLM API",children:(0,t.jsxs)("div",{style:{padding:"4px 0"},children:[(0,t.jsx)("div",{style:{fontWeight:500},children:"LLM API"}),(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Can call only LLM API routes (chat/completions, embeddings, etc.)"})]})}),(0,t.jsx)(V.default.Option,{value:"management",label:"Management",children:(0,t.jsxs)("div",{style:{padding:"4px 0"},children:[(0,t.jsx)("div",{style:{fontWeight:500},children:"Management"}),(0,t.jsx)("div",{style:{fontSize:"11px",color:"#6b7280",marginTop:"2px"},children:"Can call only management routes (user/team/key management)"})]})})]})}})}),(0,t.jsx)(m.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(X.Z,{step:.01,style:{width:"100%"},placeholder:"Enter a numerical value"})}),(0,t.jsx)(m.Z.Item,{label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(V.default,{placeholder:"n/a",children:[(0,t.jsx)(V.default.Option,{value:"daily",children:"Daily"}),(0,t.jsx)(V.default.Option,{value:"weekly",children:"Weekly"}),(0,t.jsx)(V.default.Option,{value:"monthly",children:"Monthly"})]})}),(0,t.jsx)(m.Z.Item,{label:"TPM Limit",name:"tpm_limit",children:(0,t.jsx)(X.Z,{min:0})}),(0,t.jsx)(B.Z,{type:"tpm",name:"tpm_limit_type",showDetailedDescriptions:!1}),(0,t.jsx)(m.Z.Item,{label:"RPM Limit",name:"rpm_limit",children:(0,t.jsx)(X.Z,{min:0})}),(0,t.jsx)(B.Z,{type:"rpm",name:"rpm_limit_type",showDetailedDescriptions:!1}),(0,t.jsx)(m.Z.Item,{label:"Max Parallel Requests",name:"max_parallel_requests",children:(0,t.jsx)(X.Z,{min:0})}),(0,t.jsx)(m.Z.Item,{label:"Model TPM Limit",name:"model_tpm_limit",children:(0,t.jsx)(K.default.TextArea,{rows:4,placeholder:'{"gpt-4": 100, "claude-v1": 200}'})}),(0,t.jsx)(m.Z.Item,{label:"Model RPM Limit",name:"model_rpm_limit",children:(0,t.jsx)(K.default.TextArea,{rows:4,placeholder:'{"gpt-4": 100, "claude-v1": 200}'})}),(0,t.jsx)(m.Z.Item,{label:"Guardrails",name:"guardrails",children:S&&(0,t.jsx)(z.Z,{onChange:e=>{M.setFieldValue("guardrails",e)},accessToken:S,disabled:!P})}),(0,t.jsx)(m.Z.Item,{label:(0,t.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,t.jsx)(x.Z,{title:"When enabled, this key will bypass any guardrails configured to run on every request (global guardrails)",children:(0,t.jsx)(H.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",valuePropName:"checked",children:(0,t.jsx)(O.Z,{disabled:!P,checkedChildren:"Yes",unCheckedChildren:"No"})}),(0,t.jsx)(m.Z.Item,{label:"Tags",name:"tags",children:(0,t.jsx)(V.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter tags",options:Object.values(es).map(e=>({value:e.name,label:e.name,title:e.description||e.name}))})}),(0,t.jsx)(m.Z.Item,{label:"Prompts",name:"prompts",children:(0,t.jsx)(x.Z,{title:P?"":"Setting prompts by key is a premium feature",placement:"top",children:(0,t.jsx)(V.default,{mode:"tags",style:{width:"100%"},disabled:!P,placeholder:P?Array.isArray(null===(j=y.metadata)||void 0===j?void 0:j.prompts)&&y.metadata.prompts.length>0?"Current: ".concat(y.metadata.prompts.join(", ")):"Select or enter prompts":"Premium feature - Upgrade to set prompts by key",options:E.map(e=>({value:e,label:e}))})})}),(0,t.jsx)(m.Z.Item,{label:"Allowed Pass Through Routes",name:"allowed_passthrough_routes",children:(0,t.jsx)(x.Z,{title:P?"":"Setting allowed pass through routes by key is a premium feature",placement:"top",children:(0,t.jsx)(G.Z,{onChange:e=>M.setFieldValue("allowed_passthrough_routes",e),value:M.getFieldValue("allowed_passthrough_routes"),accessToken:S||"",placeholder:P?Array.isArray(null===(b=y.metadata)||void 0===b?void 0:b.allowed_passthrough_routes)&&y.metadata.allowed_passthrough_routes.length>0?"Current: ".concat(y.metadata.allowed_passthrough_routes.join(", ")):"Select or enter allowed pass through routes":"Premium feature - Upgrade to set allowed pass through routes by key",disabled:!P})})}),(0,t.jsx)(m.Z.Item,{label:"Vector Stores",name:"vector_stores",children:(0,t.jsx)(Y.Z,{onChange:e=>M.setFieldValue("vector_stores",e),value:M.getFieldValue("vector_stores"),accessToken:S||"",placeholder:"Select vector stores"})}),(0,t.jsx)(m.Z.Item,{label:"MCP Servers / Access Groups",name:"mcp_servers_and_groups",children:(0,t.jsx)(W.Z,{onChange:e=>M.setFieldValue("mcp_servers_and_groups",e),value:M.getFieldValue("mcp_servers_and_groups"),accessToken:S||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,t.jsx)(m.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,t.jsx)(K.default,{type:"hidden"})}),(0,t.jsx)(m.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.mcp_servers_and_groups!==s.mcp_servers_and_groups||e.mcp_tool_permissions!==s.mcp_tool_permissions,children:()=>{var e;return(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)(q.Z,{accessToken:S||"",selectedServers:(null===(e=M.getFieldValue("mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:M.getFieldValue("mcp_tool_permissions")||{},onChange:e=>M.setFieldsValue({mcp_tool_permissions:e})})})}}),(0,t.jsx)(m.Z.Item,{label:"Agents / Access Groups",name:"agents_and_groups",children:(0,t.jsx)(J.Z,{onChange:e=>M.setFieldValue("agents_and_groups",e),value:M.getFieldValue("agents_and_groups"),accessToken:S||"",placeholder:"Select agents or access groups (optional)"})}),(0,t.jsx)(m.Z.Item,{label:"Team ID",name:"team_id",children:(0,t.jsx)(V.default,{placeholder:"Select team",style:{width:"100%"},children:null==N?void 0:N.map(e=>(0,t.jsx)(V.default.Option,{value:e.team_id,children:"".concat(e.team_alias," (").concat(e.team_id,")")},e.team_id))})}),(0,t.jsx)(m.Z.Item,{label:"Logging Settings",name:"logging_settings",children:(0,t.jsx)(Q.Z,{value:M.getFieldValue("logging_settings"),onChange:e=>M.setFieldValue("logging_settings",e),disabledCallbacks:ec,onDisabledCallbacksChange:e=>{em((0,v.PA)(e)),M.setFieldValue("disabled_callbacks",e)}})}),(0,t.jsx)(m.Z.Item,{label:"Metadata",name:"metadata",children:(0,t.jsx)(K.default.TextArea,{rows:10})}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(U.Z,{form:M,autoRotationEnabled:eu,onAutoRotationChange:ex,rotationInterval:eg,onRotationIntervalChange:eh}),(0,t.jsx)(m.Z.Item,{name:"duration",hidden:!0,initialValue:"",children:(0,t.jsx)(K.default,{})})]}),(0,t.jsx)(m.Z.Item,{name:"token",hidden:!0,children:(0,t.jsx)(K.default,{})}),(0,t.jsx)(m.Z.Item,{name:"allowed_routes",hidden:!0,children:(0,t.jsx)(K.default,{})}),(0,t.jsx)(m.Z.Item,{name:"disabled_callbacks",hidden:!0,children:(0,t.jsx)(K.default,{})}),(0,t.jsx)(m.Z.Item,{name:"auto_rotate",hidden:!0,children:(0,t.jsx)(K.default,{})}),(0,t.jsx)(m.Z.Item,{name:"rotation_interval",hidden:!0,children:(0,t.jsx)(K.default,{})}),(0,t.jsx)("div",{className:"sticky z-10 bg-white p-4 border-t border-gray-200 bottom-[-1.5rem] inset-x-[-1.5rem]",children:(0,t.jsxs)("div",{className:"flex justify-end items-center gap-2",children:[(0,t.jsx)(F.z,{variant:"secondary",onClick:_,disabled:ep,children:"Cancel"}),(0,t.jsx)(F.z,{type:"submit",loading:ep,children:"Save Changes"})]})})]})}function ea(e){var s,a,b,y,f,N,L,P;let{keyId:M,onClose:D,keyData:T,accessToken:z,userID:F,userRole:V,teams:K,onKeyDataUpdate:O,onDelete:U,premiumUser:G,setAccessToken:B,backButtonText:W="Back to Keys"}=e,{teams:q}=(0,l.Z)(),[J,$]=(0,p.useState)(!1),[X]=m.Z.useForm(),[Q,Y]=(0,p.useState)(!1),[H,ee]=(0,p.useState)(""),[ea,et]=(0,p.useState)(!1),[el,er]=(0,p.useState)({}),[ei,en]=(0,p.useState)(T),[ed,eo]=(0,p.useState)(null),[ec,em]=(0,p.useState)(!1);if((0,p.useEffect)(()=>{T&&en(T)},[T]),(0,p.useEffect)(()=>{if(ec){let e=setTimeout(()=>{em(!1)},5e3);return()=>clearTimeout(e)}},[ec]),!ei)return(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsx)(c.zx,{icon:n.Z,variant:"light",onClick:D,className:"mb-4",children:W}),(0,t.jsx)(c.xv,{children:"Key not found"})]});let eu=async e=>{try{var s,a,t,l;if(!z)return;let r=e.token;if(e.key=r,G||(delete e.guardrails,delete e.prompts),e.max_budget=(0,i.C)(e.max_budget),void 0!==e.vector_stores&&(e.object_permission={...ei.object_permission,vector_stores:e.vector_stores||[]},delete e.vector_stores),void 0!==e.mcp_servers_and_groups){let{servers:s,accessGroups:a}=e.mcp_servers_and_groups||{servers:[],accessGroups:[]};e.object_permission={...ei.object_permission,mcp_servers:s||[],mcp_access_groups:a||[]},delete e.mcp_servers_and_groups}if(void 0!==e.mcp_tool_permissions){let s=e.mcp_tool_permissions||{};Object.keys(s).length>0&&(e.object_permission={...e.object_permission,mcp_tool_permissions:s}),delete e.mcp_tool_permissions}if(void 0!==e.agents_and_groups){let{agents:s,accessGroups:a}=e.agents_and_groups||{agents:[],accessGroups:[]};e.object_permission={...e.object_permission,agents:s||[],agent_access_groups:a||[]},delete e.agents_and_groups}if(e.max_budget=(0,i.C)(e.max_budget),e.tpm_limit=(0,i.C)(e.tpm_limit),e.rpm_limit=(0,i.C)(e.rpm_limit),e.max_parallel_requests=(0,i.C)(e.max_parallel_requests),e.metadata&&"string"==typeof e.metadata)try{let t=JSON.parse(e.metadata);"tags"in t&&delete t.tags,e.metadata={...t,...Array.isArray(e.tags)&&e.tags.length>0?{tags:e.tags}:{},...(null===(s=e.guardrails)||void 0===s?void 0:s.length)>0?{guardrails:e.guardrails}:{},...e.logging_settings?{logging:e.logging_settings}:{},...(null===(a=e.disabled_callbacks)||void 0===a?void 0:a.length)>0?{litellm_disabled_callbacks:(0,v.Z3)(e.disabled_callbacks)}:{}}}catch(e){console.error("Error parsing metadata JSON:",e),C.Z.error("Invalid metadata JSON");return}else{let{tags:s,...a}=e.metadata||{};e.metadata={...a,...Array.isArray(e.tags)&&e.tags.length>0?{tags:e.tags}:{},...(null===(t=e.guardrails)||void 0===t?void 0:t.length)>0?{guardrails:e.guardrails}:{},...e.logging_settings?{logging:e.logging_settings}:{},...(null===(l=e.disabled_callbacks)||void 0===l?void 0:l.length)>0?{litellm_disabled_callbacks:(0,v.Z3)(e.disabled_callbacks)}:{}}}"tags"in e&&delete e.tags,delete e.logging_settings,e.budget_duration&&(e.budget_duration=({daily:"24h",weekly:"7d",monthly:"30d"})[e.budget_duration]);let n=await (0,A.keyUpdateCall)(z,e);en(e=>e?{...e,...n}:void 0),O&&O(n),C.Z.success("Key updated successfully"),$(!1)}catch(e){C.Z.fromBackend((0,R.O)(e)),console.error("Error updating key:",e)}},ex=async()=>{try{if(!z)return;await (0,A.keyDeleteCall)(z,ei.token||ei.token_id),C.Z.success("Key deleted successfully"),U&&U(),D()}catch(e){console.error("Error deleting the key:",e),C.Z.fromBackend(e)}ee("")},eg=async(e,s)=>{await (0,r.vQ)(e)&&(er(e=>({...e,[s]:!0})),setTimeout(()=>{er(e=>({...e,[s]:!1}))},2e3))},eh=e=>{let s=new Date(e),a=s.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),t=s.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return"".concat(a," at ").concat(t)},ep=(0,j.P4)(V||"")||q&&(0,j._p)(null==q?void 0:q.filter(e=>e.team_id===ei.team_id)[0],F||"")||F===ei.user_id;return(0,t.jsxs)("div",{className:"w-full h-screen p-4",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.zx,{icon:n.Z,variant:"light",onClick:D,className:"mb-4",children:W}),(0,t.jsx)(c.Dx,{children:ei.key_alias||"Virtual Key"}),(0,t.jsxs)("div",{className:"flex items-center cursor-pointer mb-2 space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"text-xs text-gray-400 uppercase tracking-wide mt-2",children:"Key ID"}),(0,t.jsx)(c.xv,{className:"text-gray-500 font-mono text-sm",children:ei.token_id||ei.token})]}),(0,t.jsx)(u.ZP,{type:"text",size:"small",icon:el["key-id"]?(0,t.jsx)(g.Z,{size:12}):(0,t.jsx)(h.Z,{size:12}),onClick:()=>eg(ei.token_id||ei.token,"key-id"),className:"ml-2 transition-all duration-200".concat(el["key-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)(c.xv,{className:"text-sm text-gray-500",children:ei.updated_at&&ei.updated_at!==ei.created_at?"Updated: ".concat(eh(ei.updated_at)):"Created: ".concat(eh(ei.created_at))}),ec&&(0,t.jsx)(c.Ct,{color:"green",size:"xs",className:"animate-pulse",children:"Recently Regenerated"}),ed&&(0,t.jsx)(c.Ct,{color:"blue",size:"xs",children:"Regenerated"})]})]}),ep&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(x.Z,{title:G?"":"This is a LiteLLM Enterprise feature, and requires a valid key to use.",children:(0,t.jsx)("span",{className:"inline-block",children:(0,t.jsx)(c.zx,{icon:d.Z,variant:"secondary",onClick:()=>et(!0),className:"flex items-center",disabled:!G,children:"Regenerate Key"})})}),(0,t.jsx)(c.zx,{icon:o.Z,variant:"secondary",onClick:()=>Y(!0),className:"flex items-center text-red-500 border-red-500 hover:text-red-700",children:"Delete Key"})]})]}),(0,t.jsx)(E,{selectedToken:ei,visible:ea,onClose:()=>et(!1),accessToken:z,premiumUser:G,setAccessToken:B,onKeyUpdate:e=>{en(s=>{if(s)return{...s,...e,created_at:new Date().toLocaleString()}}),eo(new Date),em(!0),O&&O({...e,created_at:new Date().toLocaleString()})}}),Q&&(()=>{let e=(null==ei?void 0:ei.key_alias)||(null==ei?void 0:ei.token_id)||"Virtual Key",s=H===e;return(0,t.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,t.jsxs)("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-2xl min-h-[380px] py-6 overflow-hidden transform transition-all flex flex-col justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Delete Key"}),(0,t.jsx)("button",{onClick:()=>{Y(!1),ee("")},className:"text-gray-400 hover:text-gray-500 focus:outline-none",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"px-6 py-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 p-4 bg-red-50 border border-red-100 rounded-md mb-5",children:[(0,t.jsx)("div",{className:"text-red-500 mt-0.5",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.082 16.5c-.77.833.192 2.5 1.732 2.5z"})})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-base font-medium text-red-600",children:"Warning: You are about to delete this Virtual Key."}),(0,t.jsx)("p",{className:"text-base text-red-600 mt-2",children:"This action is irreversible and will immediately revoke access for any applications using this key."})]})]}),(0,t.jsx)("p",{className:"text-base text-gray-600 mb-5",children:"Are you sure you want to delete this Virtual Key?"}),(0,t.jsxs)("div",{className:"mb-5",children:[(0,t.jsxs)("label",{className:"block text-base font-medium text-gray-700 mb-2",children:["Type ",(0,t.jsx)("span",{className:"underline",children:e})," to confirm deletion:"]}),(0,t.jsx)("input",{type:"text",value:H,onChange:e=>ee(e.target.value),placeholder:"Enter key name exactly",className:"w-full px-4 py-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-base",autoFocus:!0})]})]})]}),(0,t.jsxs)("div",{className:"px-6 py-4 bg-gray-50 flex justify-end gap-4",children:[(0,t.jsx)("button",{onClick:()=>{Y(!1),ee("")},className:"px-5 py-3 bg-white border border-gray-300 rounded-md text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:"Cancel"}),(0,t.jsx)("button",{onClick:ex,disabled:!s,className:"px-5 py-3 rounded-md text-base font-medium text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 ".concat(s?"bg-red-600 hover:bg-red-700":"bg-red-300 cursor-not-allowed"),children:"Delete Key"})]})]})})})(),(0,t.jsxs)(c.v0,{children:[(0,t.jsxs)(c.td,{className:"mb-4",children:[(0,t.jsx)(c.OK,{children:"Overview"}),(0,t.jsx)(c.OK,{children:"Settings"})]}),(0,t.jsxs)(c.nP,{children:[(0,t.jsx)(c.x4,{children:(0,t.jsxs)(c.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.xv,{children:"Spend"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(c.Dx,{children:["$",(0,r.pw)(ei.spend,4)]}),(0,t.jsxs)(c.xv,{children:["of"," ",null!==ei.max_budget?"$".concat((0,r.pw)(ei.max_budget)):"Unlimited"]})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.xv,{children:"Rate Limits"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(c.xv,{children:["TPM: ",null!==ei.tpm_limit?ei.tpm_limit:"Unlimited"]}),(0,t.jsxs)(c.xv,{children:["RPM: ",null!==ei.rpm_limit?ei.rpm_limit:"Unlimited"]})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.xv,{children:"Models"}),(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:ei.models&&ei.models.length>0?ei.models.map((e,s)=>(0,t.jsx)(c.Ct,{color:"red",children:e},s)):(0,t.jsx)(c.xv,{children:"No models specified"})})]}),(0,t.jsx)(c.Zb,{children:(0,t.jsx)(I.Z,{objectPermission:ei.object_permission,variant:"inline",accessToken:z})}),(0,t.jsx)(S.Z,{loggingConfigs:k(ei.metadata),disabledCallbacks:Array.isArray(null===(s=ei.metadata)||void 0===s?void 0:s.litellm_disabled_callbacks)?(0,v.PA)(ei.metadata.litellm_disabled_callbacks):[],variant:"card"}),(0,t.jsx)(_,{autoRotate:ei.auto_rotate,rotationInterval:ei.rotation_interval,lastRotationAt:ei.last_rotation_at,keyRotationAt:ei.key_rotation_at,nextRotationAt:ei.next_rotation_at,variant:"card"})]})}),(0,t.jsx)(c.x4,{children:(0,t.jsxs)(c.Zb,{className:"overflow-y-auto max-h-[65vh]",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,t.jsx)(c.Dx,{children:"Key Settings"}),!J&&V&&j.LQ.includes(V)&&(0,t.jsx)(c.zx,{onClick:()=>$(!0),children:"Edit Settings"})]}),J?(0,t.jsx)(es,{keyData:ei,onCancel:()=>$(!1),onSubmit:eu,teams:K,accessToken:z,userID:F,userRole:V,premiumUser:G}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Key ID"}),(0,t.jsx)(c.xv,{className:"font-mono",children:ei.token_id||ei.token})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Key Alias"}),(0,t.jsx)(c.xv,{children:ei.key_alias||"Not Set"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Secret Key"}),(0,t.jsx)(c.xv,{className:"font-mono",children:ei.key_name})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Team ID"}),(0,t.jsx)(c.xv,{children:ei.team_id||"Not Set"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Organization"}),(0,t.jsx)(c.xv,{children:ei.organization_id||"Not Set"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Created"}),(0,t.jsx)(c.xv,{children:eh(ei.created_at)})]}),ed&&(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Last Regenerated"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.xv,{children:eh(ed)}),(0,t.jsx)(c.Ct,{color:"green",size:"xs",children:"Recent"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Expires"}),(0,t.jsx)(c.xv,{children:ei.expires?eh(ei.expires):"Never"})]}),(0,t.jsx)(_,{autoRotate:ei.auto_rotate,rotationInterval:ei.rotation_interval,lastRotationAt:ei.last_rotation_at,keyRotationAt:ei.key_rotation_at,nextRotationAt:ei.next_rotation_at,variant:"inline",className:"pt-4 border-t border-gray-200"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Spend"}),(0,t.jsxs)(c.xv,{children:["$",(0,r.pw)(ei.spend,4)," USD"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Budget"}),(0,t.jsx)(c.xv,{children:null!==ei.max_budget?"$".concat((0,r.pw)(ei.max_budget,2)):"Unlimited"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Tags"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:Array.isArray(null===(a=ei.metadata)||void 0===a?void 0:a.tags)&&ei.metadata.tags.length>0?ei.metadata.tags.map((e,s)=>(0,t.jsx)("span",{className:"px-2 mr-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):"No tags specified"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Prompts"}),(0,t.jsx)(c.xv,{children:Array.isArray(null===(b=ei.metadata)||void 0===b?void 0:b.prompts)&&ei.metadata.prompts.length>0?ei.metadata.prompts.map((e,s)=>(0,t.jsx)("span",{className:"px-2 mr-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):"No prompts specified"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Allowed Pass Through Routes"}),(0,t.jsx)(c.xv,{children:Array.isArray(null===(y=ei.metadata)||void 0===y?void 0:y.allowed_passthrough_routes)&&ei.metadata.allowed_passthrough_routes.length>0?ei.metadata.allowed_passthrough_routes.map((e,s)=>(0,t.jsx)("span",{className:"px-2 mr-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):"No pass through routes specified"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Disable Global Guardrails"}),(0,t.jsx)(c.xv,{children:(null===(f=ei.metadata)||void 0===f?void 0:f.disable_global_guardrails)===!0?(0,t.jsx)(c.Ct,{color:"yellow",children:"Enabled - Global guardrails bypassed"}):(0,t.jsx)(c.Ct,{color:"green",children:"Disabled - Global guardrails active"})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Models"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:ei.models&&ei.models.length>0?ei.models.map((e,s)=>(0,t.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:e},s)):(0,t.jsx)(c.xv,{children:"No models specified"})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Rate Limits"}),(0,t.jsxs)(c.xv,{children:["TPM: ",null!==ei.tpm_limit?ei.tpm_limit:"Unlimited"]}),(0,t.jsxs)(c.xv,{children:["RPM: ",null!==ei.rpm_limit?ei.rpm_limit:"Unlimited"]}),(0,t.jsxs)(c.xv,{children:["Max Parallel Requests:"," ",null!==ei.max_parallel_requests?ei.max_parallel_requests:"Unlimited"]}),(0,t.jsxs)(c.xv,{children:["Model TPM Limits:"," ",(null===(N=ei.metadata)||void 0===N?void 0:N.model_tpm_limit)?JSON.stringify(ei.metadata.model_tpm_limit):"Unlimited"]}),(0,t.jsxs)(c.xv,{children:["Model RPM Limits:"," ",(null===(L=ei.metadata)||void 0===L?void 0:L.model_rpm_limit)?JSON.stringify(ei.metadata.model_rpm_limit):"Unlimited"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.xv,{className:"font-medium",children:"Metadata"}),(0,t.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:w(Z(ei.metadata))})]}),(0,t.jsx)(I.Z,{objectPermission:ei.object_permission,variant:"inline",className:"pt-4 border-t border-gray-200",accessToken:z}),(0,t.jsx)(S.Z,{loggingConfigs:k(ei.metadata),disabledCallbacks:Array.isArray(null===(P=ei.metadata)||void 0===P?void 0:P.litellm_disabled_callbacks)?(0,v.PA)(ei.metadata.litellm_disabled_callbacks):[],variant:"inline",className:"pt-4 border-t border-gray-200"})]})]})})]})]})]})}},33304:function(e,s,a){a.d(s,{C:function(){return t}});function t(e){return""===e?null:e}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/4504-70fa5c5559b14dde.js b/litellm/proxy/_experimental/out/_next/static/chunks/4504-70fa5c5559b14dde.js new file mode 100644 index 0000000000..496829cb59 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/4504-70fa5c5559b14dde.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4504],{24504:function(e,l,t){t.d(l,{Z:function(){return eW}});var a=t(57437),s=t(78489),n=t(12514),i=t(67101),r=t(57365),o=t(59341),c=t(12485),d=t(18135),u=t(35242),m=t(29706),h=t(77991),g=t(21626),x=t(97214),f=t(28241),p=t(58834),y=t(69552),j=t(71876),v=t(84264),Z=t(49566),b=t(2265),C=t(57840),k=t(4260),_=t(37592),w=t(10032),N=t(22116),S=t(5545),E=t(9114),P=t(19250),T=t(23496),F=t(10353),A=t(61994);let{Title:I}=C.default;var z=e=>{let{accessToken:l}=e,[t,i]=(0,b.useState)(!0),[r,o]=(0,b.useState)([]);(0,b.useEffect)(()=>{c()},[l]);let c=async()=>{if(l){i(!0);try{let e=await (0,P.getEmailEventSettings)(l);o(e.settings)}catch(e){console.error("Failed to fetch email event settings:",e),E.Z.fromBackend(e)}finally{i(!1)}}},d=(e,l)=>{o(r.map(t=>t.event===e?{...t,enabled:l}:t))},u=async()=>{if(l)try{await (0,P.updateEmailEventSettings)(l,{settings:r}),E.Z.success("Email event settings updated successfully")}catch(e){console.error("Failed to update email event settings:",e),E.Z.fromBackend(e)}},m=async()=>{if(l)try{await (0,P.resetEmailEventSettings)(l),E.Z.success("Email event settings reset to defaults"),c()}catch(e){console.error("Failed to reset email event settings:",e),E.Z.fromBackend(e)}},h=e=>{if(e.includes("Virtual Key Created"))return"An email will be sent to the user when a new virtual key is created with their user ID";if(e.includes("New User Invitation"))return"An email will be sent to the email address of the user when a new user is created";{let l=e.split(/(?=[A-Z])/).join(" ").toLowerCase();return"Receive an email notification when ".concat(l)}};return(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(I,{level:4,children:"Email Notifications"}),(0,a.jsx)(v.Z,{children:"Select which events should trigger email notifications."}),(0,a.jsx)(T.Z,{}),t?(0,a.jsx)("div",{style:{textAlign:"center",padding:"20px"},children:(0,a.jsx)(F.Z,{size:"large"})}):(0,a.jsx)("div",{className:"space-y-4",children:r.map(e=>(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(A.Z,{checked:e.enabled,onChange:l=>d(e.event,l.target.checked)}),(0,a.jsxs)("div",{className:"ml-3",children:[(0,a.jsx)(v.Z,{children:e.event}),(0,a.jsx)("div",{className:"text-sm text-gray-500 block",children:h(e.event)})]})]},e.event))}),(0,a.jsxs)("div",{className:"mt-6 flex space-x-4",children:[(0,a.jsx)(s.Z,{onClick:u,disabled:t,children:"Save Changes"}),(0,a.jsx)(s.Z,{onClick:m,variant:"secondary",disabled:t,children:"Reset to Defaults"})]})]})};let{Title:O}=C.default;var L=e=>{let{accessToken:l,premiumUser:t,alerts:r}=e,o=async()=>{if(!l)return;let e={};r.filter(e=>"email"===e.name).forEach(l=>{var t;Object.entries(null!==(t=l.variables)&&void 0!==t?t:{}).forEach(l=>{let[t,a]=l,s=document.querySelector('input[name="'.concat(t,'"]'));s&&s.value&&(e[t]=null==s?void 0:s.value)})}),console.log("updatedVariables",e);try{await (0,P.setCallbacksCall)(l,{general_settings:{alerting:["email"]},environment_variables:e}),E.Z.success("Email settings updated successfully")}catch(e){E.Z.fromBackend(e)}};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mt-6 mb-6",children:(0,a.jsx)(z,{accessToken:l})}),(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(O,{level:4,children:"Email Server Settings"}),(0,a.jsxs)(v.Z,{children:[(0,a.jsxs)("a",{href:"https://docs.litellm.ai/docs/proxy/email",target:"_blank",style:{color:"blue"},children:[" ","LiteLLM Docs: email alerts"]})," ",(0,a.jsx)("br",{})]}),(0,a.jsx)("div",{className:"flex w-full",children:r.filter(e=>"email"===e.name).map((e,l)=>{var s;return(0,a.jsx)(f.Z,{children:(0,a.jsx)("ul",{children:(0,a.jsx)(i.Z,{numItems:2,children:Object.entries(null!==(s=e.variables)&&void 0!==s?s:{}).map(e=>{let[l,s]=e;return(0,a.jsxs)("li",{className:"mx-2 my-2",children:[!0!=t&&("EMAIL_LOGO_URL"===l||"EMAIL_SUPPORT_CONTACT"===l)?(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:(0,a.jsxs)(v.Z,{className:"mt-2",children:[" ✨ ",l]})}),(0,a.jsx)(Z.Z,{name:l,defaultValue:s,type:"password",disabled:!0,style:{width:"400px"}})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)(v.Z,{className:"mt-2",children:l}),(0,a.jsx)(Z.Z,{name:l,defaultValue:s,type:"password",style:{width:"400px"}})]}),(0,a.jsxs)("p",{style:{fontSize:"small",fontStyle:"italic"},children:["SMTP_HOST"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP host address, e.g. `smtp.resend.com`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PORT"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP port number, e.g. `587`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_USERNAME"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP username, e.g. `username`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PASSWORD"===l&&(0,a.jsx)("span",{style:{color:"red"},children:" Required * "}),"SMTP_SENDER_EMAIL"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the sender email address, e.g. `sender@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"TEST_EMAIL_ADDRESS"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Email Address to send `Test Email Alert` to. example: `info@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"EMAIL_LOGO_URL"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the Logo that appears in the email, pass a url to your logo"}),"EMAIL_SUPPORT_CONTACT"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the support email address that appears in the email. Default is support@berri.ai"})]})]},l)})})})},l)})}),(0,a.jsx)(s.Z,{className:"mt-2",onClick:()=>o(),children:"Save Changes"}),(0,a.jsx)(s.Z,{onClick:async()=>{if(l)try{await (0,P.serviceHealthCheck)(l,"email"),E.Z.success("Email test triggered. Check your configured email inbox/logs.")}catch(e){E.Z.fromBackend(e)}},className:"mx-2",children:"Test Email Alerts"})]})]})},D=t(2740),U=t(19015),R=t(44643),B=t(74998),q=t(41649),M=t(47323),W=e=>{let{alertingSettings:l,handleInputChange:t,handleResetField:n,handleSubmit:i,premiumUser:r}=e,[c]=w.Z.useForm();return(0,a.jsxs)(w.Z,{form:c,onFinish:()=>{console.log("INSIDE ONFINISH");let e=c.getFieldsValue(),l=Object.entries(e).every(e=>{let[l,t]=e;return"boolean"!=typeof t&&(""===t||null==t)});console.log("formData: ".concat(JSON.stringify(e),", isEmpty: ").concat(l)),l?console.log("Some form fields are empty."):i(e)},labelAlign:"left",children:[l.map((e,l)=>(0,a.jsxs)(j.Z,{children:[(0,a.jsxs)(f.Z,{align:"center",children:[(0,a.jsx)(v.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),e.premium_field?r?(0,a.jsx)(w.Z.Item,{name:e.field_name,children:(0,a.jsx)(f.Z,{children:"Integer"===e.field_type?(0,a.jsx)(U.Z,{step:1,value:e.field_value,onChange:l=>t(e.field_name,l)}):"Boolean"===e.field_type?(0,a.jsx)(o.Z,{checked:e.field_value,onChange:l=>t(e.field_name,l)}):(0,a.jsx)(k.default,{value:e.field_value,onChange:l=>t(e.field_name,l)})})}):(0,a.jsx)(f.Z,{children:(0,a.jsx)(s.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})})}):(0,a.jsx)(w.Z.Item,{name:e.field_name,className:"mb-0",valuePropName:"Boolean"===e.field_type?"checked":"value",children:(0,a.jsx)(f.Z,{children:"Integer"===e.field_type?(0,a.jsx)(U.Z,{step:1,value:e.field_value,onChange:l=>t(e.field_name,l),className:"p-0"}):"Boolean"===e.field_type?(0,a.jsx)(o.Z,{checked:e.field_value,onChange:l=>{t(e.field_name,l),c.setFieldsValue({[e.field_name]:l})}}):(0,a.jsx)(k.default,{value:e.field_value,onChange:l=>t(e.field_name,l)})})}),(0,a.jsx)(f.Z,{children:!0==e.stored_in_db?(0,a.jsx)(q.Z,{icon:R.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(q.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(q.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsx)(f.Z,{children:(0,a.jsx)(M.Z,{icon:B.Z,color:"red",onClick:()=>n(e.field_name,l),children:"Reset"})})]},l)),(0,a.jsx)("div",{children:(0,a.jsx)(S.ZP,{htmlType:"submit",children:"Update Settings"})})]})},H=e=>{let{accessToken:l,premiumUser:t}=e,[s,n]=(0,b.useState)([]);return(0,b.useEffect)(()=>{l&&(0,P.alertingSettingsCall)(l).then(e=>{n(e)})},[l]),(0,a.jsx)(W,{alertingSettings:s,handleInputChange:(e,l)=>{let t=s.map(t=>t.field_name===e?{...t,field_value:l}:t);console.log("updatedSettings: ".concat(JSON.stringify(t))),n(t)},handleResetField:(e,t)=>{if(l)try{let l=s.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:l.field_default_value}:l);n(l)}catch(e){console.log("ERROR OCCURRED!")}},handleSubmit:e=>{if(!l||(console.log("formValues: ".concat(e)),null==e||void 0==e))return;let t={};s.forEach(e=>{t[e.field_name]=e.field_value});let a={...e,...t};console.log("mergedFormValues: ".concat(JSON.stringify(a)));let{slack_alerting:n,...i}=a;console.log("slack_alerting: ".concat(n,", alertingArgs: ").concat(JSON.stringify(i)));try{(0,P.updateConfigFieldSetting)(l,"alerting_args",i),"boolean"==typeof n&&(!0==n?(0,P.updateConfigFieldSetting)(l,"alerting",["slack"]):(0,P.updateConfigFieldSetting)(l,"alerting",[])),E.Z.success("Wait 10s for proxy to update.")}catch(e){}},premiumUser:t})},J=t(91126),K=t(53410),V=t(99981),G=t(56609),Q=t(6833);let X=[{value:"success",label:"Success"},{value:"failure",label:"Failure"},{value:"success_and_failure",label:"Success & Failure"}],Y=e=>{let{callbacks:l,availableCallbacks:t={},onTest:n=()=>{},onEdit:i=()=>{},onDelete:r=()=>{},onAdd:o=()=>{}}=e,c=[{title:(0,a.jsx)("span",{className:"font-medium text-gray-700",children:"Callback Name"}),dataIndex:"name",key:"name",render:(e,l)=>{var s;let n=l.name;console.log("availableCallbacks",t);let i=(null===(s=t[n])||void 0===s?void 0:s.ui_callback_name)||n;return(0,a.jsx)("div",{className:"font-medium text-gray-800",children:i})}},{title:(0,a.jsx)("span",{className:"font-medium text-gray-700",children:"Mode"}),key:"mode",render:(e,l)=>{var t;let s=l.mode||"success",n=(null===(t=X.find(e=>e.value===s))||void 0===t?void 0:t.label)||s,i="success"===s?"bg-green-100 text-green-800":"failure"===s?"bg-red-100 text-red-800":"bg-blue-100 text-blue-800";return(0,a.jsx)("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ".concat(i),children:n})},width:240},{title:(0,a.jsx)("span",{className:"font-medium text-gray-700 text-right w-full block",children:"Actions"}),key:"actions",align:"right",render:(e,l)=>(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(V.Z,{title:"Test Callback",children:(0,a.jsx)(M.Z,{icon:J.Z,size:"sm",className:"cursor-pointer text-indigo-600 hover:text-indigo-700",onClick:()=>n(l)})}),(0,a.jsx)(V.Z,{title:"Edit Callback",children:(0,a.jsx)(M.Z,{icon:K.Z,size:"sm",className:"cursor-pointer text-indigo-600 hover:text-indigo-700",onClick:()=>i(l)})}),(0,a.jsx)(V.Z,{title:"Delete Callback",children:(0,a.jsx)(M.Z,{icon:B.Z,size:"sm",className:"cursor-pointer text-indigo-600 hover:text-red-600",onClick:()=>r(l)})})]}),width:240}];return(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"w-full mt-4",children:[(0,a.jsx)(s.Z,{onClick:o,className:"mx-auto",children:"+ Add Callback"}),(0,a.jsx)("div",{className:"flex justify-between items-center my-2",children:(0,a.jsx)(Q.Z,{level:4,children:"Active Logging Callbacks"})}),0===l.length?(0,a.jsx)("div",{className:"flex flex-col items-center justify-center p-8 bg-gray-50 border border-gray-200 rounded-lg",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("h3",{className:"text-lg font-medium text-gray-700 mb-2",children:"No callbacks configured"}),(0,a.jsx)("p",{className:"text-gray-500",children:"Add your first callback to start logging data to external services."})]})}):(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg overflow-hidden",children:(0,a.jsx)(G.Z,{columns:c,dataSource:l,rowKey:e=>e.name,pagination:!1,rowClassName:()=>"hover:bg-gray-50"})})]})})};var $=t(85968),ee=t(21609),el=t(11713),et=t(29827),ea=t(21770),es=t(90246);let en=(0,es.n)("cloudZeroSettings"),ei=async e=>{let l=(0,P.getProxyBaseUrl)(),t=await fetch(l?"".concat(l,"/cloudzero/settings"):"/cloudzero/settings",{method:"GET",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"}});if(404===t.status)return null;if(!t.ok){var a;let e=await t.json().catch(()=>({}));throw Error((null==e?void 0:null===(a=e.error)||void 0===a?void 0:a.message)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||"Failed to fetch CloudZero settings")}return await t.json()},er=e=>(0,el.a)({queryKey:en.list({}),queryFn:async()=>await ei(e),enabled:!!e&&!!(0,P.getProxyBaseUrl)(),staleTime:36e5,gcTime:36e5}),eo=async(e,l)=>{let t=(0,P.getProxyBaseUrl)(),a=await fetch(t?"".concat(t,"/cloudzero/settings"):"/cloudzero/settings",{method:"PUT",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...l.connection_id&&{connection_id:l.connection_id},...l.timezone&&{timezone:l.timezone},...l.api_key&&{api_key:l.api_key}})});if(!a.ok){var s;let e=await a.json().catch(()=>({}));throw Error((null==e?void 0:null===(s=e.error)||void 0===s?void 0:s.message)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||"Failed to update CloudZero settings")}return await a.json()},ec=e=>{let l=(0,et.NL)();return(0,ea.D)({mutationFn:async l=>{if(!e)throw Error("Access token is required");return await eo(e,l)},onSuccess:()=>{l.invalidateQueries({queryKey:en.list({})})}})},ed=async e=>{let l=(0,P.getProxyBaseUrl)(),t=await fetch(l?"".concat(l,"/cloudzero/delete"):"/cloudzero/delete",{method:"DELETE",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){var a;let e=await t.json().catch(()=>({}));throw Error((null==e?void 0:null===(a=e.error)||void 0===a?void 0:a.message)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||"Failed to delete CloudZero settings")}return await t.json()},eu=e=>{let l=(0,et.NL)();return(0,ea.D)({mutationFn:async()=>{if(!e)throw Error("Access token is required");return await ed(e)},onSuccess:()=>{l.invalidateQueries({queryKey:en.list({})})}})};var em=t(39760),eh=t(5945),eg=t(85180);let{Title:ex,Paragraph:ef}=C.default;function ep(e){let{startCreation:l}=e;return(0,a.jsx)("div",{className:"bg-white p-12 rounded-lg border border-dashed border-gray-300 text-center max-w-2xl mx-auto mt-8",children:(0,a.jsx)(eg.Z,{image:eg.Z.PRESENTED_IMAGE_SIMPLE,description:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(ex,{level:4,children:"No CloudZero Integration Found"}),(0,a.jsx)(ef,{type:"secondary",className:"max-w-md mx-auto",children:"Connect your CloudZero account to start tracking and analyzing your cloud costs directly from LiteLLM."})]}),children:(0,a.jsx)(S.ZP,{type:"primary",size:"large",onClick:l,className:"flex items-center gap-2 mx-auto mt-4",children:"Create Integration"})})})}var ey=t(42264);let ej=async(e,l)=>{var t,a;let s=(0,P.getProxyBaseUrl)(),n=await fetch(s?"".concat(s,"/cloudzero/init"):"/cloudzero/init",{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({connection_id:l.connection_id,timezone:null!==(t=l.timezone)&&void 0!==t?t:"UTC",...l.api_key&&{api_key:l.api_key}})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error((null==e?void 0:null===(a=e.error)||void 0===a?void 0:a.message)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||"Failed to create CloudZero integration")}return await n.json()},ev=e=>(0,ea.D)({mutationFn:async l=>{if(!e)throw Error("Access token is required");return await ej(e,l)}});function eZ(e){let{open:l,onOk:t,onCancel:s}=e,{accessToken:n}=(0,em.Z)(),[i]=w.Z.useForm(),r=ev(n||"");(0,b.useEffect)(()=>{l&&i.resetFields()},[l,i]);let o=async()=>{try{let e=await i.validateFields();r.mutate({connection_id:e.connection_id,timezone:e.timezone||"UTC",...e.api_key&&{api_key:e.api_key}},{onSuccess:()=>{ey.ZP.success("CloudZero integration created successfully"),i.resetFields(),t()},onError:e=>{null!=e&&e.errorFields||ey.ZP.error((null==e?void 0:e.message)||"Failed to create CloudZero integration")}})}catch(e){if(null==e?void 0:e.errorFields)return;ey.ZP.error((null==e?void 0:e.message)||"Failed to create CloudZero integration")}};return(0,a.jsx)(N.Z,{title:"Create CloudZero Integration",open:l,onOk:o,onCancel:()=>{i.resetFields(),s()},confirmLoading:r.isPending,okText:r.isPending?"Creating...":"Create",cancelText:"Cancel",okButtonProps:{disabled:r.isPending},cancelButtonProps:{disabled:r.isPending},children:(0,a.jsxs)(w.Z,{form:i,layout:"vertical",onFinish:o,children:[(0,a.jsx)(w.Z.Item,{label:"CloudZero API Key",name:"api_key",rules:[{required:!0,message:"Please enter your CloudZero API key"}],children:(0,a.jsx)(k.default.Password,{placeholder:"Enter your CloudZero API key"})}),(0,a.jsx)(w.Z.Item,{label:"Connection ID",name:"connection_id",rules:[{required:!0,message:"Please enter your CloudZero connection ID"}],children:(0,a.jsx)(k.default,{placeholder:"Enter your CloudZero connection ID"})}),(0,a.jsx)(w.Z.Item,{label:"Timezone",name:"timezone",tooltip:"Timezone for date handling (defaults to UTC if not provided)",children:(0,a.jsx)(k.default,{placeholder:"UTC"})})]})})}let eb=async function(e){var l,t;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=(0,P.getProxyBaseUrl)(),n=await fetch(s?"".concat(s,"/cloudzero/dry-run"):"/cloudzero/dry-run",{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({limit:null!==(l=a.limit)&&void 0!==l?l:10})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error((null==e?void 0:null===(t=e.error)||void 0===t?void 0:t.message)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||"Failed to perform dry run")}return await n.json()},eC=e=>(0,ea.D)({mutationFn:async function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!e)throw Error("Access token is required");return await eb(e,l)}}),ek=async function(e){var l,t;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=(0,P.getProxyBaseUrl)(),n=await fetch(s?"".concat(s,"/cloudzero/export"):"/cloudzero/export",{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({operation:null!==(l=a.operation)&&void 0!==l?l:"replace_hourly"})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error((null==e?void 0:null===(t=e.error)||void 0===t?void 0:t.message)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||"Failed to export data")}return await n.json()},e_=e=>(0,ea.D)({mutationFn:async function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!e)throw Error("Access token is required");return await ek(e,l)}});var ew=t(3810),eN=t(76188),eS=t(867),eE=t(51653),eP=t(15868),eT=t(18930),eF=t(33276),eA=t(17689),eI=t(41671);function ez(e){let{open:l,onOk:t,onCancel:s,settings:n}=e,{accessToken:i}=(0,em.Z)(),[r]=w.Z.useForm(),o=ec(i||"");(0,b.useEffect)(()=>{l&&n?r.setFieldsValue({connection_id:n.connection_id,timezone:n.timezone||"UTC",api_key:""}):l&&r.resetFields()},[l,n,r]);let c=async()=>{try{let e=await r.validateFields();o.mutate({connection_id:e.connection_id,timezone:e.timezone||"UTC",...e.api_key&&{api_key:e.api_key}},{onSuccess:()=>{ey.ZP.success("CloudZero integration updated successfully"),r.resetFields(),t()},onError:e=>{null!=e&&e.errorFields||ey.ZP.error((null==e?void 0:e.message)||"Failed to update CloudZero integration")}})}catch(e){if(null==e?void 0:e.errorFields)return;ey.ZP.error((null==e?void 0:e.message)||"Failed to update CloudZero integration")}};return(0,a.jsx)(N.Z,{title:"Edit CloudZero Integration",open:l,onOk:c,onCancel:()=>{r.resetFields(),s()},confirmLoading:o.isPending,okText:o.isPending?"Updating...":"Update",cancelText:"Cancel",okButtonProps:{disabled:o.isPending},cancelButtonProps:{disabled:o.isPending},children:(0,a.jsxs)(w.Z,{form:r,layout:"vertical",onFinish:c,children:[(0,a.jsx)(w.Z.Item,{label:"CloudZero API Key",name:"api_key",rules:[{required:!1,message:"Please enter your CloudZero API key"}],tooltip:"Leave empty to keep the existing API key",children:(0,a.jsx)(k.default.Password,{placeholder:"Leave empty to keep existing"})}),(0,a.jsx)(w.Z.Item,{label:"Connection ID",name:"connection_id",rules:[{required:!0,message:"Please enter your CloudZero connection ID"}],children:(0,a.jsx)(k.default,{placeholder:"Enter your CloudZero connection ID"})}),(0,a.jsx)(w.Z.Item,{label:"Timezone",name:"timezone",tooltip:"Timezone for date handling (defaults to UTC if not provided)",children:(0,a.jsx)(k.default,{placeholder:"UTC"})})]})})}function eO(e){let{settings:l,onSettingsUpdated:t}=e,{accessToken:s}=(0,em.Z)(),[n,i]=(0,b.useState)(!1),[r,o]=(0,b.useState)(!1),c=eC(s||""),d=e_(s||""),u=eu(s||""),m=c.data?JSON.stringify(c.data,null,2):null,h=async()=>{i(!1),t()};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"space-y-6 w-full max-w-4xl mx-auto",children:(0,a.jsxs)(eh.Z,{title:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-lg font-semibold",children:"CloudZero Configuration"}),(0,a.jsx)(ew.Z,{color:"success",className:"ml-2 capitalize",children:l.status||"Active"})]}),extra:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(S.ZP,{icon:(0,a.jsx)(eP.Z,{size:16}),onClick:()=>{i(!0)},className:"flex items-center gap-2",children:"Edit"}),(0,a.jsx)(S.ZP,{danger:!0,icon:(0,a.jsx)(eT.Z,{size:16}),onClick:()=>{o(!0)},className:"flex items-center gap-2",children:"Delete"})]}),className:"shadow-sm",children:[(0,a.jsxs)(eN.Z,{bordered:!0,column:{xxl:1,xl:1,lg:1,md:1,sm:1,xs:1},children:[(0,a.jsx)(eN.Z.Item,{label:"API Key (Redacted)",children:(0,a.jsx)("span",{className:"font-mono text-gray-600",children:l.api_key_masked})}),(0,a.jsx)(eN.Z.Item,{label:"Connection ID",children:(0,a.jsx)("span",{className:"font-mono text-gray-600",children:l.connection_id})}),(0,a.jsx)(eN.Z.Item,{label:"Timezone",children:l.timezone||(0,a.jsx)("span",{className:"text-gray-400 italic",children:"Default (UTC)"})})]}),(0,a.jsx)(T.Z,{orientation:"left",className:"text-gray-500",children:"Actions"}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-4 mb-6",children:[(0,a.jsx)(S.ZP,{onClick:()=>{s&&c.mutate({limit:10},{onSuccess:e=>{ey.ZP.success("Dry run completed successfully")},onError:e=>{ey.ZP.error((null==e?void 0:e.message)||"Failed to perform dry run")}})},loading:c.isPending,icon:(0,a.jsx)(eF.Z,{size:16}),className:"flex items-center gap-2",children:"Run Dry Run Simulation"}),(0,a.jsx)(eS.Z,{title:"Export Data to CloudZero",description:"This will push the current accumulated cost data to CloudZero. Continue?",onConfirm:()=>{s&&d.mutate({operation:"replace_hourly"},{onSuccess:()=>{ey.ZP.success("Data successfully exported to CloudZero")},onError:e=>{ey.ZP.error((null==e?void 0:e.message)||"Failed to export data")}})},okText:"Export",cancelText:"Cancel",children:(0,a.jsx)(S.ZP,{type:"primary",loading:d.isPending,icon:(0,a.jsx)(eA.Z,{size:16}),className:"flex items-center gap-2",children:"Export Data Now"})})]}),m&&(0,a.jsx)("div",{className:"mt-6 animate-in fade-in slide-in-from-top-4 duration-300",children:(0,a.jsx)(eE.Z,{message:"Dry Run Results",description:(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsxs)("p",{className:"mb-2 text-gray-600",children:["Simulation output for connection: ",l.connection_id]}),(0,a.jsx)("pre",{className:"bg-gray-50 p-4 rounded-md border border-gray-200 overflow-x-auto text-xs font-mono text-gray-800",children:m})]}),type:"info",showIcon:!0,icon:(0,a.jsx)(eI.Z,{className:"text-blue-500"})})})]})}),(0,a.jsx)(ez,{open:n,onOk:h,onCancel:()=>{i(!1)},settings:l}),(0,a.jsx)(ee.Z,{isOpen:r,title:"Delete CloudZero Integration?",message:"Are you sure you want to delete this CloudZero integration? All associated settings and configurations will be permanently removed.",resourceInformationTitle:"Integration Details",resourceInformation:[{label:"Connection ID",value:l.connection_id,code:!0},{label:"Timezone",value:l.timezone||"Default (UTC)"}],onCancel:()=>{o(!1)},onOk:()=>{s&&u.mutate(void 0,{onSuccess:()=>{ey.ZP.success("CloudZero integration deleted successfully"),o(!1),t()},onError:e=>{ey.ZP.error((null==e?void 0:e.message)||"Failed to delete CloudZero integration")}})},confirmLoading:u.isPending})]})}function eL(){let{accessToken:e}=(0,em.Z)(),{data:l,isLoading:t,error:s}=er(e),n=(0,et.NL)(),i=(0,es.n)("cloudZeroSettings"),[r,o]=(0,b.useState)(!1),c=async()=>{o(!1),await n.invalidateQueries({queryKey:i.list({})})};return t?(0,a.jsx)(eh.Z,{children:(0,a.jsx)(C.default.Text,{children:"Loading CloudZero settings..."})}):s?(0,a.jsx)(eh.Z,{children:(0,a.jsxs)(C.default.Text,{className:"text-red-600",children:["Error loading CloudZero settings: ",s.message]})}):l?(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(eO,{settings:l,onSettingsUpdated:c})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ep,{startCreation:()=>o(!0)}),(0,a.jsx)(eZ,{open:r,onOk:c,onCancel:()=>{o(!1)}})]})}let{Title:eD,Paragraph:eU}=C.default,eR=e=>{let{params:l,callbackConfigs:t,selectedCallback:s}=e;return l&&0!==l.length?(0,a.jsx)("div",{className:"space-y-4 mt-6 p-4 bg-gray-50 rounded-lg border",children:l.map(e=>{var l;let n=t.find(e=>e.id===s),i=(null==n?void 0:null===(l=n.dynamic_params)||void 0===l?void 0:l[e])||{},r=i.type||"text",o=i.ui_name||e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()),c=i.required||!1;return(0,a.jsx)(D.Z,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700",children:[o," "]}),name:e,className:"mb-4",rules:c?[{required:!0,message:"Please enter the ".concat(o.toLowerCase())}]:void 0,children:"password"===r?(0,a.jsx)(k.default.Password,{size:"large",placeholder:"Enter your ".concat(o.toLowerCase()),className:"w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"}):"number"===r?(0,a.jsx)(k.default,{type:"number",size:"large",placeholder:"Enter ".concat(o.toLowerCase()),className:"w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500",min:0,max:1,step:.1}):(0,a.jsx)(k.default,{size:"large",placeholder:"Enter your ".concat(o.toLowerCase()),className:"w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"})},e)})}):null},eB=e=>{let{callbackConfigs:l,selectedCallback:t,onCallbackChange:s,disabled:n=!1}=e;return(0,a.jsx)(D.Z,{label:"Callback",name:"callback",rules:n?void 0:[{required:!0,message:"Please select a callback"}],children:(0,a.jsx)(_.default,{placeholder:"Choose a logging callback...",size:"large",className:"w-full",showSearch:!0,disabled:n,value:t,filterOption:(e,l)=>{var t,a;return(null!==(a=null==l?void 0:null===(t=l.value)||void 0===t?void 0:t.toString())&&void 0!==a?a:"").toLowerCase().includes(e.toLowerCase())},onChange:s,children:l.map(e=>{let l=e.logo,t=l&&(l.includes("/")||l.startsWith("data:")||l.startsWith("http"))?l:"".concat("../ui/assets/logos/").concat(l);return(0,a.jsx)(r.Z,{value:e.id,children:(0,a.jsxs)("div",{className:"flex items-center space-x-3 py-1",children:[(0,a.jsx)("div",{className:"w-6 h-6 flex items-center justify-center",children:(0,a.jsx)("img",{src:t,alt:"".concat(e.displayName," logo"),className:"w-6 h-6 rounded object-contain",onError:e=>{e.currentTarget.style.display="none"}})}),(0,a.jsx)("span",{className:"font-medium text-gray-900",children:e.displayName})]})},e.id)})})})},eq=(e,l,t)=>{if(!e)return t?Object.keys(t):[];let a=l.find(l=>l.id===e);return(null==a?void 0:a.dynamic_params)?Object.keys(a.dynamic_params):t?Object.keys(t):[]},eM=(e,l)=>({environment_variables:e,litellm_settings:{success_callback:[l]}});var eW=e=>{let{accessToken:l,userRole:t,userID:r,premiumUser:C}=e,[k,_]=(0,b.useState)([]),[T,F]=(0,b.useState)([]),[A,I]=(0,b.useState)(!1),[z]=w.Z.useForm(),[O]=w.Z.useForm(),[D,U]=(0,b.useState)(null),[R,B]=(0,b.useState)(""),[q,M]=(0,b.useState)({}),[W,J]=(0,b.useState)([]),[K,V]=(0,b.useState)(!1),[G,Q]=(0,b.useState)([]),[X,el]=(0,b.useState)({}),[et,ea]=(0,b.useState)([]),[es,en]=(0,b.useState)(!1),[ei,er]=(0,b.useState)(null),[eo,ec]=(0,b.useState)(!1),[ed,eu]=(0,b.useState)(null),[em,eh]=(0,b.useState)(!1),[eg,ex]=(0,b.useState)(!1),[ef,ep]=(0,b.useState)(!1);(0,b.useEffect)(()=>{l&&(0,P.getCallbackConfigsCall)(l).then(e=>{Q(e||[])}).catch(e=>{E.Z.fromBackend("Failed to load callback configs: "+(0,$.O)(e))})},[l]),(0,b.useEffect)(()=>{if(es&&ei){let e=Object.fromEntries(Object.entries(ei.variables||{}).map(e=>{let[l,t]=e;return[l,null!=t?t:""]}));O.setFieldsValue({...e,callback:ei.name})}},[es,ei,O]);let ey=e=>{W.includes(e)?J(W.filter(l=>l!==e)):J([...W,e])},ej={llm_exceptions:"LLM Exceptions",llm_too_slow:"LLM Responses Too Slow",llm_requests_hanging:"LLM Requests Hanging",budget_alerts:"Budget Alerts (API Keys, Users)",db_exceptions:"Database Exceptions (Read/Write)",daily_reports:"Weekly/Monthly Spend Reports",outage_alerts:"Outage Alerts",region_outage_alerts:"Region Outage Alerts"};(0,b.useEffect)(()=>{l&&t&&r&&(0,P.getCallbacksCall)(l,r,t).then(e=>{_(e.callbacks),el(e.available_callbacks);let l=e.alerts;if(l&&l.length>0){let e=l[0],t=e.variables.SLACK_WEBHOOK_URL;J(e.active_alerts),B(t),M(e.alerts_to_webhook)}F(l)})},[l,t,r]);let ev=e=>W&&W.includes(e),eZ=async(e,a,s)=>{if(!l)return;s?eh(!0):ex(!0);let n=eM(e,a);try{if(await (0,P.setCallbacksCall)(l,n),E.Z.success(s?"Callback updated successfully":"Callback ".concat(a," added successfully")),s?(en(!1),O.resetFields(),er(null)):(V(!1),z.resetFields(),U(null),ea([])),r&&t){let e=await (0,P.getCallbacksCall)(l,r,t);_(e.callbacks)}}catch(e){E.Z.fromBackend(e)}finally{s?eh(!1):ex(!1)}},eb=async e=>{ei&&await eZ(e,ei.name,!0)},eC=async e=>{let l=null==e?void 0:e.callback;l&&await eZ(e,l,!1)},ek=async()=>{if(!l)return;let e={};Object.entries(ej).forEach(l=>{let[t,a]=l,s=document.querySelector('input[name="'.concat(t,'"]')),n=(null==s?void 0:s.value)||"";e[t]=n});try{await (0,P.setCallbacksCall)(l,{general_settings:{alert_to_webhook_url:e,alert_types:W}})}catch(e){E.Z.fromBackend(e)}E.Z.success("Alerts updated successfully")},e_=e=>{eu(e),ec(!0)},ew=async()=>{if(ed&&l)try{if(ep(!0),await (0,P.deleteCallback)(l,ed.name),E.Z.success("Callback ".concat(ed.name," deleted successfully")),r&&t){let e=await (0,P.getCallbacksCall)(l,r,t);_(e.callbacks)}ec(!1),eu(null)}catch(e){console.error("Failed to delete callback:",e),E.Z.fromBackend(e)}finally{ep(!1)}};return l?(0,a.jsxs)("div",{className:"w-full mx-4",children:[(0,a.jsx)(i.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(c.Z,{value:"1",children:"Logging Callbacks"}),(0,a.jsx)(c.Z,{value:"2",children:"CloudZero Cost Tracking"}),(0,a.jsx)(c.Z,{value:"2",children:"Alerting Types"}),(0,a.jsx)(c.Z,{value:"3",children:"Alerting Settings"}),(0,a.jsx)(c.Z,{value:"4",children:"Email Alerts"})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(m.Z,{children:(0,a.jsx)(Y,{callbacks:k,availableCallbacks:X,onAdd:()=>V(!0),onEdit:e=>{er(e),en(!0)},onDelete:e=>e_(e),onTest:async e=>{try{await (0,P.serviceHealthCheck)(l,e.name),E.Z.success("Health check triggered")}catch(e){E.Z.fromBackend((0,$.O)(e))}}})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)("div",{className:"p-8",children:(0,a.jsx)(eL,{})})}),(0,a.jsx)(m.Z,{children:(0,a.jsxs)(n.Z,{children:[(0,a.jsxs)(v.Z,{className:"my-2",children:["Alerts are only supported for Slack Webhook URLs. Get your webhook urls from"," ",(0,a.jsx)("a",{href:"https://api.slack.com/messaging/webhooks",target:"_blank",style:{color:"blue"},children:"here"})]}),(0,a.jsxs)(g.Z,{children:[(0,a.jsx)(p.Z,{children:(0,a.jsxs)(j.Z,{children:[(0,a.jsx)(y.Z,{}),(0,a.jsx)(y.Z,{}),(0,a.jsx)(y.Z,{children:"Slack Webhook URL"})]})}),(0,a.jsx)(x.Z,{children:Object.entries(ej).map((e,l)=>{let[t,n]=e;return(0,a.jsxs)(j.Z,{children:[(0,a.jsx)(f.Z,{children:"region_outage_alerts"==t?C?(0,a.jsx)(o.Z,{id:"switch",name:"switch",checked:ev(t),onChange:()=>ey(t)}):(0,a.jsx)(s.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})}):(0,a.jsx)(o.Z,{id:"switch",name:"switch",checked:ev(t),onChange:()=>ey(t)})}),(0,a.jsx)(f.Z,{children:(0,a.jsx)(v.Z,{children:n})}),(0,a.jsx)(f.Z,{children:(0,a.jsx)(Z.Z,{name:t,type:"password",defaultValue:q&&q[t]?q[t]:R})})]},l)})})]}),(0,a.jsx)(s.Z,{size:"xs",className:"mt-2",onClick:ek,children:"Save Changes"}),(0,a.jsx)(s.Z,{onClick:async()=>{try{await (0,P.serviceHealthCheck)(l,"slack"),E.Z.success("Alert test triggered. Test request to slack made - check logs/alerts on slack to verify")}catch(e){E.Z.fromBackend((0,$.O)(e))}},className:"mx-2",children:"Test Alerts"})]})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(H,{accessToken:l,premiumUser:C})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(L,{accessToken:l,premiumUser:C,alerts:T})})]})]})}),(0,a.jsxs)(N.Z,{title:"Add Logging Callback",open:K,width:800,onCancel:()=>{V(!1),U(null),ea([])},footer:null,children:[(0,a.jsxs)("a",{href:"https://docs.litellm.ai/docs/proxy/logging",className:"mb-8 mt-4",target:"_blank",style:{color:"blue"},children:[" ","LiteLLM Docs: Logging"]}),(0,a.jsxs)(w.Z,{form:z,onFinish:eC,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(eB,{callbackConfigs:G,selectedCallback:D,onCallbackChange:e=>{U(e),ea(eq(e,G))}}),(0,a.jsx)(eR,{params:et,callbackConfigs:G,selectedCallback:D}),(0,a.jsxs)("div",{className:"flex justify-end space-x-3 pt-6 mt-6 border-t border-gray-200",children:[(0,a.jsx)(S.ZP,{onClick:()=>{V(!1),U(null),ea([]),z.resetFields()},disabled:eg,children:"Cancel"}),(0,a.jsx)(S.ZP,{htmlType:"submit",loading:eg,disabled:eg,children:eg?"Adding...":"Add Callback"})]})]})]}),(0,a.jsx)(N.Z,{open:es,width:800,title:"Edit Callback Settings",onCancel:()=>{en(!1),er(null),O.resetFields()},footer:null,children:(0,a.jsxs)(w.Z,{form:O,onFinish:eb,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[ei&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eB,{callbackConfigs:G,selectedCallback:ei.name,onCallbackChange:()=>{},disabled:!0}),(0,a.jsx)(eR,{params:eq(ei.name,G,ei.variables),callbackConfigs:G,selectedCallback:ei.name})]}),(0,a.jsxs)("div",{className:"flex justify-end space-x-3 pt-6 mt-6 border-t border-gray-200",children:[(0,a.jsx)(S.ZP,{onClick:()=>{en(!1),er(null),O.resetFields()},disabled:em,children:"Cancel"}),(0,a.jsx)(S.ZP,{onClick:()=>{O.submit()},loading:em,disabled:em,children:em?"Saving...":"Save Changes"})]})]})}),(0,a.jsx)(ee.Z,{isOpen:eo,title:"Delete Callback",message:"Are you sure you want to delete this callback? This action cannot be undone.",resourceInformationTitle:"Callback Information",resourceInformation:[{label:"Callback Name",value:null==ed?void 0:ed.name},{label:"Mode",value:(null==ed?void 0:ed.mode)||"success"}],onCancel:()=>{ec(!1),eu(null)},onOk:ew,confirmLoading:ef})]}):null}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/4623-3d995c58e378474f.js b/litellm/proxy/_experimental/out/_next/static/chunks/4623-3d995c58e378474f.js deleted file mode 100644 index c350f3e10e..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/4623-3d995c58e378474f.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4623],{34310:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z"}}]},name:"file-exclamation",theme:"outlined"},o=r(55015),a=i.forwardRef(function(e,t){return i.createElement(o.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},38434:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},o=r(55015),a=i.forwardRef(function(e,t){return i.createElement(o.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},o=r(55015),a=i.forwardRef(function(e,t){return i.createElement(o.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},o=r(55015),a=i.forwardRef(function(e,t){return i.createElement(o.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},79205:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=r(2265);let i=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),s=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),o=e=>{let t=s(e);return t.charAt(0).toUpperCase()+t.slice(1)},a=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},u=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:i=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:l="",children:h,iconNode:f,...d}=e;return(0,n.createElement)("svg",{ref:t,...c,width:i,height:i,stroke:r,strokeWidth:o?24*Number(s)/Number(i):s,className:a("lucide",l),...!h&&!u(d)&&{"aria-hidden":"true"},...d},[...f.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(h)?h:[h]])}),h=(e,t)=>{let r=(0,n.forwardRef)((r,s)=>{let{className:u,...c}=r;return(0,n.createElement)(l,{ref:s,iconNode:t,className:a("lucide-".concat(i(o(e))),"lucide-".concat(e),u),...c})});return r.displayName=o(e),r}},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},15452:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,s={},o=0,a={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=v(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new d(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview,i)r.postMessage({results:s,workerId:a.WORKER_ID,finished:n});else if(k(this._config.chunk)&&!t){if(this._config.chunk(s,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=s=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(s.data),this._completeResults.errors=this._completeResults.errors.concat(s.errors),this._completeResults.meta=s.meta),this._completed||!n||!k(this._config.complete)||s&&s.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||s&&s.meta.paused||this._nextChunk(),s}this._halted=!0},this._sendError=function(e){k(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function c(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),u.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function h(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function f(e){u.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=b(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=b(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=b(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=b(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function d(e){var t,r,n,i,s=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,o=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,c=0,l=0,h=!1,f=!1,d=[],m={data:[],errors:[],meta:{}};function _(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function y(){if(m&&n&&(w("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(m.data=m.data.filter(function(e){return!_(e)})),b()){if(m){if(Array.isArray(m.data[0])){for(var t,r=0;b()&&r=d.length?"__parsed_extra":d[i]:a,c=u=e.transform?e.transform(u,a):u,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===c||"TRUE"===c||"false"!==c&&"FALSE"!==c&&((e=>{if(s.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(c)?parseFloat(c):o.test(c)?new Date(c):""===c?null:c):c);"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(u)):n[a]=u}return e.header&&(i>d.length?w("FieldMismatch","TooManyFields","Too many fields: expected "+d.length+" fields but parsed "+i,l+r):ie.preview?r.abort():(m.data=m.data[0],i(m,u))))}),this.parse=function(i,s,o){var u=e.quoteChar||'"',u=(e.newline||(e.newline=this.guessLineEndings(i,u)),n=!1,e.delimiter?k(e.delimiter)&&(e.delimiter=e.delimiter(i),m.meta.delimiter=e.delimiter):((u=((t,r,n,i,s)=>{var o,u,c,l;s=s||[","," ","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var h=0;h=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function g(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,s=e.preview,o=e.fastMode,u=null,c=!1,l=null==e.quoteChar?'"':e.quoteChar,h=l;if(void 0!==e.escapeChar&&(h=e.escapeChar),("string"!=typeof t||-1=s)return F(!0);break}O.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:E.length,index:f}),T++}}else if(n&&0===C.length&&a.substring(f,f+b)===n){if(-1===L)return F();f=L+v,L=a.indexOf(r,f),j=a.indexOf(t,f)}else if(-1!==j&&(j=s)return F(!0)}return M();function D(e){E.push(e),R=f}function z(e){return -1!==e&&(e=a.substring(T+1,e))&&""===e.trim()?e.length:0}function M(e){return m||(void 0===e&&(e=a.substring(f)),C.push(e),f=_,D(C),w&&Z()),F()}function P(e){f=e,D(C),C=[],L=a.indexOf(r,f)}function F(n){if(e.header&&!g&&E.length&&!c){var i=E[0],s=Object.create(null),o=new Set(i);let t=!1;for(let r=0;r{if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(c=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(o=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");l=t.columns}void 0!==t.escapeChar&&(u=t.escapeChar+o),t.escapeFormulae instanceof RegExp?h=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(h=/^[=+\-@\t\r].*$/)}})(),RegExp(p(o),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return d(null,e,c);if("object"==typeof e[0])return d(l||Object.keys(e[0]),e,c)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||l),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),d(e.fields||[],e.data||[],c);throw Error("Unable to serialize unrecognized input");function d(e,t,r){var o="",a=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,o),n=i.default.Children.only(t);return i.default.cloneElement(n,c(c({},r),{},{onClick:this.onClick}))}}],function(e,t){for(var r=0;r{var e,t,a,o,c,d;let u=(0,r.useRouter)(),m="undefined"!=typeof document?(0,n.e)("token"):null;(0,s.useEffect)(()=>{m||u.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login"))},[m,u]);let g=(0,s.useMemo)(()=>{if(!m)return null;try{return(0,l.o)(m)}catch(e){return(0,n.b)(),u.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login")),null}},[m,u]);return{token:m,accessToken:null!==(e=null==g?void 0:g.key)&&void 0!==e?e:null,userId:null!==(t=null==g?void 0:g.user_id)&&void 0!==t?t:null,userEmail:null!==(a=null==g?void 0:g.user_email)&&void 0!==a?a:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(o=null==g?void 0:g.user_role)&&void 0!==o?o:null),premiumUser:null!==(c=null==g?void 0:g.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==g?void 0:g.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==g?void 0:g.login_method)==="username_password"}}},82586:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select agents",disabled:d=!1}=e,[u,m]=(0,r.useState)([]),[g,p]=(0,r.useState)([]),[x,h]=(0,r.useState)(!1);(0,r.useEffect)(()=>{(async()=>{if(o){h(!0);try{let e=await (0,n.getAgentsList)(o),t=(null==e?void 0:e.agents)||[];m(t);let a=new Set;t.forEach(e=>{let t=e.agent_access_groups;t&&Array.isArray(t)&&t.forEach(e=>a.add(e))}),p(Array.from(a))}catch(e){console.error("Error fetching agents:",e)}finally{h(!1)}}})()},[o]);let f=[...g.map(e=>({label:e,value:"group:".concat(e),isAccessGroup:!0,searchText:"".concat(e," Access Group")})),...u.map(e=>({label:"".concat(e.agent_name||e.agent_id),value:e.agent_id,isAccessGroup:!1,searchText:"".concat(e.agent_name||e.agent_id," ").concat(e.agent_id," Agent")}))],v=[...(null==a?void 0:a.agents)||[],...((null==a?void 0:a.accessGroups)||[]).map(e=>"group:".concat(e))];return(0,s.jsx)("div",{children:(0,s.jsx)(l.default,{mode:"multiple",placeholder:c,onChange:e=>{t({agents:e.filter(e=>!e.startsWith("group:")),accessGroups:e.filter(e=>e.startsWith("group:")).map(e=>e.replace("group:",""))})},value:v,loading:x,className:i,showSearch:!0,style:{width:"100%"},disabled:d,filterOption:(e,t)=>{var a;return((null===(a=f.find(e=>e.value===(null==t?void 0:t.value)))||void 0===a?void 0:a.searchText)||"").toLowerCase().includes(e.toLowerCase())},children:f.map(e=>(0,s.jsx)(l.default.Option,{value:e.value,label:e.label,children:(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,s.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:e.isAccessGroup?"#52c41a":"#722ed1",flexShrink:0}}),(0,s.jsx)("span",{style:{flex:1},children:e.label}),(0,s.jsx)("span",{style:{color:e.isAccessGroup?"#52c41a":"#722ed1",fontSize:"12px",fontWeight:500,opacity:.8},children:e.isAccessGroup?"Access Group":"Agent"})]})},e.value))})})}},97434:function(e,t,a){a.d(t,{Dg:function(){return l},Lo:function(){return n},PA:function(){return c},RD:function(){return i},Z3:function(){return o}});let s="../ui/assets/logos/",r=[{id:"arize",displayName:"Arize",logo:"".concat(s,"arize.png"),supports_key_team_logging:!0,dynamic_params:{arize_api_key:"password",arize_space_id:"password"},description:"Arize Logging Integration"},{id:"braintrust",displayName:"Braintrust",logo:"".concat(s,"braintrust.png"),supports_key_team_logging:!1,dynamic_params:{braintrust_api_key:"password",braintrust_project_name:"text"},description:"Braintrust Logging Integration"},{id:"custom_callback_api",displayName:"Custom Callback API",logo:"".concat(s,"custom.svg"),supports_key_team_logging:!0,dynamic_params:{custom_callback_api_url:"text",custom_callback_api_headers:"text"},description:"Custom Callback API Logging Integration"},{id:"datadog",displayName:"Datadog",logo:"".concat(s,"datadog.png"),supports_key_team_logging:!1,dynamic_params:{dd_api_key:"password",dd_site:"text"},description:"Datadog Logging Integration"},{id:"lago",displayName:"Lago",logo:"".concat(s,"lago.svg"),supports_key_team_logging:!1,dynamic_params:{lago_api_url:"text",lago_api_key:"password"},description:"Lago Billing Logging Integration"},{id:"langfuse",displayName:"Langfuse",logo:"".concat(s,"langfuse.png"),supports_key_team_logging:!0,dynamic_params:{langfuse_public_key:"text",langfuse_secret_key:"password",langfuse_host:"text"},description:"Langfuse v2 Logging Integration"},{id:"langfuse_otel",displayName:"Langfuse OTEL",logo:"".concat(s,"langfuse.png"),supports_key_team_logging:!0,dynamic_params:{langfuse_public_key:"text",langfuse_secret_key:"password",langfuse_host:"text"},description:"Langfuse v3 OTEL Logging Integration"},{id:"langsmith",displayName:"LangSmith",logo:"".concat(s,"langsmith.png"),supports_key_team_logging:!0,dynamic_params:{langsmith_api_key:"password",langsmith_project:"text",langsmith_base_url:"text",langsmith_sampling_rate:"number"},description:"Langsmith Logging Integration"},{id:"openmeter",displayName:"OpenMeter",logo:"".concat(s,"openmeter.png"),supports_key_team_logging:!1,dynamic_params:{openmeter_api_key:"password",openmeter_base_url:"text"},description:"OpenMeter Logging Integration"},{id:"otel",displayName:"Open Telemetry",logo:"".concat(s,"otel.png"),supports_key_team_logging:!1,dynamic_params:{otel_endpoint:"text",otel_headers:"text"},description:"OpenTelemetry Logging Integration"},{id:"s3",displayName:"S3",logo:"".concat(s,"aws.svg"),supports_key_team_logging:!1,dynamic_params:{s3_bucket_name:"text",aws_access_key_id:"password",aws_secret_access_key:"password",aws_region:"text"},description:"S3 Bucket (AWS) Logging Integration"},{id:"SQS",displayName:"SQS",logo:"".concat(s,"aws.svg"),supports_key_team_logging:!1,dynamic_params:{sqs_queue_url:"text",aws_access_key_id:"password",aws_secret_access_key:"password",aws_region:"text"},description:"SQS Queue (AWS) Logging Integration"}],l=r.reduce((e,t)=>(e[t.displayName]=t,e),{}),n=r.reduce((e,t)=>(e[t.displayName]=t.id,e),{}),i=r.reduce((e,t)=>(e[t.id]=t.displayName,e),{}),o=e=>e.map(e=>n[e]||e),c=e=>e.map(e=>i[e]||e)},95096:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select pass through routes",disabled:d=!1,teamId:u}=e,[m,g]=(0,r.useState)([]),[p,x]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{(async()=>{if(o){x(!0);try{let e=await (0,n.getPassThroughEndpointsCall)(o,u);if(e.endpoints){let t=e.endpoints.map(e=>e.path);g(t)}}catch(e){console.error("Error fetching pass through routes:",e)}finally{x(!1)}}})()},[o,u]),(0,s.jsx)(l.default,{mode:"tags",placeholder:c,onChange:t,value:a,loading:p,className:i,options:m.map(e=>({label:e,value:e})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:d})}},46468:function(e,t,a){a.d(t,{K2:function(){return r},Ob:function(){return n},W0:function(){return l}});var s=a(19250);let r=async(e,t,a)=>{try{if(null===e||null===t)return;if(null!==a){let r=(await (0,s.modelAvailableCall)(a,e,t,!0,null,!0)).data.map(e=>e.id),l=[],n=[];return r.forEach(e=>{e.endsWith("/*")?l.push(e):n.push(e)}),[...l,...n]}}catch(e){console.error("Error fetching user models:",e)}},l=e=>{if("all-proxy-models"===e)return"All Proxy Models";if(e.endsWith("/*")){let t=e.replace("/*","");return"All ".concat(t," models")}return e},n=(e,t)=>{let a=[],s=[];return console.log("teamModels",e),console.log("allModels",t),e.forEach(e=>{if(e.endsWith("/*")){let r=e.replace("/*",""),l=t.filter(e=>e.startsWith(r+"/"));s.push(...l),a.push(e)}else s.push(e)}),[...a,...s].filter((e,t,a)=>a.indexOf(e)===t)}},95920:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select MCP servers",disabled:d=!1}=e,[u,m]=(0,r.useState)([]),[g,p]=(0,r.useState)([]),[x,h]=(0,r.useState)(!1);(0,r.useEffect)(()=>{(async()=>{if(o){h(!0);try{let[e,t]=await Promise.all([(0,n.fetchMCPServers)(o),(0,n.fetchMCPAccessGroups)(o)]),a=Array.isArray(e)?e:e.data||[],s=Array.isArray(t)?t:t.data||[];m(a),p(s)}catch(e){console.error("Error fetching MCP servers or access groups:",e)}finally{h(!1)}}})()},[o]);let f=[...g.map(e=>({label:e,value:e,isAccessGroup:!0,searchText:"".concat(e," Access Group")})),...u.map(e=>({label:"".concat(e.server_name||e.server_id," (").concat(e.server_id,")"),value:e.server_id,isAccessGroup:!1,searchText:"".concat(e.server_name||e.server_id," ").concat(e.server_id," MCP Server")}))],v=[...(null==a?void 0:a.servers)||[],...(null==a?void 0:a.accessGroups)||[]];return(0,s.jsx)("div",{children:(0,s.jsx)(l.default,{mode:"multiple",placeholder:c,onChange:e=>{t({servers:e.filter(e=>!g.includes(e)),accessGroups:e.filter(e=>g.includes(e))})},value:v,loading:x,className:i,showSearch:!0,style:{width:"100%"},disabled:d,filterOption:(e,t)=>{var a;return((null===(a=f.find(e=>e.value===(null==t?void 0:t.value)))||void 0===a?void 0:a.searchText)||"").toLowerCase().includes(e.toLowerCase())},children:f.map(e=>(0,s.jsx)(l.default.Option,{value:e.value,label:e.label,children:(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,s.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:e.isAccessGroup?"#52c41a":"#1890ff",flexShrink:0}}),(0,s.jsx)("span",{style:{flex:1},children:e.label}),(0,s.jsx)("span",{style:{color:e.isAccessGroup?"#52c41a":"#1890ff",fontSize:"12px",fontWeight:500,opacity:.8},children:e.isAccessGroup?"Access Group":"MCP Server"})]})},e.value))})})}},68473:function(e,t,a){var s=a(57437),r=a(2265),l=a(19250),n=a(92280),i=a(10353),o=a(61994),c=a(32489);t.Z=e=>{let{accessToken:t,selectedServers:a,toolPermissions:d,onChange:u,disabled:m=!1}=e,[g,p]=(0,r.useState)([]),[x,h]=(0,r.useState)({}),[f,v]=(0,r.useState)({}),[_,y]=(0,r.useState)({});(0,r.useEffect)(()=>{(async()=>{if(0===a.length){p([]);return}try{let e=await (0,l.fetchMCPServers)(t),s=(Array.isArray(e)?e:e.data||[]).filter(e=>a.includes(e.server_id));p(s)}catch(e){console.error("Error fetching MCP servers:",e),p([])}})()},[a,t]);let b=async e=>{v(t=>({...t,[e]:!0})),y(t=>({...t,[e]:""}));try{let a=await (0,l.listMCPTools)(t,e);a.error?(y(t=>({...t,[e]:a.message||"Failed to fetch tools"})),h(t=>({...t,[e]:[]}))):h(t=>({...t,[e]:a.tools||[]}))}catch(t){console.error("Error fetching tools for server ".concat(e,":"),t),y(t=>({...t,[e]:"Failed to fetch tools"})),h(t=>({...t,[e]:[]}))}finally{v(t=>({...t,[e]:!1}))}};(0,r.useEffect)(()=>{g.forEach(e=>{x[e.server_id]||f[e.server_id]||b(e.server_id)})},[g]);let j=(e,t)=>{let a=d[e]||[],s=a.includes(t)?a.filter(e=>e!==t):[...a,t];u({...d,[e]:s})},N=e=>{let t=x[e]||[];u({...d,[e]:t.map(e=>e.name)})},w=e=>{u({...d,[e]:[]})};return 0===a.length?null:(0,s.jsx)("div",{className:"space-y-4",children:g.map(e=>{let t=e.server_name||e.alias||e.server_id,a=x[e.server_id]||[],r=d[e.server_id]||[],l=f[e.server_id],u=_[e.server_id];return(0,s.jsxs)("div",{className:"border rounded-lg bg-gray-50",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-4 border-b bg-white rounded-t-lg",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.x,{className:"font-semibold text-gray-900",children:t}),e.description&&(0,s.jsx)(n.x,{className:"text-sm text-gray-500",children:e.description})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("button",{className:"text-sm text-blue-600 hover:text-blue-700 font-medium",onClick:()=>N(e.server_id),disabled:m||l,children:"Select All"}),(0,s.jsx)("button",{className:"text-sm text-blue-600 hover:text-blue-700 font-medium",onClick:()=>w(e.server_id),disabled:m||l,children:"Deselect All"}),(0,s.jsx)("button",{className:"text-gray-400 hover:text-gray-600",onClick:()=>{},children:(0,s.jsx)(c.Z,{className:"w-4 h-4"})})]})]}),(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)(n.x,{className:"text-sm font-medium text-gray-700 mb-3",children:"Available Tools"}),l&&(0,s.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,s.jsx)(i.Z,{size:"large"}),(0,s.jsx)(n.x,{className:"ml-3 text-gray-500",children:"Loading tools..."})]}),u&&!l&&(0,s.jsxs)("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg text-center",children:[(0,s.jsx)(n.x,{className:"text-red-600 font-medium",children:"Unable to load tools"}),(0,s.jsx)(n.x,{className:"text-sm text-red-500 mt-1",children:u})]}),!l&&!u&&a.length>0&&(0,s.jsx)("div",{className:"space-y-2",children:a.map(t=>{let a=r.includes(t.name);return(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(o.Z,{checked:a,onChange:()=>j(e.server_id,t.name),disabled:m}),(0,s.jsx)("div",{className:"flex-1 min-w-0",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.x,{className:"font-medium text-gray-900",children:t.name}),(0,s.jsxs)(n.x,{className:"text-sm text-gray-500",children:["- ",t.description||"No description"]})]})})]},t.name)})}),!l&&!u&&0===a.length&&(0,s.jsx)("div",{className:"text-center py-6",children:(0,s.jsx)(n.x,{className:"text-gray-500",children:"No tools available"})})]})]},e.server_id)})})}},10703:function(e,t,a){a.d(t,{p:function(){return r}});var s=a(19250);let r=async e=>{try{let t=await (0,s.modelHubCall)(e);if(console.log("model_info:",t),(null==t?void 0:t.data.length)>0){let e=t.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,t)=>e.model_group.localeCompare(t.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},24199:function(e,t,a){a.d(t,{Z:function(){return l}});var s=a(57437);a(2265);var r=a(30150),l=e=>{let{step:t=.01,style:a={width:"100%"},placeholder:l="Enter a numerical value",min:n,max:i,onChange:o,...c}=e;return(0,s.jsx)(r.Z,{onWheel:e=>e.currentTarget.blur(),step:t,style:a,placeholder:l,min:n,max:i,onChange:o,...c})}},54507:function(e,t,a){a.d(t,{Z:function(){return v}});var s=a(57437);a(2265);var r=a(37592),l=a(99981),n=a(23496),i=a(15424),o=a(78489),c=a(12514),d=a(49566),u=a(91777),m=a(82182),g=a(22452),p=a(74998),x=a(97434),h=a(24199);let{Option:f}=r.default;var v=e=>{let{value:t=[],onChange:a,disabledCallbacks:v=[],onDisabledCallbacksChange:_}=e,y=Object.entries(x.Dg).filter(e=>{let[t,a]=e;return a.supports_key_team_logging}).map(e=>{let[t,a]=e;return t}),b=Object.keys(x.Dg),j=e=>{null==a||a(e)},N=e=>{j(t.filter((t,a)=>a!==e))},w=(e,a,s)=>{let r=[...t];if("callback_name"===a){let t=x.Lo[s]||s;r[e]={...r[e],[a]:t,callback_vars:{}}}else r[e]={...r[e],[a]:s};j(r)},k=(e,a,s)=>{let r=[...t];r[e]={...r[e],callback_vars:{...r[e].callback_vars,[a]:s}},j(r)},C=(e,t)=>{var a,r;if(!e.callback_name)return null;let n=null===(a=Object.entries(x.Lo).find(t=>{let[a,s]=t;return s===e.callback_name}))||void 0===a?void 0:a[0];if(!n)return null;let o=(null===(r=x.Dg[n])||void 0===r?void 0:r.dynamic_params)||{};return 0===Object.keys(o).length?null:(0,s.jsxs)("div",{className:"mt-6 pt-4 border-t border-gray-100",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2 mb-4",children:[(0,s.jsx)("div",{className:"w-3 h-3 bg-blue-100 rounded-full flex items-center justify-center",children:(0,s.jsx)("div",{className:"w-1.5 h-1.5 bg-blue-500 rounded-full"})}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Integration Parameters"})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:Object.entries(o).map(a=>{let[r,n]=a;return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("label",{className:"text-sm font-medium text-gray-700 capitalize flex items-center space-x-1",children:[(0,s.jsx)("span",{children:r.replace(/_/g," ")}),(0,s.jsx)(l.Z,{title:"Environment variable reference recommended: os.environ/".concat(r.toUpperCase()),children:(0,s.jsx)(i.Z,{className:"text-gray-400 cursor-help text-xs"})}),"password"===n&&(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-yellow-100 text-yellow-800",children:"Sensitive"}),"number"===n&&(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-yellow-100 text-yellow-800",children:"Number"})]}),"number"===n&&(0,s.jsx)("span",{className:"text-xs text-gray-500",children:"Value must be between 0 and 1"}),"number"===n?(0,s.jsx)(h.Z,{step:.01,width:400,placeholder:"os.environ/".concat(r.toUpperCase()),value:e.callback_vars[r]||"",onChange:e=>k(t,r,e.target.value)}):(0,s.jsx)(d.Z,{type:"password"===n?"password":"text",placeholder:"os.environ/".concat(r.toUpperCase()),value:e.callback_vars[r]||"",onChange:e=>k(t,r,e.target.value)})]},r)})})]})};return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(u.Z,{className:"w-5 h-5 text-red-500"}),(0,s.jsx)("span",{className:"text-base font-semibold text-gray-800",children:"Disabled Callbacks"}),(0,s.jsx)(l.Z,{title:"Select callbacks to disable for this key. Disabled callbacks will not receive any logging data.",children:(0,s.jsx)(i.Z,{className:"text-gray-400 cursor-help"})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Disabled Callbacks"}),(0,s.jsx)(r.default,{mode:"multiple",placeholder:"Select callbacks to disable",value:v,onChange:e=>{let t=(0,x.Z3)(e);null==_||_(t)},style:{width:"100%"},optionLabelProp:"label",children:b.map(e=>{var t,a;let r=null===(t=x.Dg[e])||void 0===t?void 0:t.logo,n=null===(a=x.Dg[e])||void 0===a?void 0:a.description;return(0,s.jsx)(f,{value:e,label:e,children:(0,s.jsx)(l.Z,{title:n,placement:"right",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[r&&(0,s.jsx)("img",{src:r,alt:e,className:"w-4 h-4 object-contain",onError:t=>{let a=t.target,s=a.parentElement;if(s){let t=document.createElement("div");t.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",t.textContent=e.charAt(0),s.replaceChild(t,a)}}}),(0,s.jsx)("span",{children:e})]})})},e)})}),(0,s.jsx)("div",{className:"text-xs text-gray-500",children:"Select callbacks that should be disabled for this key. These callbacks will not receive any logging data."})]})]}),(0,s.jsx)(n.Z,{}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(m.Z,{className:"w-5 h-5 text-blue-500"}),(0,s.jsx)("span",{className:"text-base font-semibold text-gray-800",children:"Logging Integrations"}),(0,s.jsx)(l.Z,{title:"Configure callback logging integrations for this team.",children:(0,s.jsx)(i.Z,{className:"text-gray-400 cursor-help"})})]}),(0,s.jsx)(o.Z,{variant:"secondary",onClick:()=>{j([...t,{callback_name:"",callback_type:"success",callback_vars:{}}])},icon:g.Z,size:"sm",className:"hover:border-blue-400 hover:text-blue-500",type:"button",children:"Add Integration"})]}),(0,s.jsx)("div",{className:"space-y-4",children:t.map((e,t)=>{var a,n;let i=e.callback_name?null===(a=Object.entries(x.Lo).find(t=>{let[a,s]=t;return s===e.callback_name}))||void 0===a?void 0:a[0]:void 0,d=i?null===(n=x.Dg[i])||void 0===n?void 0:n.logo:null;return(0,s.jsxs)(c.Z,{className:"border border-gray-200 shadow-sm hover:shadow-md transition-shadow duration-200",decoration:"top",decorationColor:"blue",children:[(0,s.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[d&&(0,s.jsx)("img",{src:d,alt:i,className:"w-5 h-5 object-contain"}),(0,s.jsxs)("span",{className:"text-sm font-medium",children:[i||"New Integration"," Configuration"]})]}),(0,s.jsx)(o.Z,{variant:"light",onClick:()=>N(t),icon:p.Z,size:"xs",color:"red",className:"hover:bg-red-50",type:"button",children:"Remove"})]}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Integration Type"}),(0,s.jsx)(r.default,{value:i,placeholder:"Select integration",onChange:e=>w(t,"callback_name",e),className:"w-full",optionLabelProp:"label",children:y.map(e=>{var t,a;let r=null===(t=x.Dg[e])||void 0===t?void 0:t.logo,n=null===(a=x.Dg[e])||void 0===a?void 0:a.description;return(0,s.jsx)(f,{value:e,label:e,children:(0,s.jsx)(l.Z,{title:n,placement:"right",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[r&&(0,s.jsx)("img",{src:r,alt:e,className:"w-4 h-4 object-contain",onError:t=>{let a=t.target,s=a.parentElement;if(s){let t=document.createElement("div");t.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",t.textContent=e.charAt(0),s.replaceChild(t,a)}}}),(0,s.jsx)("span",{children:e})]})})},e)})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Event Type"}),(0,s.jsxs)(r.default,{value:e.callback_type,onChange:e=>w(t,"callback_type",e),className:"w-full",children:[(0,s.jsx)(f,{value:"success",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full"}),(0,s.jsx)("span",{children:"Success Only"})]})}),(0,s.jsx)(f,{value:"failure",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-red-500 rounded-full"}),(0,s.jsx)("span",{children:"Failure Only"})]})}),(0,s.jsx)(f,{value:"success_and_failure",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-blue-500 rounded-full"}),(0,s.jsx)("span",{children:"Success & Failure"})]})})]})]})]}),C(e,t)]})]},t)})}),0===t.length&&(0,s.jsxs)("div",{className:"text-center py-12 text-gray-500 border-2 border-dashed border-gray-200 rounded-lg bg-gray-50/50",children:[(0,s.jsx)(m.Z,{className:"w-12 h-12 text-gray-300 mb-3 mx-auto"}),(0,s.jsx)("div",{className:"text-base font-medium mb-1",children:"No logging integrations configured"}),(0,s.jsx)("div",{className:"text-sm text-gray-400",children:'Click "Add Integration" to configure logging for this team'})]})]})}},97415:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select vector stores",disabled:d=!1}=e,[u,m]=(0,r.useState)([]),[g,p]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{(async()=>{if(o){p(!0);try{let e=await (0,n.vectorStoreListCall)(o);e.data&&m(e.data)}catch(e){console.error("Error fetching vector stores:",e)}finally{p(!1)}}})()},[o]),(0,s.jsx)("div",{children:(0,s.jsx)(l.default,{mode:"multiple",placeholder:c,onChange:t,value:a,loading:g,className:i,options:u.map(e=>({label:"".concat(e.vector_store_name||e.vector_store_id," (").concat(e.vector_store_id,")"),value:e.vector_store_id,title:e.vector_store_description||e.vector_store_id})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:d})})}},59872:function(e,t,a){a.d(t,{GS:function(){return n},nl:function(){return r},pw:function(){return l},vQ:function(){return i}});var s=a(9114);function r(e,t){let a=structuredClone(e);for(let[e,s]of Object.entries(t))e in a&&(a[e]=s);return a}let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!s)return"-";let r={minimumFractionDigits:t,maximumFractionDigits:t};if(!a)return e.toLocaleString("en-US",r);let l=Math.abs(e),n=l,i="";return l>=1e6?(n=l/1e6,i="M"):l>=1e3&&(n=l/1e3,i="K"),"".concat(e<0?"-":"").concat(n.toLocaleString("en-US",r)).concat(i)},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let a=l(e,t,!1,!1);if(0===Number(a.replace(/,/g,""))){let e=(1/10**t).toFixed(t);return"< $".concat(e)}return"$".concat(a)},i=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return o(e,t);try{return await navigator.clipboard.writeText(e),s.Z.success(t),!0}catch(a){return console.error("Clipboard API failed: ",a),o(e,t)}},o=(e,t)=>{try{let a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.left="-999999px",a.style.top="-999999px",a.setAttribute("readonly",""),document.body.appendChild(a),a.focus(),a.select();let r=document.execCommand("copy");if(document.body.removeChild(a),r)return s.Z.success(t),!0;throw Error("execCommand failed")}catch(e){return s.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,t,a){a.d(t,{LQ:function(){return l},P4:function(){return i},ZL:function(){return s},lo:function(){return r},tY:function(){return n}});let s=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],r=["Internal User","Internal Viewer"],l=["Internal User","Admin","proxy_admin"],n=e=>s.includes(e),i=e=>"proxy_admin"===e||"Admin"===e}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4679],{95704:function(e,t,a){a.d(t,{Dx:function(){return u.Z},RM:function(){return l.Z},SC:function(){return c.Z},Zb:function(){return s.Z},iA:function(){return r.Z},pj:function(){return n.Z},ss:function(){return i.Z},xs:function(){return o.Z},xv:function(){return d.Z}});var s=a(12514),r=a(21626),l=a(97214),n=a(28241),i=a(58834),o=a(69552),c=a(71876),d=a(84264),u=a(96761)},92280:function(e,t,a){a.d(t,{x:function(){return s.Z}});var s=a(84264)},56522:function(e,t,a){a.d(t,{o:function(){return r.Z},x:function(){return s.Z}});var s=a(84264),r=a(49566)},39760:function(e,t,a){var s=a(2265),r=a(99376),l=a(14474),n=a(3914),i=a(19250);t.Z=()=>{var e,t,a,o,c,d;let u=(0,r.useRouter)(),m="undefined"!=typeof document?(0,n.e)("token"):null;(0,s.useEffect)(()=>{m||u.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login"))},[m,u]);let g=(0,s.useMemo)(()=>{if(!m)return null;try{return(0,l.o)(m)}catch(e){return(0,n.b)(),u.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login")),null}},[m,u]);return{token:m,accessToken:null!==(e=null==g?void 0:g.key)&&void 0!==e?e:null,userId:null!==(t=null==g?void 0:g.user_id)&&void 0!==t?t:null,userEmail:null!==(a=null==g?void 0:g.user_email)&&void 0!==a?a:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(o=null==g?void 0:g.user_role)&&void 0!==o?o:null),premiumUser:null!==(c=null==g?void 0:g.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==g?void 0:g.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==g?void 0:g.login_method)==="username_password"}}},82586:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select agents",disabled:d=!1}=e,[u,m]=(0,r.useState)([]),[g,p]=(0,r.useState)([]),[x,h]=(0,r.useState)(!1);(0,r.useEffect)(()=>{(async()=>{if(o){h(!0);try{let e=await (0,n.getAgentsList)(o),t=(null==e?void 0:e.agents)||[];m(t);let a=new Set;t.forEach(e=>{let t=e.agent_access_groups;t&&Array.isArray(t)&&t.forEach(e=>a.add(e))}),p(Array.from(a))}catch(e){console.error("Error fetching agents:",e)}finally{h(!1)}}})()},[o]);let f=[...g.map(e=>({label:e,value:"group:".concat(e),isAccessGroup:!0,searchText:"".concat(e," Access Group")})),...u.map(e=>({label:"".concat(e.agent_name||e.agent_id),value:e.agent_id,isAccessGroup:!1,searchText:"".concat(e.agent_name||e.agent_id," ").concat(e.agent_id," Agent")}))],v=[...(null==a?void 0:a.agents)||[],...((null==a?void 0:a.accessGroups)||[]).map(e=>"group:".concat(e))];return(0,s.jsx)("div",{children:(0,s.jsx)(l.default,{mode:"multiple",placeholder:c,onChange:e=>{t({agents:e.filter(e=>!e.startsWith("group:")),accessGroups:e.filter(e=>e.startsWith("group:")).map(e=>e.replace("group:",""))})},value:v,loading:x,className:i,showSearch:!0,style:{width:"100%"},disabled:d,filterOption:(e,t)=>{var a;return((null===(a=f.find(e=>e.value===(null==t?void 0:t.value)))||void 0===a?void 0:a.searchText)||"").toLowerCase().includes(e.toLowerCase())},children:f.map(e=>(0,s.jsx)(l.default.Option,{value:e.value,label:e.label,children:(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,s.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:e.isAccessGroup?"#52c41a":"#722ed1",flexShrink:0}}),(0,s.jsx)("span",{style:{flex:1},children:e.label}),(0,s.jsx)("span",{style:{color:e.isAccessGroup?"#52c41a":"#722ed1",fontSize:"12px",fontWeight:500,opacity:.8},children:e.isAccessGroup?"Access Group":"Agent"})]})},e.value))})})}},97434:function(e,t,a){a.d(t,{Dg:function(){return l},Lo:function(){return n},PA:function(){return c},RD:function(){return i},Z3:function(){return o}});let s="../ui/assets/logos/",r=[{id:"arize",displayName:"Arize",logo:"".concat(s,"arize.png"),supports_key_team_logging:!0,dynamic_params:{arize_api_key:"password",arize_space_id:"password"},description:"Arize Logging Integration"},{id:"braintrust",displayName:"Braintrust",logo:"".concat(s,"braintrust.png"),supports_key_team_logging:!1,dynamic_params:{braintrust_api_key:"password",braintrust_project_name:"text"},description:"Braintrust Logging Integration"},{id:"custom_callback_api",displayName:"Custom Callback API",logo:"".concat(s,"custom.svg"),supports_key_team_logging:!0,dynamic_params:{custom_callback_api_url:"text",custom_callback_api_headers:"text"},description:"Custom Callback API Logging Integration"},{id:"datadog",displayName:"Datadog",logo:"".concat(s,"datadog.png"),supports_key_team_logging:!1,dynamic_params:{dd_api_key:"password",dd_site:"text"},description:"Datadog Logging Integration"},{id:"lago",displayName:"Lago",logo:"".concat(s,"lago.svg"),supports_key_team_logging:!1,dynamic_params:{lago_api_url:"text",lago_api_key:"password"},description:"Lago Billing Logging Integration"},{id:"langfuse",displayName:"Langfuse",logo:"".concat(s,"langfuse.png"),supports_key_team_logging:!0,dynamic_params:{langfuse_public_key:"text",langfuse_secret_key:"password",langfuse_host:"text"},description:"Langfuse v2 Logging Integration"},{id:"langfuse_otel",displayName:"Langfuse OTEL",logo:"".concat(s,"langfuse.png"),supports_key_team_logging:!0,dynamic_params:{langfuse_public_key:"text",langfuse_secret_key:"password",langfuse_host:"text"},description:"Langfuse v3 OTEL Logging Integration"},{id:"langsmith",displayName:"LangSmith",logo:"".concat(s,"langsmith.png"),supports_key_team_logging:!0,dynamic_params:{langsmith_api_key:"password",langsmith_project:"text",langsmith_base_url:"text",langsmith_sampling_rate:"number"},description:"Langsmith Logging Integration"},{id:"openmeter",displayName:"OpenMeter",logo:"".concat(s,"openmeter.png"),supports_key_team_logging:!1,dynamic_params:{openmeter_api_key:"password",openmeter_base_url:"text"},description:"OpenMeter Logging Integration"},{id:"otel",displayName:"Open Telemetry",logo:"".concat(s,"otel.png"),supports_key_team_logging:!1,dynamic_params:{otel_endpoint:"text",otel_headers:"text"},description:"OpenTelemetry Logging Integration"},{id:"s3",displayName:"S3",logo:"".concat(s,"aws.svg"),supports_key_team_logging:!1,dynamic_params:{s3_bucket_name:"text",aws_access_key_id:"password",aws_secret_access_key:"password",aws_region:"text"},description:"S3 Bucket (AWS) Logging Integration"},{id:"SQS",displayName:"SQS",logo:"".concat(s,"aws.svg"),supports_key_team_logging:!1,dynamic_params:{sqs_queue_url:"text",aws_access_key_id:"password",aws_secret_access_key:"password",aws_region:"text"},description:"SQS Queue (AWS) Logging Integration"}],l=r.reduce((e,t)=>(e[t.displayName]=t,e),{}),n=r.reduce((e,t)=>(e[t.displayName]=t.id,e),{}),i=r.reduce((e,t)=>(e[t.id]=t.displayName,e),{}),o=e=>e.map(e=>n[e]||e),c=e=>e.map(e=>i[e]||e)},95096:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select pass through routes",disabled:d=!1,teamId:u}=e,[m,g]=(0,r.useState)([]),[p,x]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{(async()=>{if(o){x(!0);try{let e=await (0,n.getPassThroughEndpointsCall)(o,u);if(e.endpoints){let t=e.endpoints.map(e=>e.path);g(t)}}catch(e){console.error("Error fetching pass through routes:",e)}finally{x(!1)}}})()},[o,u]),(0,s.jsx)(l.default,{mode:"tags",placeholder:c,onChange:t,value:a,loading:p,className:i,options:m.map(e=>({label:e,value:e})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:d})}},46468:function(e,t,a){a.d(t,{K2:function(){return r},Ob:function(){return n},W0:function(){return l}});var s=a(19250);let r=async(e,t,a)=>{try{if(null===e||null===t)return;if(null!==a){let r=(await (0,s.modelAvailableCall)(a,e,t,!0,null,!0)).data.map(e=>e.id),l=[],n=[];return r.forEach(e=>{e.endsWith("/*")?l.push(e):n.push(e)}),[...l,...n]}}catch(e){console.error("Error fetching user models:",e)}},l=e=>{if("all-proxy-models"===e)return"All Proxy Models";if(e.endsWith("/*")){let t=e.replace("/*","");return"All ".concat(t," models")}return e},n=(e,t)=>{let a=[],s=[];return console.log("teamModels",e),console.log("allModels",t),e.forEach(e=>{if(e.endsWith("/*")){let r=e.replace("/*",""),l=t.filter(e=>e.startsWith(r+"/"));s.push(...l),a.push(e)}else s.push(e)}),[...a,...s].filter((e,t,a)=>a.indexOf(e)===t)}},95920:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select MCP servers",disabled:d=!1}=e,[u,m]=(0,r.useState)([]),[g,p]=(0,r.useState)([]),[x,h]=(0,r.useState)(!1);(0,r.useEffect)(()=>{(async()=>{if(o){h(!0);try{let[e,t]=await Promise.all([(0,n.fetchMCPServers)(o),(0,n.fetchMCPAccessGroups)(o)]),a=Array.isArray(e)?e:e.data||[],s=Array.isArray(t)?t:t.data||[];m(a),p(s)}catch(e){console.error("Error fetching MCP servers or access groups:",e)}finally{h(!1)}}})()},[o]);let f=[...g.map(e=>({label:e,value:e,isAccessGroup:!0,searchText:"".concat(e," Access Group")})),...u.map(e=>({label:"".concat(e.server_name||e.server_id," (").concat(e.server_id,")"),value:e.server_id,isAccessGroup:!1,searchText:"".concat(e.server_name||e.server_id," ").concat(e.server_id," MCP Server")}))],v=[...(null==a?void 0:a.servers)||[],...(null==a?void 0:a.accessGroups)||[]];return(0,s.jsx)("div",{children:(0,s.jsx)(l.default,{mode:"multiple",placeholder:c,onChange:e=>{t({servers:e.filter(e=>!g.includes(e)),accessGroups:e.filter(e=>g.includes(e))})},value:v,loading:x,className:i,showSearch:!0,style:{width:"100%"},disabled:d,filterOption:(e,t)=>{var a;return((null===(a=f.find(e=>e.value===(null==t?void 0:t.value)))||void 0===a?void 0:a.searchText)||"").toLowerCase().includes(e.toLowerCase())},children:f.map(e=>(0,s.jsx)(l.default.Option,{value:e.value,label:e.label,children:(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,s.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:e.isAccessGroup?"#52c41a":"#1890ff",flexShrink:0}}),(0,s.jsx)("span",{style:{flex:1},children:e.label}),(0,s.jsx)("span",{style:{color:e.isAccessGroup?"#52c41a":"#1890ff",fontSize:"12px",fontWeight:500,opacity:.8},children:e.isAccessGroup?"Access Group":"MCP Server"})]})},e.value))})})}},68473:function(e,t,a){var s=a(57437),r=a(2265),l=a(19250),n=a(92280),i=a(10353),o=a(61994),c=a(32489);t.Z=e=>{let{accessToken:t,selectedServers:a,toolPermissions:d,onChange:u,disabled:m=!1}=e,[g,p]=(0,r.useState)([]),[x,h]=(0,r.useState)({}),[f,v]=(0,r.useState)({}),[_,y]=(0,r.useState)({});(0,r.useEffect)(()=>{(async()=>{if(0===a.length){p([]);return}try{let e=await (0,l.fetchMCPServers)(t),s=(Array.isArray(e)?e:e.data||[]).filter(e=>a.includes(e.server_id));p(s)}catch(e){console.error("Error fetching MCP servers:",e),p([])}})()},[a,t]);let b=async e=>{v(t=>({...t,[e]:!0})),y(t=>({...t,[e]:""}));try{let a=await (0,l.listMCPTools)(t,e);a.error?(y(t=>({...t,[e]:a.message||"Failed to fetch tools"})),h(t=>({...t,[e]:[]}))):h(t=>({...t,[e]:a.tools||[]}))}catch(t){console.error("Error fetching tools for server ".concat(e,":"),t),y(t=>({...t,[e]:"Failed to fetch tools"})),h(t=>({...t,[e]:[]}))}finally{v(t=>({...t,[e]:!1}))}};(0,r.useEffect)(()=>{g.forEach(e=>{x[e.server_id]||f[e.server_id]||b(e.server_id)})},[g]);let j=(e,t)=>{let a=d[e]||[],s=a.includes(t)?a.filter(e=>e!==t):[...a,t];u({...d,[e]:s})},N=e=>{let t=x[e]||[];u({...d,[e]:t.map(e=>e.name)})},w=e=>{u({...d,[e]:[]})};return 0===a.length?null:(0,s.jsx)("div",{className:"space-y-4",children:g.map(e=>{let t=e.server_name||e.alias||e.server_id,a=x[e.server_id]||[],r=d[e.server_id]||[],l=f[e.server_id],u=_[e.server_id];return(0,s.jsxs)("div",{className:"border rounded-lg bg-gray-50",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-4 border-b bg-white rounded-t-lg",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(n.x,{className:"font-semibold text-gray-900",children:t}),e.description&&(0,s.jsx)(n.x,{className:"text-sm text-gray-500",children:e.description})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("button",{className:"text-sm text-blue-600 hover:text-blue-700 font-medium",onClick:()=>N(e.server_id),disabled:m||l,children:"Select All"}),(0,s.jsx)("button",{className:"text-sm text-blue-600 hover:text-blue-700 font-medium",onClick:()=>w(e.server_id),disabled:m||l,children:"Deselect All"}),(0,s.jsx)("button",{className:"text-gray-400 hover:text-gray-600",onClick:()=>{},children:(0,s.jsx)(c.Z,{className:"w-4 h-4"})})]})]}),(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)(n.x,{className:"text-sm font-medium text-gray-700 mb-3",children:"Available Tools"}),l&&(0,s.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,s.jsx)(i.Z,{size:"large"}),(0,s.jsx)(n.x,{className:"ml-3 text-gray-500",children:"Loading tools..."})]}),u&&!l&&(0,s.jsxs)("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg text-center",children:[(0,s.jsx)(n.x,{className:"text-red-600 font-medium",children:"Unable to load tools"}),(0,s.jsx)(n.x,{className:"text-sm text-red-500 mt-1",children:u})]}),!l&&!u&&a.length>0&&(0,s.jsx)("div",{className:"space-y-2",children:a.map(t=>{let a=r.includes(t.name);return(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(o.Z,{checked:a,onChange:()=>j(e.server_id,t.name),disabled:m}),(0,s.jsx)("div",{className:"flex-1 min-w-0",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.x,{className:"font-medium text-gray-900",children:t.name}),(0,s.jsxs)(n.x,{className:"text-sm text-gray-500",children:["- ",t.description||"No description"]})]})})]},t.name)})}),!l&&!u&&0===a.length&&(0,s.jsx)("div",{className:"text-center py-6",children:(0,s.jsx)(n.x,{className:"text-gray-500",children:"No tools available"})})]})]},e.server_id)})})}},10703:function(e,t,a){a.d(t,{p:function(){return r}});var s=a(19250);let r=async e=>{try{let t=await (0,s.modelHubCall)(e);if(console.log("model_info:",t),(null==t?void 0:t.data.length)>0){let e=t.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,t)=>e.model_group.localeCompare(t.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},24199:function(e,t,a){a.d(t,{Z:function(){return l}});var s=a(57437);a(2265);var r=a(30150),l=e=>{let{step:t=.01,style:a={width:"100%"},placeholder:l="Enter a numerical value",min:n,max:i,onChange:o,...c}=e;return(0,s.jsx)(r.Z,{onWheel:e=>e.currentTarget.blur(),step:t,style:a,placeholder:l,min:n,max:i,onChange:o,...c})}},54507:function(e,t,a){a.d(t,{Z:function(){return v}});var s=a(57437);a(2265);var r=a(37592),l=a(99981),n=a(23496),i=a(15424),o=a(78489),c=a(12514),d=a(49566),u=a(91777),m=a(82182),g=a(22452),p=a(74998),x=a(97434),h=a(24199);let{Option:f}=r.default;var v=e=>{let{value:t=[],onChange:a,disabledCallbacks:v=[],onDisabledCallbacksChange:_}=e,y=Object.entries(x.Dg).filter(e=>{let[t,a]=e;return a.supports_key_team_logging}).map(e=>{let[t,a]=e;return t}),b=Object.keys(x.Dg),j=e=>{null==a||a(e)},N=e=>{j(t.filter((t,a)=>a!==e))},w=(e,a,s)=>{let r=[...t];if("callback_name"===a){let t=x.Lo[s]||s;r[e]={...r[e],[a]:t,callback_vars:{}}}else r[e]={...r[e],[a]:s};j(r)},k=(e,a,s)=>{let r=[...t];r[e]={...r[e],callback_vars:{...r[e].callback_vars,[a]:s}},j(r)},C=(e,t)=>{var a,r;if(!e.callback_name)return null;let n=null===(a=Object.entries(x.Lo).find(t=>{let[a,s]=t;return s===e.callback_name}))||void 0===a?void 0:a[0];if(!n)return null;let o=(null===(r=x.Dg[n])||void 0===r?void 0:r.dynamic_params)||{};return 0===Object.keys(o).length?null:(0,s.jsxs)("div",{className:"mt-6 pt-4 border-t border-gray-100",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2 mb-4",children:[(0,s.jsx)("div",{className:"w-3 h-3 bg-blue-100 rounded-full flex items-center justify-center",children:(0,s.jsx)("div",{className:"w-1.5 h-1.5 bg-blue-500 rounded-full"})}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Integration Parameters"})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:Object.entries(o).map(a=>{let[r,n]=a;return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("label",{className:"text-sm font-medium text-gray-700 capitalize flex items-center space-x-1",children:[(0,s.jsx)("span",{children:r.replace(/_/g," ")}),(0,s.jsx)(l.Z,{title:"Environment variable reference recommended: os.environ/".concat(r.toUpperCase()),children:(0,s.jsx)(i.Z,{className:"text-gray-400 cursor-help text-xs"})}),"password"===n&&(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-yellow-100 text-yellow-800",children:"Sensitive"}),"number"===n&&(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-yellow-100 text-yellow-800",children:"Number"})]}),"number"===n&&(0,s.jsx)("span",{className:"text-xs text-gray-500",children:"Value must be between 0 and 1"}),"number"===n?(0,s.jsx)(h.Z,{step:.01,width:400,placeholder:"os.environ/".concat(r.toUpperCase()),value:e.callback_vars[r]||"",onChange:e=>k(t,r,e.target.value)}):(0,s.jsx)(d.Z,{type:"password"===n?"password":"text",placeholder:"os.environ/".concat(r.toUpperCase()),value:e.callback_vars[r]||"",onChange:e=>k(t,r,e.target.value)})]},r)})})]})};return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(u.Z,{className:"w-5 h-5 text-red-500"}),(0,s.jsx)("span",{className:"text-base font-semibold text-gray-800",children:"Disabled Callbacks"}),(0,s.jsx)(l.Z,{title:"Select callbacks to disable for this key. Disabled callbacks will not receive any logging data.",children:(0,s.jsx)(i.Z,{className:"text-gray-400 cursor-help"})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Disabled Callbacks"}),(0,s.jsx)(r.default,{mode:"multiple",placeholder:"Select callbacks to disable",value:v,onChange:e=>{let t=(0,x.Z3)(e);null==_||_(t)},style:{width:"100%"},optionLabelProp:"label",children:b.map(e=>{var t,a;let r=null===(t=x.Dg[e])||void 0===t?void 0:t.logo,n=null===(a=x.Dg[e])||void 0===a?void 0:a.description;return(0,s.jsx)(f,{value:e,label:e,children:(0,s.jsx)(l.Z,{title:n,placement:"right",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[r&&(0,s.jsx)("img",{src:r,alt:e,className:"w-4 h-4 object-contain",onError:t=>{let a=t.target,s=a.parentElement;if(s){let t=document.createElement("div");t.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",t.textContent=e.charAt(0),s.replaceChild(t,a)}}}),(0,s.jsx)("span",{children:e})]})})},e)})}),(0,s.jsx)("div",{className:"text-xs text-gray-500",children:"Select callbacks that should be disabled for this key. These callbacks will not receive any logging data."})]})]}),(0,s.jsx)(n.Z,{}),(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(m.Z,{className:"w-5 h-5 text-blue-500"}),(0,s.jsx)("span",{className:"text-base font-semibold text-gray-800",children:"Logging Integrations"}),(0,s.jsx)(l.Z,{title:"Configure callback logging integrations for this team.",children:(0,s.jsx)(i.Z,{className:"text-gray-400 cursor-help"})})]}),(0,s.jsx)(o.Z,{variant:"secondary",onClick:()=>{j([...t,{callback_name:"",callback_type:"success",callback_vars:{}}])},icon:g.Z,size:"sm",className:"hover:border-blue-400 hover:text-blue-500",type:"button",children:"Add Integration"})]}),(0,s.jsx)("div",{className:"space-y-4",children:t.map((e,t)=>{var a,n;let i=e.callback_name?null===(a=Object.entries(x.Lo).find(t=>{let[a,s]=t;return s===e.callback_name}))||void 0===a?void 0:a[0]:void 0,d=i?null===(n=x.Dg[i])||void 0===n?void 0:n.logo:null;return(0,s.jsxs)(c.Z,{className:"border border-gray-200 shadow-sm hover:shadow-md transition-shadow duration-200",decoration:"top",decorationColor:"blue",children:[(0,s.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[d&&(0,s.jsx)("img",{src:d,alt:i,className:"w-5 h-5 object-contain"}),(0,s.jsxs)("span",{className:"text-sm font-medium",children:[i||"New Integration"," Configuration"]})]}),(0,s.jsx)(o.Z,{variant:"light",onClick:()=>N(t),icon:p.Z,size:"xs",color:"red",className:"hover:bg-red-50",type:"button",children:"Remove"})]}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Integration Type"}),(0,s.jsx)(r.default,{value:i,placeholder:"Select integration",onChange:e=>w(t,"callback_name",e),className:"w-full",optionLabelProp:"label",children:y.map(e=>{var t,a;let r=null===(t=x.Dg[e])||void 0===t?void 0:t.logo,n=null===(a=x.Dg[e])||void 0===a?void 0:a.description;return(0,s.jsx)(f,{value:e,label:e,children:(0,s.jsx)(l.Z,{title:n,placement:"right",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[r&&(0,s.jsx)("img",{src:r,alt:e,className:"w-4 h-4 object-contain",onError:t=>{let a=t.target,s=a.parentElement;if(s){let t=document.createElement("div");t.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",t.textContent=e.charAt(0),s.replaceChild(t,a)}}}),(0,s.jsx)("span",{children:e})]})})},e)})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Event Type"}),(0,s.jsxs)(r.default,{value:e.callback_type,onChange:e=>w(t,"callback_type",e),className:"w-full",children:[(0,s.jsx)(f,{value:"success",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full"}),(0,s.jsx)("span",{children:"Success Only"})]})}),(0,s.jsx)(f,{value:"failure",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-red-500 rounded-full"}),(0,s.jsx)("span",{children:"Failure Only"})]})}),(0,s.jsx)(f,{value:"success_and_failure",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-blue-500 rounded-full"}),(0,s.jsx)("span",{children:"Success & Failure"})]})})]})]})]}),C(e,t)]})]},t)})}),0===t.length&&(0,s.jsxs)("div",{className:"text-center py-12 text-gray-500 border-2 border-dashed border-gray-200 rounded-lg bg-gray-50/50",children:[(0,s.jsx)(m.Z,{className:"w-12 h-12 text-gray-300 mb-3 mx-auto"}),(0,s.jsx)("div",{className:"text-base font-medium mb-1",children:"No logging integrations configured"}),(0,s.jsx)("div",{className:"text-sm text-gray-400",children:'Click "Add Integration" to configure logging for this team'})]})]})}},97415:function(e,t,a){var s=a(57437),r=a(2265),l=a(37592),n=a(19250);t.Z=e=>{let{onChange:t,value:a,className:i,accessToken:o,placeholder:c="Select vector stores",disabled:d=!1}=e,[u,m]=(0,r.useState)([]),[g,p]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{(async()=>{if(o){p(!0);try{let e=await (0,n.vectorStoreListCall)(o);e.data&&m(e.data)}catch(e){console.error("Error fetching vector stores:",e)}finally{p(!1)}}})()},[o]),(0,s.jsx)("div",{children:(0,s.jsx)(l.default,{mode:"multiple",placeholder:c,onChange:t,value:a,loading:g,className:i,options:u.map(e=>({label:"".concat(e.vector_store_name||e.vector_store_id," (").concat(e.vector_store_id,")"),value:e.vector_store_id,title:e.vector_store_description||e.vector_store_id})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:d})})}},59872:function(e,t,a){a.d(t,{GS:function(){return n},nl:function(){return r},pw:function(){return l},vQ:function(){return i}});var s=a(9114);function r(e,t){let a=structuredClone(e);for(let[e,s]of Object.entries(t))e in a&&(a[e]=s);return a}let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!s)return"-";let r={minimumFractionDigits:t,maximumFractionDigits:t};if(!a)return e.toLocaleString("en-US",r);let l=Math.abs(e),n=l,i="";return l>=1e6?(n=l/1e6,i="M"):l>=1e3&&(n=l/1e3,i="K"),"".concat(e<0?"-":"").concat(n.toLocaleString("en-US",r)).concat(i)},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let a=l(e,t,!1,!1);if(0===Number(a.replace(/,/g,""))){let e=(1/10**t).toFixed(t);return"< $".concat(e)}return"$".concat(a)},i=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return o(e,t);try{return await navigator.clipboard.writeText(e),s.Z.success(t),!0}catch(a){return console.error("Clipboard API failed: ",a),o(e,t)}},o=(e,t)=>{try{let a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.left="-999999px",a.style.top="-999999px",a.setAttribute("readonly",""),document.body.appendChild(a),a.focus(),a.select();let r=document.execCommand("copy");if(document.body.removeChild(a),r)return s.Z.success(t),!0;throw Error("execCommand failed")}catch(e){return s.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,t,a){a.d(t,{LQ:function(){return l},P4:function(){return i},ZL:function(){return s},_p:function(){return c},lo:function(){return r},tY:function(){return n},yV:function(){return o}});let s=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],r=["Internal User","Internal Viewer"],l=["Internal User","Admin","proxy_admin"],n=e=>s.includes(e),i=e=>"proxy_admin"===e||"Admin"===e,o=(e,t)=>null!=e&&e.some(e=>c(e,t)),c=(e,t)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===t&&"admin"===e.role)}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/4804-b847172fde8c8338.js b/litellm/proxy/_experimental/out/_next/static/chunks/4804-b847172fde8c8338.js new file mode 100644 index 0000000000..e8ae2a958e --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/4804-b847172fde8c8338.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4804],{79276:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z"}}]},name:"arrow-up",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},83322:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z"}}]},name:"bulb",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},26430:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z"}}]},name:"clear",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},5540:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},11894:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"code",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},62670:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z"}}]},name:"dollar",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},11741:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"}}]},name:"export",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},71282:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},16601:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z"}}]},name:"number",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},58630:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z"}}]},name:"tool",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},92570:function(e,t,n){n.d(t,{Z:function(){return r}});let r=e=>e?"function"==typeof e?e():e:null},20435:function(e,t,n){n.d(t,{aV:function(){return f}});var r=n(2265),l=n(36760),i=n.n(l),o=n(5769),a=n(92570),u=n(71744),s=n(72262),c=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var l=0,r=Object.getOwnPropertySymbols(e);lt.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]]);return n};let f=e=>{let{title:t,content:n,prefixCls:l}=e;return t||n?r.createElement(r.Fragment,null,t&&r.createElement("div",{className:"".concat(l,"-title")},t),n&&r.createElement("div",{className:"".concat(l,"-inner-content")},n)):null},p=e=>{let{hashId:t,prefixCls:n,className:l,style:u,placement:s="top",title:c,content:p,children:d}=e,h=(0,a.Z)(c),m=(0,a.Z)(p),g=i()(t,n,"".concat(n,"-pure"),"".concat(n,"-placement-").concat(s),l);return r.createElement("div",{className:g,style:u},r.createElement("div",{className:"".concat(n,"-arrow")}),r.createElement(o.G,Object.assign({},e,{className:t,prefixCls:n}),d||r.createElement(f,{prefixCls:n,title:h,content:m})))};t.ZP=e=>{let{prefixCls:t,className:n}=e,l=c(e,["prefixCls","className"]),{getPrefixCls:o}=r.useContext(u.E_),a=o("popover",t),[f,d,h]=(0,s.Z)(a);return f(r.createElement(p,Object.assign({},l,{prefixCls:a,hashId:d,className:i()(n,h)})))}},79326:function(e,t,n){var r=n(2265),l=n(36760),i=n.n(l),o=n(50506),a=n(95814),u=n(92570),s=n(68710),c=n(19722),f=n(71744),p=n(99981),d=n(20435),h=n(72262),m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var l=0,r=Object.getOwnPropertySymbols(e);lt.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]]);return n};let g=r.forwardRef((e,t)=>{var n,l;let{prefixCls:g,title:y,content:v,overlayClassName:x,placement:k="top",trigger:b="hover",children:w,mouseEnterDelay:S=.1,mouseLeaveDelay:C=.1,onOpenChange:E,overlayStyle:I={},styles:T,classNames:P}=e,A=m(e,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle","styles","classNames"]),{getPrefixCls:z,className:O,style:M,classNames:L,styles:D}=(0,f.dj)("popover"),N=z("popover",g),[F,R,_]=(0,h.Z)(N),j=z(),B=i()(x,R,_,O,L.root,null==P?void 0:P.root),H=i()(L.body,null==P?void 0:P.body),[V,Z]=(0,o.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(l=e.defaultOpen)&&void 0!==l?l:e.defaultVisible}),U=(e,t)=>{Z(e,!0),null==E||E(e,t)},q=e=>{e.keyCode===a.Z.ESC&&U(!1,e)},W=(0,u.Z)(y),Y=(0,u.Z)(v);return F(r.createElement(p.Z,Object.assign({placement:k,trigger:b,mouseEnterDelay:S,mouseLeaveDelay:C},A,{prefixCls:N,classNames:{root:B,body:H},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},D.root),M),I),null==T?void 0:T.root),body:Object.assign(Object.assign({},D.body),null==T?void 0:T.body)},ref:t,open:V,onOpenChange:e=>{U(e)},overlay:W||Y?r.createElement(d.aV,{prefixCls:N,title:W,content:Y}):null,transitionName:(0,s.m)(j,"zoom-big",A.transitionName),"data-popover-inject":!0}),(0,c.Tm)(w,{onKeyDown:e=>{var t,n;(0,r.isValidElement)(w)&&(null===(n=null==w?void 0:(t=w.props).onKeyDown)||void 0===n||n.call(t,e)),q(e)}})))});g._InternalPanelDoNotUseOrYouWillBeFired=d.ZP,t.Z=g},72262:function(e,t,n){var r=n(12918),l=n(691),i=n(88260),o=n(34442),a=n(53454),u=n(99320),s=n(71140);let c=e=>{let{componentCls:t,popoverColor:n,titleMinWidth:l,fontWeightStrong:o,innerPadding:a,boxShadowSecondary:u,colorTextHeading:s,borderRadiusLG:c,zIndexPopup:f,titleMarginBottom:p,colorBgElevated:d,popoverBg:h,titleBorderBottom:m,innerContentPadding:g,titlePadding:y}=e;return[{[t]:Object.assign(Object.assign({},(0,r.Wf)(e)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:f,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text","--valid-offset-x":"var(--arrow-offset-horizontal, var(--arrow-x))",transformOrigin:"var(--valid-offset-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},["".concat(t,"-content")]:{position:"relative"},["".concat(t,"-inner")]:{backgroundColor:h,backgroundClip:"padding-box",borderRadius:c,boxShadow:u,padding:a},["".concat(t,"-title")]:{minWidth:l,marginBottom:p,color:s,fontWeight:o,borderBottom:m,padding:y},["".concat(t,"-inner-content")]:{color:n,padding:g}})},(0,i.ZP)(e,"var(--antd-arrow-background-color)"),{["".concat(t,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow,display:"inline-block",["".concat(t,"-content")]:{display:"inline-block"}}}]},f=e=>{let{componentCls:t}=e;return{[t]:a.i.map(n=>{let r=e["".concat(n,"6")];return{["&".concat(t,"-").concat(n)]:{"--antd-arrow-background-color":r,["".concat(t,"-inner")]:{backgroundColor:r},["".concat(t,"-arrow")]:{background:"transparent"}}}})}};t.Z=(0,u.I$)("Popover",e=>{let{colorBgElevated:t,colorText:n}=e,r=(0,s.IX)(e,{popoverBg:t,popoverColor:n});return[c(r),f(r),(0,l._y)(r,"zoom-big")]},e=>{let{lineWidth:t,controlHeight:n,fontHeight:r,padding:l,wireframe:a,zIndexPopupBase:u,borderRadiusLG:s,marginXS:c,lineType:f,colorSplit:p,paddingSM:d}=e,h=n-r;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:u+30},(0,o.w)(e)),(0,i.wZ)({contentRadius:s,limitVerticalRadius:!0})),{innerPadding:a?0:12,titleMarginBottom:a?0:c,titlePadding:a?"".concat(h/2,"px ").concat(l,"px ").concat(h/2-t,"px"):0,titleBorderBottom:a?"".concat(t,"px ").concat(f," ").concat(p):"none",innerContentPadding:a?"".concat(d,"px ").concat(l,"px"):0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]})},6500:function(e){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,l=Object.getOwnPropertyDescriptor,i=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,l=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!l&&!i)return!1;for(r in e);return void 0===r||t.call(e,r)},a=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},u=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(l)return l(e,n).value}return e[n]};e.exports=function e(){var t,n,r,l,s,c,f=arguments[0],p=1,d=arguments.length,h=!1;for("boolean"==typeof f&&(h=f,f=arguments[1]||{},p=2),(null==f||"object"!=typeof f&&"function"!=typeof f)&&(f={});p code':{position:"relative",zIndex:"1",borderLeft:"10px solid #358ccb",boxShadow:"-1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf",backgroundColor:"#fdfdfd",backgroundImage:"linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%)",backgroundSize:"3em 3em",backgroundOrigin:"content-box",backgroundAttachment:"local"},':not(pre) > code[class*="language-"]':{backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box",marginBottom:"1em",position:"relative",padding:".2em",borderRadius:"0.3em",color:"#c92c2c",border:"1px solid rgba(0, 0, 0, 0.1)",display:"inline",whiteSpace:"normal"},'pre[class*="language-"]:before':{content:"''",display:"block",position:"absolute",bottom:"0.75em",left:"0.18em",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(-2deg)",MozTransform:"rotate(-2deg)",msTransform:"rotate(-2deg)",OTransform:"rotate(-2deg)",transform:"rotate(-2deg)"},'pre[class*="language-"]:after':{content:"''",display:"block",position:"absolute",bottom:"0.75em",left:"auto",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(2deg)",MozTransform:"rotate(2deg)",msTransform:"rotate(2deg)",OTransform:"rotate(2deg)",transform:"rotate(2deg)",right:"0.75em"},comment:{color:"#7D8B99"},"block-comment":{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#5F6364"},property:{color:"#c92c2c"},tag:{color:"#c92c2c"},boolean:{color:"#c92c2c"},number:{color:"#c92c2c"},"function-name":{color:"#c92c2c"},constant:{color:"#c92c2c"},symbol:{color:"#c92c2c"},deleted:{color:"#c92c2c"},selector:{color:"#2f9c0a"},"attr-name":{color:"#2f9c0a"},string:{color:"#2f9c0a"},char:{color:"#2f9c0a"},function:{color:"#2f9c0a"},builtin:{color:"#2f9c0a"},inserted:{color:"#2f9c0a"},operator:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},entity:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)",cursor:"help"},url:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},variable:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},atrule:{color:"#1990b8"},"attr-value":{color:"#1990b8"},keyword:{color:"#1990b8"},"class-name":{color:"#1990b8"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"normal"},".language-css .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},".style .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:".7"},'pre[class*="language-"].line-numbers.line-numbers':{paddingLeft:"0"},'pre[class*="language-"].line-numbers.line-numbers code':{paddingLeft:"3.8em"},'pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows':{left:"0"},'pre[class*="language-"][data-line]':{paddingTop:"0",paddingBottom:"0",paddingLeft:"0"},"pre[data-line] code":{position:"relative",paddingLeft:"4em"},"pre .line-highlight":{marginTop:"0"}}},95693:function(e,t,n){var r=(this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(n(52744)),l=n(96172);function i(e,t){var n={};return e&&"string"==typeof e&&(0,r.default)(e,function(e,r){e&&r&&(n[(0,l.camelCase)(e,t)]=r)}),n}i.default=i,e.exports=i},96172:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.camelCase=void 0;var n=/^--[a-zA-Z0-9_-]+$/,r=/-([a-z])/g,l=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,a=function(e,t){return t.toUpperCase()},u=function(e,t){return"".concat(t,"-")};t.camelCase=function(e,t){var s;return(void 0===t&&(t={}),!(s=e)||l.test(s)||n.test(s))?e:(e=e.toLowerCase(),(e=t.reactCompat?e.replace(o,u):e.replace(i,u)).replace(r,a))}},52744:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){let n=null;if(!e||"string"!=typeof e)return n;let r=(0,l.default)(e),i="function"==typeof t;return r.forEach(e=>{if("declaration"!==e.type)return;let{property:r,value:l}=e;i?t(r,l,e):l&&((n=n||{})[r]=l)}),n};let l=r(n(30537))},62831:function(e,t,n){n.d(t,{UG:function(){return nq}});var r={};n.r(r),n.d(r,{boolean:function(){return g},booleanish:function(){return y},commaOrSpaceSeparated:function(){return w},commaSeparated:function(){return b},number:function(){return x},overloadedBoolean:function(){return v},spaceSeparated:function(){return k}});var l={};n.r(l),n.d(l,{attentionMarkers:function(){return tB},contentInitial:function(){return tD},disable:function(){return tH},document:function(){return tL},flow:function(){return tF},flowInitial:function(){return tN},insideSpan:function(){return tj},string:function(){return tR},text:function(){return t_}});let i=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,o=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,a={};function u(e,t){return((t||a).jsx?o:i).test(e)}let s=/[ \t\n\f\r]/g;function c(e){return""===e.replace(s,"")}class f{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}}function p(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new f(n,r,t)}function d(e){return e.toLowerCase()}f.prototype.normal={},f.prototype.property={},f.prototype.space=void 0;class h{constructor(e,t){this.attribute=t,this.property=e}}h.prototype.attribute="",h.prototype.booleanish=!1,h.prototype.boolean=!1,h.prototype.commaOrSpaceSeparated=!1,h.prototype.commaSeparated=!1,h.prototype.defined=!1,h.prototype.mustUseProperty=!1,h.prototype.number=!1,h.prototype.overloadedBoolean=!1,h.prototype.property="",h.prototype.spaceSeparated=!1,h.prototype.space=void 0;let m=0,g=S(),y=S(),v=S(),x=S(),k=S(),b=S(),w=S();function S(){return 2**++m}let C=Object.keys(r);class E extends h{constructor(e,t,n,l){var i,o;let a=-1;if(super(e,t),l&&(this.space=l),"number"==typeof n)for(;++a"role"===t?t:"aria-"+t.slice(4).toLowerCase()});function P(e,t){return t in e?e[t]:t}function A(e,t){return P(e,t.toLowerCase())}let z=I({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:b,acceptCharset:k,accessKey:k,action:null,allow:null,allowFullScreen:g,allowPaymentRequest:g,allowUserMedia:g,alt:null,as:null,async:g,autoCapitalize:null,autoComplete:k,autoFocus:g,autoPlay:g,blocking:k,capture:null,charSet:null,checked:g,cite:null,className:k,cols:x,colSpan:null,content:null,contentEditable:y,controls:g,controlsList:k,coords:x|b,crossOrigin:null,data:null,dateTime:null,decoding:null,default:g,defer:g,dir:null,dirName:null,disabled:g,download:v,draggable:y,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:g,formTarget:null,headers:k,height:x,hidden:v,high:x,href:null,hrefLang:null,htmlFor:k,httpEquiv:k,id:null,imageSizes:null,imageSrcSet:null,inert:g,inputMode:null,integrity:null,is:null,isMap:g,itemId:null,itemProp:k,itemRef:k,itemScope:g,itemType:k,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:g,low:x,manifest:null,max:null,maxLength:x,media:null,method:null,min:null,minLength:x,multiple:g,muted:g,name:null,nonce:null,noModule:g,noValidate:g,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:g,optimum:x,pattern:null,ping:k,placeholder:null,playsInline:g,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:g,referrerPolicy:null,rel:k,required:g,reversed:g,rows:x,rowSpan:x,sandbox:k,scope:null,scoped:g,seamless:g,selected:g,shadowRootClonable:g,shadowRootDelegatesFocus:g,shadowRootMode:null,shape:null,size:x,sizes:null,slot:null,span:x,spellCheck:y,src:null,srcDoc:null,srcLang:null,srcSet:null,start:x,step:null,style:null,tabIndex:x,target:null,title:null,translate:null,type:null,typeMustMatch:g,useMap:null,value:y,width:x,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:k,axis:null,background:null,bgColor:null,border:x,borderColor:null,bottomMargin:x,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:g,declare:g,event:null,face:null,frame:null,frameBorder:null,hSpace:x,leftMargin:x,link:null,longDesc:null,lowSrc:null,marginHeight:x,marginWidth:x,noResize:g,noHref:g,noShade:g,noWrap:g,object:null,profile:null,prompt:null,rev:null,rightMargin:x,rules:null,scheme:null,scrolling:y,standby:null,summary:null,text:null,topMargin:x,valueType:null,version:null,vAlign:null,vLink:null,vSpace:x,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:g,disableRemotePlayback:g,prefix:null,property:null,results:x,security:null,unselectable:null},space:"html",transform:A}),O=I({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:w,accentHeight:x,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:x,amplitude:x,arabicForm:null,ascent:x,attributeName:null,attributeType:null,azimuth:x,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:x,by:null,calcMode:null,capHeight:x,className:k,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:x,diffuseConstant:x,direction:null,display:null,dur:null,divisor:x,dominantBaseline:null,download:g,dx:null,dy:null,edgeMode:null,editable:null,elevation:x,enableBackground:null,end:null,event:null,exponent:x,externalResourcesRequired:null,fill:null,fillOpacity:x,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:b,g2:b,glyphName:b,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:x,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:x,horizOriginX:x,horizOriginY:x,id:null,ideographic:x,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:x,k:x,k1:x,k2:x,k3:x,k4:x,kernelMatrix:w,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:x,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:x,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:x,overlineThickness:x,paintOrder:null,panose1:null,path:null,pathLength:x,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:k,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:x,pointsAtY:x,pointsAtZ:x,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:w,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:w,rev:w,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:w,requiredFeatures:w,requiredFonts:w,requiredFormats:w,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:x,specularExponent:x,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:x,strikethroughThickness:x,string:null,stroke:null,strokeDashArray:w,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:x,strokeOpacity:x,strokeWidth:null,style:null,surfaceScale:x,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:w,tabIndex:x,tableValues:null,target:null,targetX:x,targetY:x,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:w,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:x,underlineThickness:x,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:x,values:null,vAlphabetic:x,vMathematical:x,vectorEffect:null,vHanging:x,vIdeographic:x,version:null,vertAdvY:x,vertOriginX:x,vertOriginY:x,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:x,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:P}),M=I({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase()}),L=I({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:A}),D=I({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase()}),N=p([T,z,M,L,D],"html"),F=p([T,O,M,L,D],"svg"),R=/[A-Z]/g,_=/-[a-z]/g,j=/^data[-\w.:]+$/i;function B(e){return"-"+e.toLowerCase()}function H(e){return e.charAt(1).toUpperCase()}let V={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var Z=n(95693);let U=W("end"),q=W("start");function W(e){return function(t){let n=t&&t.position&&t.position[e]||{};if("number"==typeof n.line&&n.line>0&&"number"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:"number"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function Y(e){return e&&"object"==typeof e?"position"in e||"type"in e?Q(e.position):"start"in e||"end"in e?Q(e):"line"in e||"column"in e?K(e):"":""}function K(e){return $(e&&e.line)+":"+$(e&&e.column)}function Q(e){return K(e&&e.start)+"-"+K(e&&e.end)}function $(e){return e&&"number"==typeof e?e:1}class X extends Error{constructor(e,t,n){super(),"string"==typeof t&&(n=t,t=void 0);let r="",l={},i=!1;if(t&&(l="line"in t&&"column"in t?{place:t}:"start"in t&&"end"in t?{place:t}:"type"in t?{ancestors:[t],place:t.position}:{...t}),"string"==typeof e?r=e:!l.cause&&e&&(i=!0,r=e.message,l.cause=e),!l.ruleId&&!l.source&&"string"==typeof n){let e=n.indexOf(":");-1===e?l.ruleId=n:(l.source=n.slice(0,e),l.ruleId=n.slice(e+1))}if(!l.place&&l.ancestors&&l.ancestors){let e=l.ancestors[l.ancestors.length-1];e&&(l.place=e.position)}let o=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=Y(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=i&&l.cause&&"string"==typeof l.cause.stack?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}X.prototype.file="",X.prototype.name="",X.prototype.reason="",X.prototype.message="",X.prototype.stack="",X.prototype.column=void 0,X.prototype.line=void 0,X.prototype.ancestors=void 0,X.prototype.cause=void 0,X.prototype.fatal=void 0,X.prototype.place=void 0,X.prototype.ruleId=void 0,X.prototype.source=void 0;let J={}.hasOwnProperty,G=new Map,ee=/[A-Z]/g,et=new Set(["table","tbody","thead","tfoot","tr"]),en=new Set(["td","th"]),er="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function el(e,t,n){return"element"===t.type?function(e,t,n){let r=e.schema,l=r;"svg"===t.tagName.toLowerCase()&&"html"===r.space&&(l=F,e.schema=l),e.ancestors.push(t);let i=eu(e,t.tagName,!1),o=function(e,t){let n,r;let l={};for(r in t.properties)if("children"!==r&&J.call(t.properties,r)){let i=function(e,t,n){let r=function(e,t){let n=d(t),r=t,l=h;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&j.test(t)){if("-"===t.charAt(4)){let e=t.slice(5).replace(_,H);r="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!_.test(e)){let n=e.replace(R,B);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}l=E}return new l(r,t)}(e.schema,t);if(!(null==n||"number"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e,t){let n={};return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}(n):n.join(" ").trim()),"style"===r.property){let t="object"==typeof n?n:function(e,t){try{return Z(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};let t=new X("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw t.file=e.filePath||void 0,t.url=er+"#cannot-parse-style-attribute",t}}(e,String(n));return"css"===e.stylePropertyNameCase&&(t=function(e){let t;let n={};for(t in e)J.call(e,t)&&(n[function(e){let t=e.replace(ee,ec);return"ms-"===t.slice(0,3)&&(t="-"+t),t}(t)]=e[t]);return n}(t)),["style",t]}return["react"===e.elementAttributeNameCase&&r.space?V[r.property]||r.property:r.attribute,n]}}(e,r,t.properties[r]);if(i){let[r,o]=i;e.tableCellAlignToStyle&&"align"===r&&"string"==typeof o&&en.has(t.tagName)?n=o:l[r]=o}}return n&&((l.style||(l.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=n),l}(e,t),a=ea(e,t);return et.has(t.tagName)&&(a=a.filter(function(e){return"string"!=typeof e||!("object"==typeof e?"text"===e.type&&c(e.value):c(e))})),ei(e,o,i,t),eo(o,a),e.ancestors.pop(),e.schema=r,e.create(t,i,o,n)}(e,t,n):"mdxFlowExpression"===t.type||"mdxTextExpression"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}es(e,t.position)}(e,t):"mdxJsxFlowElement"===t.type||"mdxJsxTextElement"===t.type?function(e,t,n){let r=e.schema,l=r;"svg"===t.name&&"html"===r.space&&(l=F,e.schema=l),e.ancestors.push(t);let i=null===t.name?e.Fragment:eu(e,t.name,!0),o=function(e,t){let n={};for(let r of t.attributes)if("mdxJsxExpressionAttribute"===r.type){if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let l=t.expression;l.type;let i=l.properties[0];i.type,Object.assign(n,e.evaluater.evaluateExpression(i.argument))}else es(e,t.position)}else{let l;let i=r.name;if(r.value&&"object"==typeof r.value){if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,l=e.evaluater.evaluateExpression(t.expression)}else es(e,t.position)}else l=null===r.value||r.value;n[i]=l}return n}(e,t),a=ea(e,t);return ei(e,o,i,t),eo(o,a),e.ancestors.pop(),e.schema=r,e.create(t,i,o,n)}(e,t,n):"mdxjsEsm"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);es(e,t.position)}(e,t):"root"===t.type?function(e,t,n){let r={};return eo(r,ea(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):"text"===t.type?t.value:void 0}function ei(e,t,n,r){"string"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function eo(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function ea(e,t){let n=[],r=-1,l=e.passKeys?new Map:G;for(;++ri?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)(l=Array.from(r)).unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o0?(eg(e,e.length,0,t),e):t}class ev{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){this.setCursor(Math.trunc(e));let r=this.right.splice(this.right.length-(t||0),Number.POSITIVE_INFINITY);return n&&ex(this.left,n),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),ex(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),ex(this.right,e.reverse())}setCursor(e){if(e!==this.left.length&&(!(e>this.left.length)||0!==this.right.length)&&(!(e<0)||0!==this.left.length)){if(e-1&&e.test(String.fromCharCode(t))}}function eE(e,t,n,r){let l=r?r-1:Number.POSITIVE_INFINITY,i=0;return function(r){return eS(r)?(e.enter(n),function r(o){return eS(o)&&i++r))return;let a=l.events.length,u=a;for(;u--;)if("exit"===l.events[u][0]&&"chunkFlow"===l.events[u][1].type){if(e){n=l.events[u][1].end;break}e=!0}for(g(o),i=a;it;){let t=i[n];l.containerState=t[1],t[0].exit.call(l,e)}i.length=t}function y(){t.write([null]),n=void 0,t=void 0,l.containerState._closeFlow=void 0}}},eP={tokenize:function(e,t,n){return eE(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},eA=e_(/[A-Za-z]/),ez=e_(/[\dA-Za-z]/),eO=e_(/[#-'*+\--9=?A-Z^-~]/),eM=e_(/\d/),eL=e_(/[\dA-Fa-f]/),eD=e_(/[!-/:-@[-`{-~]/);function eN(e){return null!==e&&e<-2}function eF(e){return null!==e&&(e<0||32===e)}function eR(e){return -2===e||-1===e||32===e}function e_(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function ej(e,t,n,r){let l=r?r-1:Number.POSITIVE_INFINITY,i=0;return function(r){return eR(r)?(e.enter(n),function r(o){return eR(o)&&i++=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}},eZ={tokenize:function(e){let t=this,n=e.attempt(eB,function(r){if(null===r){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,eE(e,e.attempt(this.parser.constructs.flow,r,e.attempt(eH,r)),"linePrefix")));return n;function r(r){if(null===r){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}},eU={resolveAll:eK()},eq=eY("string"),eW=eY("text");function eY(e){return{resolveAll:eK("text"===e?eQ:void 0),tokenize:function(t){let n=this,r=this.parser.constructs[e],l=t.attempt(r,i,o);return i;function i(e){return u(e)?l(e):o(e)}function o(e){if(null===e){t.consume(e);return}return t.enter("data"),t.consume(e),a}function a(e){return u(e)?(t.exit("data"),l(e)):(t.consume(e),a)}function u(e){if(null===e)return!0;let t=r[e],l=-1;if(t)for(;++l=3&&(null===o||eN(o))?(e.exit("thematicBreak"),t(o)):n(o)}(i)}}},eX={continuation:{tokenize:function(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(eB,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ej(e,t,"listItemIndent",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!eR(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(eG,t,l)(n))});function l(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,ej(e,e.attempt(eX,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,t,n){let r=this,l=r.events[r.events.length-1],i=l&&"linePrefix"===l[1].type?l[2].sliceSerialize(l[1],!0).length:0,o=0;return function(t){let l=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===l?!r.containerState.marker||t===r.containerState.marker:eM(t)){if(r.containerState.type||(r.containerState.type=l,e.enter(l,{_container:!0})),"listUnordered"===l)return e.enter("listItemPrefix"),42===t||45===t?e.check(e$,n,a)(t):a(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),function t(l){return eM(l)&&++o<10?(e.consume(l),t):(!r.interrupt||o<2)&&(r.containerState.marker?l===r.containerState.marker:41===l||46===l)?(e.exit("listItemValue"),a(l)):n(l)}(t)}return n(t)};function a(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(eB,r.interrupt?n:u,e.attempt(eJ,c,s))}function u(e){return r.containerState.initialBlankLine=!0,i++,c(e)}function s(t){return eR(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),c):n(t)}function c(n){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}}},eJ={partial:!0,tokenize:function(e,t,n){let r=this;return ej(e,function(e){let l=r.events[r.events.length-1];return!eR(e)&&l&&"listItemPrefixWhitespace"===l[1].type?t(e):n(e)},"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},eG={partial:!0,tokenize:function(e,t,n){let r=this;return ej(e,function(e){let l=r.events[r.events.length-1];return l&&"listItemIndent"===l[1].type&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(e):n(e)},"listItemIndent",r.containerState.size+1)}},e1={continuation:{tokenize:function(e,t,n){let r=this;return function(t){return eR(t)?ej(e,l,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):l(t)};function l(r){return e.attempt(e1,t,n)(r)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,t,n){let r=this;return function(t){if(62===t){let n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),l}return n(t)};function l(n){return eR(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}}};function e0(e){return null!==e&&(e<32||127===e)}function e2(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function e4(e,t,n,r,l,i,o,a,u){let s=u||Number.POSITIVE_INFINITY,c=0;return function(t){return 60===t?(e.enter(r),e.enter(l),e.enter(i),e.consume(t),e.exit(i),f):null===t||32===t||41===t||e0(t)?n(t):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),h(t))};function f(n){return 62===n?(e.enter(i),e.consume(n),e.exit(i),e.exit(l),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(a),f(t)):null===t||60===t||null!==t&&t<-2?n(t):(e.consume(t),92===t?d:p)}function d(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function h(l){return!c&&(null===l||41===l||null!==l&&(l<0||32===l))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(l)):c-1&&e.test(String.fromCharCode(t))}}function e5(e,t,n,r,l,i){let o;let a=this,u=0;return function(t){return e.enter(r),e.enter(l),e.consume(t),e.exit(l),e.enter(i),s};function s(f){return u>999||null===f||91===f||93===f&&!o||94===f&&!u&&"_hiddenFootnoteSupport"in a.parser.constructs?n(f):93===f?(e.exit(i),e.enter(l),e.consume(f),e.exit(l),e.exit(r),t):e6(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),s):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(t){return null===t||91===t||93===t||e6(t)||u++>999?(e.exit("chunkString"),s(t)):(e.consume(t),!o&&(o=!(-2===t||-1===t||32===t)),92===t?f:c)}function f(t){return 91===t||92===t||93===t?(e.consume(t),u++,c):c(t)}}function e8(e){return null!==e&&e<-2}function e9(e){return -2===e||-1===e||32===e}function e7(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function te(e,t,n,r,l,i){let o;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(l),e.consume(t),e.exit(l),o=40===t?41:t,a):n(t)};function a(n){return n===o?(e.enter(l),e.consume(n),e.exit(l),e.exit(r),t):(e.enter(i),u(n))}function u(t){return t===o?(e.exit(i),a(o)):null===t?n(t):e8(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),function(e,t,n,r){let l=Number.POSITIVE_INFINITY,i=0;return function(r){return e9(r)?(e.enter(n),function r(o){return e9(o)&&i++-1&&e.test(String.fromCharCode(t))}}function tr(e,t){let n;return function r(l){return null!==l&&l<-2?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),n=!0,r):tt(l)?(function(e,t,n,r){let l=Number.POSITIVE_INFINITY,i=0;return function(r){return tt(r)?(e.enter(n),function r(o){return tt(o)&&i++=4?function t(n){return null===n?i(n):eN(n)?e.attempt(ta,t,i)(n):(e.enter("codeFlowValue"),function n(r){return null===r||eN(r)?(e.exit("codeFlowValue"),t(r)):(e.consume(r),n)}(n))}(t):n(t)}function i(n){return e.exit("codeIndented"),t(n)}}},ta={partial:!0,tokenize:function(e,t,n){let r=this;return l;function l(t){return r.parser.lazy[r.now().line]?n(t):eN(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l):ej(e,i,"linePrefix",5)(t)}function i(e){let i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):eN(e)?l(e):n(e)}}},tu={name:"setextUnderline",resolveTo:function(e,t){let n,r,l,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(r=i)}else"content"===e[i][1].type&&e.splice(i,1),l||"definition"!==e[i][1].type||(l=i);let o={type:"setextHeading",start:{...e[n][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",l?(e.splice(r,0,["enter",o,t]),e.splice(l+1,0,["exit",e[n][1],t]),e[n][1].end={...e[l][1].end}):e[n][1]=o,e.push(["exit",o,t]),e},tokenize:function(e,t,n){let r;let l=this;return function(t){let o,a=l.events.length;for(;a--;)if("lineEnding"!==l.events[a][1].type&&"linePrefix"!==l.events[a][1].type&&"content"!==l.events[a][1].type){o="paragraph"===l.events[a][1].type;break}return!l.parser.lazy[l.now().line]&&(l.interrupt||o)?(e.enter("setextHeadingLine"),r=t,e.enter("setextHeadingLineSequence"),function t(n){return n===r?(e.consume(n),t):(e.exit("setextHeadingLineSequence"),eR(n)?ej(e,i,"lineSuffix")(n):i(n))}(t)):n(t)};function i(r){return null===r||eN(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}}},ts=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],tc=["pre","script","style","textarea"],tf={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(eB,t,n)}}},tp={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return eN(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l):n(t)};function l(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},td={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return null===t?n(t):(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l)};function l(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},th={concrete:!0,name:"codeFenced",tokenize:function(e,t,n){let r;let l=this,i={partial:!0,tokenize:function(e,t,n){let i=0;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(t){return e.enter("codeFencedFence"),eR(t)?ej(e,u,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):u(t)}function u(t){return t===r?(e.enter("codeFencedFenceSequence"),function t(l){return l===r?(i++,e.consume(l),t):i>=a?(e.exit("codeFencedFenceSequence"),eR(l)?ej(e,s,"whitespace")(l):s(l)):n(l)}(t)):n(t)}function s(r){return null===r||eN(r)?(e.exit("codeFencedFence"),t(r)):n(r)}}},o=0,a=0;return function(t){return function(t){let i=l.events[l.events.length-1];return o=i&&"linePrefix"===i[1].type?i[2].sliceSerialize(i[1],!0).length:0,r=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),function t(l){return l===r?(a++,e.consume(l),t):a<3?n(l):(e.exit("codeFencedFenceSequence"),eR(l)?ej(e,u,"whitespace")(l):u(l))}(t)}(t)};function u(i){return null===i||eN(i)?(e.exit("codeFencedFence"),l.interrupt?t(i):e.check(td,c,h)(i)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),function t(l){return null===l||eN(l)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),u(l)):eR(l)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ej(e,s,"whitespace")(l)):96===l&&l===r?n(l):(e.consume(l),t)}(i))}function s(t){return null===t||eN(t)?u(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),function t(l){return null===l||eN(l)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),u(l)):96===l&&l===r?n(l):(e.consume(l),t)}(t))}function c(t){return e.attempt(i,h,f)(t)}function f(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),p}function p(t){return o>0&&eR(t)?ej(e,d,"linePrefix",o+1)(t):d(t)}function d(t){return null===t||eN(t)?e.check(td,c,h)(t):(e.enter("codeFlowValue"),function t(n){return null===n||eN(n)?(e.exit("codeFlowValue"),d(n)):(e.consume(n),t)}(t))}function h(n){return e.exit("codeFenced"),t(n)}}},tm=document.createElement("i");function tg(e){let t="&"+e+";";tm.innerHTML=t;let n=tm.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&n!==t&&n}let ty={name:"characterReference",tokenize:function(e,t,n){let r,l;let i=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),a};function a(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),r=31,l=ez,s(t))}function u(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,l=eL,s):(e.enter("characterReferenceValue"),r=7,l=eM,s(t))}function s(a){if(59===a&&o){let r=e.exit("characterReferenceValue");return l!==ez||tg(i.sliceSerialize(r))?(e.enter("characterReferenceMarker"),e.consume(a),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(a)}return l(a)&&o++-1&&e.test(String.fromCharCode(t))}}function tA(e){return null===e||null!==e&&(e<0||32===e)||tT(e)?1:tI(e)?2:void 0}let tz={name:"attention",resolveAll:function(e,t){let n,r,l,i,o,a,u,s,c=-1;for(;++c1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;let f={...e[n][1].end},p={...e[c][1].start};tO(f,-a),tO(p,a),i={type:a>1?"strongSequence":"emphasisSequence",start:f,end:{...e[n][1].end}},o={type:a>1?"strongSequence":"emphasisSequence",start:{...e[c][1].start},end:p},l={type:a>1?"strongText":"emphasisText",start:{...e[n][1].end},end:{...e[c][1].start}},r={type:a>1?"strong":"emphasis",start:{...i.start},end:{...o.end}},e[n][1].end={...i.start},e[c][1].start={...o.end},u=[],e[n][1].end.offset-e[n][1].start.offset&&(u=ey(u,[["enter",e[n][1],t],["exit",e[n][1],t]])),u=ey(u,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",l,t]]),u=ey(u,tk(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),u=ey(u,[["exit",l,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(s=2,u=ey(u,[["enter",e[c][1],t],["exit",e[c][1],t]])):s=0,eg(e,n-1,c-n+3,u),c=n+u.length-s-2;break}}for(c=-1;++ci&&"whitespace"===e[l][1].type&&(l-=2),"atxHeadingSequence"===e[l][1].type&&(i===l-1||l-4>i&&"whitespace"===e[l-2][1].type)&&(l-=i+1===l?2:4),l>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[l][1].end},r={type:"chunkText",start:e[i][1].start,end:e[l][1].end,contentType:"text"},eg(e,i,l-i+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(l){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),function l(i){return 35===i&&r++<6?(e.consume(i),l):null===i||eF(i)?(e.exit("atxHeadingSequence"),function n(r){return 35===r?(e.enter("atxHeadingSequence"),function t(r){return 35===r?(e.consume(r),t):(e.exit("atxHeadingSequence"),n(r))}(r)):null===r||eN(r)?(e.exit("atxHeading"),t(r)):eR(r)?ej(e,n,"whitespace")(r):(e.enter("atxHeadingText"),function t(r){return null===r||35===r||eF(r)?(e.exit("atxHeadingText"),n(r)):(e.consume(r),t)}(r))}(i)):n(i)}(l)}}},42:e$,45:[tu,e$],60:{concrete:!0,name:"htmlFlow",resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){let r,l,i,o,a;let u=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),s};function s(o){return 33===o?(e.consume(o),c):47===o?(e.consume(o),l=!0,d):63===o?(e.consume(o),r=3,u.interrupt?t:M):eA(o)?(e.consume(o),i=String.fromCharCode(o),h):n(o)}function c(l){return 45===l?(e.consume(l),r=2,f):91===l?(e.consume(l),r=5,o=0,p):eA(l)?(e.consume(l),r=4,u.interrupt?t:M):n(l)}function f(r){return 45===r?(e.consume(r),u.interrupt?t:M):n(r)}function p(r){let l="CDATA[";return r===l.charCodeAt(o++)?(e.consume(r),o===l.length)?u.interrupt?t:C:p:n(r)}function d(t){return eA(t)?(e.consume(t),i=String.fromCharCode(t),h):n(t)}function h(o){if(null===o||47===o||62===o||eF(o)){let a=47===o,s=i.toLowerCase();return!a&&!l&&tc.includes(s)?(r=1,u.interrupt?t(o):C(o)):ts.includes(i.toLowerCase())?(r=6,a)?(e.consume(o),m):u.interrupt?t(o):C(o):(r=7,u.interrupt&&!u.parser.lazy[u.now().line]?n(o):l?function t(n){return eR(n)?(e.consume(n),t):w(n)}(o):g(o))}return 45===o||ez(o)?(e.consume(o),i+=String.fromCharCode(o),h):n(o)}function m(r){return 62===r?(e.consume(r),u.interrupt?t:C):n(r)}function g(t){return 47===t?(e.consume(t),w):58===t||95===t||eA(t)?(e.consume(t),y):eR(t)?(e.consume(t),g):w(t)}function y(t){return 45===t||46===t||58===t||95===t||ez(t)?(e.consume(t),y):v(t)}function v(t){return 61===t?(e.consume(t),x):eR(t)?(e.consume(t),v):g(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),a=t,k):eR(t)?(e.consume(t),x):function t(n){return null===n||34===n||39===n||47===n||60===n||61===n||62===n||96===n||eF(n)?v(n):(e.consume(n),t)}(t)}function k(t){return t===a?(e.consume(t),a=null,b):null===t||eN(t)?n(t):(e.consume(t),k)}function b(e){return 47===e||62===e||eR(e)?g(e):n(e)}function w(t){return 62===t?(e.consume(t),S):n(t)}function S(t){return null===t||eN(t)?C(t):eR(t)?(e.consume(t),S):n(t)}function C(t){return 45===t&&2===r?(e.consume(t),P):60===t&&1===r?(e.consume(t),A):62===t&&4===r?(e.consume(t),L):63===t&&3===r?(e.consume(t),M):93===t&&5===r?(e.consume(t),O):eN(t)&&(6===r||7===r)?(e.exit("htmlFlowData"),e.check(tf,D,E)(t)):null===t||eN(t)?(e.exit("htmlFlowData"),E(t)):(e.consume(t),C)}function E(t){return e.check(tp,I,D)(t)}function I(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),T}function T(t){return null===t||eN(t)?E(t):(e.enter("htmlFlowData"),C(t))}function P(t){return 45===t?(e.consume(t),M):C(t)}function A(t){return 47===t?(e.consume(t),i="",z):C(t)}function z(t){if(62===t){let n=i.toLowerCase();return tc.includes(n)?(e.consume(t),L):C(t)}return eA(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),z):C(t)}function O(t){return 93===t?(e.consume(t),M):C(t)}function M(t){return 62===t?(e.consume(t),L):45===t&&2===r?(e.consume(t),M):C(t)}function L(t){return null===t||eN(t)?(e.exit("htmlFlowData"),D(t)):(e.consume(t),L)}function D(n){return e.exit("htmlFlow"),t(n)}}},61:tu,95:e$,96:th,126:th},tR={38:ty,92:tv},t_={[-5]:tx,[-4]:tx,[-3]:tx,33:tE,38:ty,42:tz,60:[{name:"autolink",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l};function l(t){return eA(t)?(e.consume(t),i):64===t?n(t):a(t)}function i(t){return 43===t||45===t||46===t||ez(t)?(r=1,function t(n){return 58===n?(e.consume(n),r=0,o):(43===n||45===n||46===n||ez(n))&&r++<32?(e.consume(n),t):(r=0,a(n))}(t)):a(t)}function o(r){return 62===r?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),t):null===r||32===r||60===r||null!==r&&(r<32||127===r)?n(r):(e.consume(r),o)}function a(t){return 64===t?(e.consume(t),u):eO(t)?(e.consume(t),a):n(t)}function u(l){return ez(l)?function l(i){return 46===i?(e.consume(i),r=0,u):62===i?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(i),e.exit("autolinkMarker"),e.exit("autolink"),t):function t(i){if((45===i||ez(i))&&r++<63){let n=45===i?t:l;return e.consume(i),n}return n(i)}(i)}(l):n(l)}}},{name:"htmlText",tokenize:function(e,t,n){let r,l,i;let o=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),a};function a(t){return 33===t?(e.consume(t),u):47===t?(e.consume(t),k):63===t?(e.consume(t),v):eA(t)?(e.consume(t),w):n(t)}function u(t){return 45===t?(e.consume(t),s):91===t?(e.consume(t),l=0,d):eA(t)?(e.consume(t),y):n(t)}function s(t){return 45===t?(e.consume(t),p):n(t)}function c(t){return null===t?n(t):45===t?(e.consume(t),f):eN(t)?(i=c,z(t)):(e.consume(t),c)}function f(t){return 45===t?(e.consume(t),p):c(t)}function p(e){return 62===e?A(e):45===e?f(e):c(e)}function d(t){let r="CDATA[";return t===r.charCodeAt(l++)?(e.consume(t),l===r.length?h:d):n(t)}function h(t){return null===t?n(t):93===t?(e.consume(t),m):eN(t)?(i=h,z(t)):(e.consume(t),h)}function m(t){return 93===t?(e.consume(t),g):h(t)}function g(t){return 62===t?A(t):93===t?(e.consume(t),g):h(t)}function y(t){return null===t||62===t?A(t):eN(t)?(i=y,z(t)):(e.consume(t),y)}function v(t){return null===t?n(t):63===t?(e.consume(t),x):eN(t)?(i=v,z(t)):(e.consume(t),v)}function x(e){return 62===e?A(e):v(e)}function k(t){return eA(t)?(e.consume(t),b):n(t)}function b(t){return 45===t||ez(t)?(e.consume(t),b):function t(n){return eN(n)?(i=t,z(n)):eR(n)?(e.consume(n),t):A(n)}(t)}function w(t){return 45===t||ez(t)?(e.consume(t),w):47===t||62===t||eF(t)?S(t):n(t)}function S(t){return 47===t?(e.consume(t),A):58===t||95===t||eA(t)?(e.consume(t),C):eN(t)?(i=S,z(t)):eR(t)?(e.consume(t),S):A(t)}function C(t){return 45===t||46===t||58===t||95===t||ez(t)?(e.consume(t),C):function t(n){return 61===n?(e.consume(n),E):eN(n)?(i=t,z(n)):eR(n)?(e.consume(n),t):S(n)}(t)}function E(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,I):eN(t)?(i=E,z(t)):eR(t)?(e.consume(t),E):(e.consume(t),T)}function I(t){return t===r?(e.consume(t),r=void 0,P):null===t?n(t):eN(t)?(i=I,z(t)):(e.consume(t),I)}function T(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||eF(t)?S(t):(e.consume(t),T)}function P(e){return 47===e||62===e||eF(e)?S(e):n(e)}function A(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}function z(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O}function O(t){return eR(t)?ej(e,M,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):M(t)}function M(t){return e.enter("htmlTextData"),i(t)}}}],91:tM,92:[{name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.consume(t),r};function r(r){return eN(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}},tv],93:tb,95:tz,96:{name:"codeText",previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,l=3;if(("lineEnding"===e[3][1].type||"space"===e[l][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type)){for(t=l;++t13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(65535&n)==65535||(65535&n)==65534||n>1114111?"�":String.fromCodePoint(n)}let tU=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function tq(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){let e=n.charCodeAt(1),t=120===e||88===e;return tZ(n.slice(t?2:1),t?16:10)}return tg(n)||e}let tW={}.hasOwnProperty;function tY(e){return{line:e.line,column:e.column,offset:e.offset}}function tK(e,t){if(e)throw Error("Cannot close `"+e.type+"` ("+Y({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Y({start:t.start,end:t.end})+") is open");throw Error("Cannot close document, a token (`"+t.type+"`, "+Y({start:t.start,end:t.end})+") is still open")}function tQ(e){let t=this;t.parser=function(n){var r,i;let o,a,u,s;return"string"!=typeof(r={...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})&&(i=r,r=void 0),(function(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:r(y),autolinkProtocol:s,autolinkEmail:s,atxHeading:r(h),blockQuote:r(function(){return{type:"blockquote",children:[]}}),characterEscape:s,characterReference:s,codeFenced:r(d),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:r(d,l),codeText:r(function(){return{type:"inlineCode",value:""}},l),codeTextData:s,data:s,codeFlowValue:s,definition:r(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:r(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:r(m),hardBreakTrailing:r(m),htmlFlow:r(g,l),htmlFlowData:s,htmlText:r(g,l),htmlTextData:s,image:r(function(){return{type:"image",title:null,url:"",alt:null}}),label:l,link:r(y),listItem:r(function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}),listItemValue:function(e){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:r(v,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:r(v),paragraph:r(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:r(h),strong:r(function(){return{type:"strong",children:[]}}),thematicBreak:r(function(){return{type:"thematicBreak"}})},exit:{atxHeading:o(),atxHeadingSequence:function(e){let t=this.stack[this.stack.length-1];if(!t.depth){let n=this.sliceSerialize(e).length;t.depth=n}},autolink:o(),autolinkEmail:function(e){c.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){c.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:o(),characterEscapeValue:c,characterReferenceMarkerHexadecimal:p,characterReferenceMarkerNumeric:p,characterReferenceValue:function(e){let t;let n=this.sliceSerialize(e),r=this.data.characterReferenceType;r?(t=tZ(n,"characterReferenceMarkerNumeric"===r?10:16),this.data.characterReferenceType=void 0):t=tg(n);let l=this.stack[this.stack.length-1];l.value+=t},characterReference:function(e){this.stack.pop().position.end=tY(e.end)},codeFenced:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){let e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:c,codeIndented:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}),codeText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),codeTextData:c,data:c,definition:o(),definitionDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=tl(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:o(),hardBreakEscape:o(f),hardBreakTrailing:o(f),htmlFlow:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlFlowData:c,htmlText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlTextData:c,image:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),label:function(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,"link"===n.type){let t=e.children;n.children=t}else n.alt=t},labelText:function(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=t.replace(tU,tq),n.identifier=tl(t).toLowerCase()},lineEnding:function(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){n.children[n.children.length-1].position.end=tY(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(s.call(this,e),c.call(this,e))},link:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),listItem:o(),listOrdered:o(),listUnordered:o(),paragraph:o(),referenceString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=tl(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){this.data.inReference=void 0},setextHeading:o(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:o(),thematicBreak:o()}};(function e(t,n){let r=-1;for(;++r0){let e=o.tokenStack[o.tokenStack.length-1];(e[1]||tK).call(o,void 0,e[0])}for(r.position={start:tY(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:tY(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},c=-1;++c-1){let e=n[0];"string"==typeof e?n[0]=e.slice(l):n.shift()}o>0&&n.push(e[i].slice(0,o))}return n}(o,e)}function p(){let{_bufferIndex:e,_index:t,line:n,column:l,offset:i}=r;return{_bufferIndex:e,_index:t,line:n,column:l,offset:i}}function d(e,t){t.restore()}function h(e,t){return function(n,l,i){let o,c,f,d;return Array.isArray(n)?h(n):"tokenize"in n?h([n]):function(e){let t=null!==e&&n[e],r=null!==e&&n.null;return h([...Array.isArray(t)?t:t?[t]:[],...Array.isArray(r)?r:r?[r]:[]])(e)};function h(e){return(o=e,c=0,0===e.length)?i:m(e[c])}function m(e){return function(n){return(d=function(){let e=p(),t=s.previous,n=s.currentConstruct,l=s.events.length,i=Array.from(a);return{from:l,restore:function(){r=e,s.previous=t,s.currentConstruct=n,s.events.length=l,a=i,g()}}}(),f=e,e.partial||(s.currentConstruct=e),e.name&&s.parser.constructs.disable.null.includes(e.name))?v(n):e.tokenize.call(t?Object.assign(Object.create(s),t):s,u,y,v)(n)}}function y(t){return e(f,d),l}function v(e){return(d.restore(),++c{let n=(t,n)=>(e.set(n,t),t),r=l=>{if(e.has(l))return e.get(l);let[i,o]=t[l];switch(i){case 0:case -1:return n(o,l);case 1:{let e=n([],l);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},l);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),l);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),l)}case 5:{let e=n(new Map,l);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,l);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(new t$[e](t),l)}case 8:return n(BigInt(o),l);case"BigInt":return n(Object(BigInt(o)),l);case"ArrayBuffer":return n(new Uint8Array(o).buffer,o);case"DataView":{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new t$[i](o),l)};return r},tJ=e=>tX(new Map,e)(0),{toString:tG}={},{keys:t1}=Object,t0=e=>{let t=typeof e;if("object"!==t||!e)return[0,t];let n=tG.call(e).slice(8,-1);switch(n){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,n]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},t2=([e,t])=>0===e&&("function"===t||"symbol"===t),t4=(e,t,n,r)=>{let l=(e,t)=>{let l=r.push(e)-1;return n.set(t,l),l},i=r=>{if(n.has(r))return n.get(r);let[o,a]=t0(r);switch(o){case 0:{let t=r;switch(a){case"bigint":o=8,t=r.toString();break;case"function":case"symbol":if(e)throw TypeError("unable to serialize "+a);t=null;break;case"undefined":return l([-1],r)}return l([o,t],r)}case 1:{if(a){let e=r;return"DataView"===a?e=new Uint8Array(r.buffer):"ArrayBuffer"===a&&(e=new Uint8Array(r)),l([a,[...e]],r)}let e=[],t=l([o,e],r);for(let t of r)e.push(i(t));return t}case 2:{if(a)switch(a){case"BigInt":return l([a,r.toString()],r);case"Boolean":case"Number":case"String":return l([a,r.valueOf()],r)}if(t&&"toJSON"in r)return i(r.toJSON());let n=[],u=l([o,n],r);for(let t of t1(r))(e||!t2(t0(r[t])))&&n.push([i(t),i(r[t])]);return u}case 3:return l([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return l([o,{source:e,flags:t}],r)}case 5:{let t=[],n=l([o,t],r);for(let[n,l]of r)(e||!(t2(t0(n))||t2(t0(l))))&&t.push([i(n),i(l)]);return n}case 6:{let t=[],n=l([o,t],r);for(let n of r)(e||!t2(t0(n)))&&t.push(i(n));return n}}let{message:u}=r;return l([o,{name:a,message:u}],r)};return i},t6=(e,{json:t,lossy:n}={})=>{let r=[];return t4(!(t||n),!!t,new Map,r)(e),r};var t3="function"==typeof structuredClone?(e,t)=>t&&("json"in t||"lossy"in t)?tJ(t6(e,t)):structuredClone(e):(e,t)=>tJ(t6(e,t));t8(/[A-Za-z]/);let t5=t8(/[\dA-Za-z]/);function t8(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function t9(e){let t=[],n=-1,r=0,l=0;for(;++n55295&&i<57344){let t=e.charCodeAt(n+1);i<56320&&t>56319&&t<57344?(o=String.fromCharCode(i,t),l=1):o="�"}else o=String.fromCharCode(i);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+l+1,o=""),l&&(n+=l,l=0)}return t.join("")+e.slice(r)}function t7(e,t){let n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function ne(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}t8(/[#-'*+\--9=?A-Z^-~]/),t8(/\d/),t8(/[\dA-Fa-f]/),t8(/[!-/:-@[-`{-~]/),t8(/\p{P}|\p{S}/u),t8(/\s/);let nt=function(e){if(null==e)return nr;if("function"==typeof e)return nn(e);if("object"==typeof e)return Array.isArray(e)?function(e){let t=[],n=-1;for(;++n":"")+")"})}return c;function c(){var s;let c,f,p,d=nl;if((!t||i(l,a,u[u.length-1]||void 0))&&!1===(d=Array.isArray(s=n(l,u))?s:"number"==typeof s?[!0,s]:null==s?nl:[s])[0])return d;if("children"in l&&l.children&&l.children&&"skip"!==d[0])for(f=(r?l.children.length:-1)+o,p=u.concat(l);f>-1&&f1:t}function nu(e,t,n){let r=0,l=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(l-1);for(;9===t||32===t;)l--,t=e.codePointAt(l-1)}return l>r?e.slice(r,l):""}let ns={blockquote:function(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){let n=t.value?t.value+"\n":"",r={},l=t.lang?t.lang.split(/\s+/):[];l.length>0&&(r.className=["language-"+l[0]]);let i={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(i.data={meta:t.meta}),e.patch(t,i),i={type:"element",tagName:"pre",properties:{},children:[i=e.applyData(t,i)]},e.patch(t,i),i},delete:function(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){let n;let r="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",l=String(t.identifier).toUpperCase(),i=t9(l.toLowerCase()),o=e.footnoteOrder.indexOf(l),a=e.footnoteCounts.get(l);void 0===a?(a=0,e.footnoteOrder.push(l),n=e.footnoteOrder.length):n=o+1,a+=1,e.footnoteCounts.set(l,a);let u={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+i,id:r+"fnref-"+i+(a>1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(n)}]};e.patch(t,u);let s={type:"element",tagName:"sup",properties:{},children:[u]};return e.patch(t,s),e.applyData(t,s)},heading:function(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return no(e,t);let l={src:t9(r.url||""),alt:t.alt};null!==r.title&&void 0!==r.title&&(l.title=r.title);let i={type:"element",tagName:"img",properties:l,children:[]};return e.patch(t,i),e.applyData(t,i)},image:function(e,t){let n={src:t9(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){let n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return no(e,t);let l={href:t9(r.url||"")};null!==r.title&&void 0!==r.title&&(l.title=r.title);let i={type:"element",tagName:"a",properties:l,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)},link:function(e,t){let n={href:t9(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){let r=e.all(t),l=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r0&&e.children.unshift({type:"text",value:" "}),e.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let a=-1;for(;++a0){let r={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},i=q(t.children[1]),o=U(t.children[t.children.length-1]);i&&o&&(r.position={start:i,end:o}),l.push(r)}let i={type:"element",tagName:"table",properties:{},children:e.wrap(l,!0)};return e.patch(t,i),e.applyData(t,i)},tableCell:function(e,t){let n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){let r=n?n.children:void 0,l=0===(r?r.indexOf(t):1)?"th":"td",i=n&&"table"===n.type?n.align:void 0,o=i?i.length:t.children.length,a=-1,u=[];for(;++a0,!0),r[0]),l=r.index+r[0].length,r=n.exec(t);return i.push(nu(t.slice(l),l>0,!1)),i.join("")}(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:nc,yaml:nc,definition:nc,footnoteDefinition:nc};function nc(){}let nf={}.hasOwnProperty,np={};function nd(e,t){e.position&&(t.position=function(e){let t=q(e),n=U(e);if(t&&n)return{start:t,end:n}}(e))}function nh(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,l=e.data.hProperties;"string"==typeof t&&("element"===n.type?n.tagName=t:n={type:"element",tagName:t,properties:{},children:"children"in n?n.children:[n]}),"element"===n.type&&l&&Object.assign(n.properties,t3(l)),"children"in n&&n.children&&null!=r&&(n.children=r)}return n}function nm(e,t){let n=[],r=-1;for(t&&n.push({type:"text",value:"\n"});++r0&&n.push({type:"text",value:"\n"}),n}function ng(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function ny(e,t){let n=function(e,t){let n=t||np,r=new Map,l=new Map,i={all:function(e){let t=[];if("children"in e){let n=e.children,r=-1;for(;++r0&&f.push({type:"text",value:" "});let e="string"==typeof n?n:n(u,c);"string"==typeof e&&(e={type:"text",value:e}),f.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+s+(c>1?"-"+c:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof r?r:r(u,c),className:["data-footnote-backref"]},children:Array.isArray(e)?e:[e]})}let d=i[i.length-1];if(d&&"element"===d.type&&"p"===d.tagName){let e=d.children[d.children.length-1];e&&"text"===e.type?e.value+=" ":d.children.push({type:"text",value:" "}),d.children.push(...f)}else i.push(...f);let h={type:"element",tagName:"li",properties:{id:t+"fn-"+s},children:e.wrap(i,!0)};e.patch(l,h),a.push(h)}if(0!==a.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...t3(o),id:"footnote-label"},children:[{type:"text",value:l}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(a,!0)},{type:"text",value:"\n"}]}}(n),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return l&&i.children.push({type:"text",value:"\n"},l),i}function nv(e,t){return e&&"run"in e?async function(n,r){let l=ny(n,{file:r,...t});await e.run(l,r)}:function(n,r){return ny(n,{file:r,...e||t})}}function nx(e){if(e)throw e}var nk=n(6500);function nb(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}let nw={basename:function(e,t){let n;if(void 0!==t&&"string"!=typeof t)throw TypeError('"ext" argument must be a string');nS(e);let r=0,l=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.codePointAt(i)){if(n){r=i+1;break}}else l<0&&(n=!0,l=i+1);return l<0?"":e.slice(r,l)}if(t===e)return"";let o=-1,a=t.length-1;for(;i--;)if(47===e.codePointAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1),a>-1&&(e.codePointAt(i)===t.codePointAt(a--)?a<0&&(l=i):(a=-1,l=o));return r===l?l=o:l<0&&(l=e.length),e.slice(r,l)},dirname:function(e){let t;if(nS(e),0===e.length)return".";let n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?"/":".":1===n&&47===e.codePointAt(0)?"//":e.slice(0,n)},extname:function(e){let t;nS(e);let n=e.length,r=-1,l=0,i=-1,o=0;for(;n--;){let a=e.codePointAt(n);if(47===a){if(t){l=n+1;break}continue}r<0&&(t=!0,r=n+1),46===a?i<0?i=n:1!==o&&(o=1):i>-1&&(o=-1)}return i<0||r<0||0===o||1===o&&i===r-1&&i===l+1?"":e.slice(i,r)},join:function(...e){let t,n=-1;for(;++n2){if((r=l.lastIndexOf("/"))!==l.length-1){r<0?(l="",i=0):i=(l=l.slice(0,r)).length-1-l.lastIndexOf("/"),o=u,a=0;continue}}else if(l.length>0){l="",i=0,o=u,a=0;continue}}t&&(l=l.length>0?l+"/..":"..",i=2)}else l.length>0?l+="/"+e.slice(o+1,u):l=e.slice(o+1,u),i=u-o-1;o=u,a=0}else 46===n&&a>-1?a++:a=-1}return l}(e,!t);return 0!==n.length||t||(n="."),n.length>0&&47===e.codePointAt(e.length-1)&&(n+="/"),t?"/"+n:n}(t)},sep:"/"};function nS(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}let nC={cwd:function(){return"/"}};function nE(e){return!!(null!==e&&"object"==typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth)}let nI=["history","path","basename","stem","extname","dirname"];class nT{constructor(e){let t,n;t=e?nE(e)?{path:e}:"string"==typeof e||e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e?{value:e}:e:{},this.cwd="cwd"in t?"":nC.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++rt.length;o&&t.push(r);try{i=e.apply(this,t)}catch(e){if(o&&n)throw e;return r(e)}o||(i&&i.then&&"function"==typeof i.then?i.then(l,r):i instanceof Error?r(i):l(i))};function r(e,...l){n||(n=!0,t(e,...l))}function l(e){r(null,e)}})(a,l)(...o):r(null,...o)})(null,...t)},use:function(n){if("function"!=typeof n)throw TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}()}copy(){let e=new nL,t=-1;for(;++t0){let[r,...i]=t,o=n[l][1];nb(o)&&nb(r)&&(r=nk(!0,o,r)),n[l]=[e,r,...i]}}}}let nD=new nL().freeze();function nN(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `parser`")}function nF(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `compiler`")}function nR(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function n_(e){if(!nb(e)||"string"!=typeof e.type)throw TypeError("Expected node, got `"+e+"`")}function nj(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function nB(e){return e&&"object"==typeof e&&"message"in e&&"messages"in e?e:new nT(e)}let nH=[],nV={allowDangerousHtml:!0},nZ=/^(https?|ircs?|mailto|xmpp)$/i,nU=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function nq(e){let t=function(e){let t=e.rehypePlugins||nH,n=e.remarkPlugins||nH,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...nV}:nV;return nD().use(tQ).use(n).use(nv,r).use(t)}(e),n=function(e){let t=e.children||"",n=new nT;return"string"==typeof t&&(n.value=t),n}(e);return function(e,t){let n=t.allowedElements,r=t.allowElement,l=t.components,i=t.disallowedElements,o=t.skipHtml,a=t.unwrapDisallowed,u=t.urlTransform||nW;for(let e of nU)Object.hasOwn(t,e.from)&&(e.from,e.to&&e.to,e.id);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:"root"===e.type?e.children:[e]}),ni(e,function(e,t,l){if("raw"===e.type&&l&&"number"==typeof t)return o?l.children.splice(t,1):l.children[t]={type:"text",value:e.value},t;if("element"===e.type){let t;for(t in ef)if(Object.hasOwn(ef,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=ef[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=u(String(n||""),t,e))}}if("element"===e.type){let o=n?!n.includes(e.tagName):!!i&&i.includes(e.tagName);if(!o&&r&&"number"==typeof t&&(o=!r(e,t,l)),o&&l&&"number"==typeof t)return a&&e.children?l.children.splice(t,1,...e.children):l.children.splice(t,1),t}}),function(e,t){var n,r,l;let i;if(!t||void 0===t.Fragment)throw TypeError("Expected `Fragment` in options");let o=t.filePath||void 0;if(t.development){if("function"!=typeof t.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");n=t.jsxDEV,i=function(e,t,r,l){let i=Array.isArray(r.children),a=q(e);return n(t,r,l,i,{columnNumber:a?a.column-1:void 0,fileName:o,lineNumber:a?a.line:void 0},void 0)}}else{if("function"!=typeof t.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw TypeError("Expected `jsxs` in production options");r=t.jsx,l=t.jsxs,i=function(e,t,n,i){let o=Array.isArray(n.children)?l:r;return i?o(t,n,i):o(t,n)}}let a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?F:N,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},u=el(a,e,void 0);return u&&"string"!=typeof u?u:a.create(e,a.Fragment,{children:u||void 0},void 0)}(e,{Fragment:ep.Fragment,components:l,ignoreInvalidStyle:!0,jsx:ep.jsx,jsxs:ep.jsxs,passKeys:!0,passNode:!0})}(t.runSync(t.parse(n),n),e)}function nW(e){let t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),l=e.indexOf("/");return -1===t||-1!==l&&t>l||-1!==n&&t>n||-1!==r&&t>r||nZ.test(e.slice(0,t))?e:""}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/5068-92d90e3d57541444.js b/litellm/proxy/_experimental/out/_next/static/chunks/5068-92d90e3d57541444.js new file mode 100644 index 0000000000..6f6992dc7f --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/5068-92d90e3d57541444.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5068],{26210:function(e,s,l){l.d(s,{UQ:function(){return t.Z},X1:function(){return i.Z},_m:function(){return a.Z},oi:function(){return n.Z},xv:function(){return r.Z}});var t=l(87452),i=l(88829),a=l(72208),r=l(84264),n=l(49566)},30078:function(e,s,l){l.d(s,{Ct:function(){return t.Z},Dx:function(){return x.Z},OK:function(){return n.Z},Zb:function(){return a.Z},nP:function(){return c.Z},oi:function(){return h.Z},rj:function(){return r.Z},td:function(){return o.Z},v0:function(){return m.Z},x4:function(){return d.Z},xv:function(){return u.Z},zx:function(){return i.Z}});var t=l(41649),i=l(78489),a=l(12514),r=l(67101),n=l(12485),m=l(18135),o=l(35242),d=l(29706),c=l(77991),u=l(84264),h=l(49566),x=l(96761)},62490:function(e,s,l){l.d(s,{Ct:function(){return t.Z},RM:function(){return n.Z},SC:function(){return c.Z},Zb:function(){return a.Z},iA:function(){return r.Z},pj:function(){return m.Z},ss:function(){return o.Z},xs:function(){return d.Z},xv:function(){return u.Z},zx:function(){return i.Z}});var t=l(41649),i=l(78489),a=l(12514),r=l(21626),n=l(97214),m=l(28241),o=l(58834),d=l(69552),c=l(71876),u=l(84264)},21609:function(e,s,l){l.d(s,{Z:function(){return d}});var t=l(57437),i=l(57840),a=l(22116),r=l(51653),n=l(76188),m=l(4260),o=l(2265);function d(e){let{isOpen:s,title:l,alertMessage:d,message:c,resourceInformationTitle:u,resourceInformation:h,onCancel:x,onOk:g,confirmLoading:p,requiredConfirmation:_}=e,{Title:b,Text:v}=i.default,[j,f]=(0,o.useState)("");return(0,o.useEffect)(()=>{s&&f("")},[s]),(0,t.jsx)(a.Z,{title:l,open:s,onOk:g,onCancel:x,confirmLoading:p,okText:p?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!_&&j!==_||p},cancelButtonProps:{disabled:p},children:(0,t.jsxs)("div",{className:"space-y-4",children:[d&&(0,t.jsx)(r.Z,{message:d,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(b,{level:5,className:"mb-3 text-gray-900",children:u}),(0,t.jsx)(n.Z,{column:1,size:"small",children:h&&h.map(e=>{let{label:s,value:l,...i}=e;return(0,t.jsx)(n.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:s}),children:(0,t.jsx)(v,{...i,children:null!=l?l:"-"})},s)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(v,{children:c})}),_&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(v,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(v,{children:"Type "}),(0,t.jsx)(v,{strong:!0,type:"danger",children:_}),(0,t.jsx)(v,{children:" to confirm deletion:"})]}),(0,t.jsx)(m.default,{value:j,onChange:e=>f(e.target.value),placeholder:_,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},33860:function(e,s,l){var t=l(57437),i=l(2265),a=l(10032),r=l(22116),n=l(37592),m=l(99981),o=l(5545),d=l(7310),c=l.n(d),u=l(19250);s.Z=e=>{let{isVisible:s,onCancel:l,onSubmit:d,accessToken:h,title:x="Add Team Member",roles:g=[{label:"admin",value:"admin",description:"Admin role. Can create team keys, add members, and manage settings."},{label:"user",value:"user",description:"User role. Can view team info, but not manage it."}],defaultRole:p="user"}=e,[_]=a.Z.useForm(),[b,v]=(0,i.useState)([]),[j,f]=(0,i.useState)(!1),[y,Z]=(0,i.useState)("user_email"),N=async(e,s)=>{if(!e){v([]);return}f(!0);try{let l=new URLSearchParams;if(l.append(s,e),null==h)return;let t=(await (0,u.userFilterUICall)(h,l)).map(e=>({label:"user_email"===s?"".concat(e.user_email):"".concat(e.user_id),value:"user_email"===s?e.user_email:e.user_id,user:e}));v(t)}catch(e){console.error("Error fetching users:",e)}finally{f(!1)}},w=(0,i.useCallback)(c()((e,s)=>N(e,s),300),[]),k=(e,s)=>{Z(s),w(e,s)},S=(e,s)=>{let l=s.user;_.setFieldsValue({user_email:l.user_email,user_id:l.user_id,role:_.getFieldValue("role")})};return(0,t.jsx)(r.Z,{title:x,open:s,onCancel:()=>{_.resetFields(),v([]),l()},footer:null,width:800,children:(0,t.jsxs)(a.Z,{form:_,onFinish:d,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:{role:p},children:[(0,t.jsx)(a.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,t.jsx)(n.default,{showSearch:!0,className:"w-full",placeholder:"Search by email",filterOption:!1,onSearch:e=>k(e,"user_email"),onSelect:(e,s)=>S(e,s),options:"user_email"===y?b:[],loading:j,allowClear:!0})}),(0,t.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,t.jsx)(a.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,t.jsx)(n.default,{showSearch:!0,className:"w-full",placeholder:"Search by user ID",filterOption:!1,onSearch:e=>k(e,"user_id"),onSelect:(e,s)=>S(e,s),options:"user_id"===y?b:[],loading:j,allowClear:!0})}),(0,t.jsx)(a.Z.Item,{label:"Member Role",name:"role",className:"mb-4",children:(0,t.jsx)(n.default,{defaultValue:p,children:g.map(e=>(0,t.jsx)(n.default.Option,{value:e.value,children:(0,t.jsxs)(m.Z,{title:e.description,children:[(0,t.jsx)("span",{className:"font-medium",children:e.label}),(0,t.jsxs)("span",{className:"ml-2 text-gray-500 text-sm",children:["- ",e.description]})]})},e.value))})}),(0,t.jsx)("div",{className:"text-right mt-4",children:(0,t.jsx)(o.ZP,{type:"default",htmlType:"submit",children:"Add Member"})})]})})}},36894:function(e,s,l){var t=l(57437),i=l(56522),a=l(10032),r=l(37592),n=l(22116),m=l(5545),o=l(2265),d=l(24199);s.Z=e=>{var s,l,c;let{visible:u,onCancel:h,onSubmit:x,initialData:g,mode:p,config:_}=e,[b]=a.Z.useForm(),[v,j]=(0,o.useState)(!1);console.log("Initial Data:",g),(0,o.useEffect)(()=>{if(u){if("edit"===p&&g){let e={...g,role:g.role||_.defaultRole,max_budget_in_team:g.max_budget_in_team||null,tpm_limit:g.tpm_limit||null,rpm_limit:g.rpm_limit||null};console.log("Setting form values:",e),b.setFieldsValue(e)}else{var e;b.resetFields(),b.setFieldsValue({role:_.defaultRole||(null===(e=_.roleOptions[0])||void 0===e?void 0:e.value)})}}},[u,g,p,b,_.defaultRole,_.roleOptions]);let f=async e=>{try{j(!0);let s=Object.entries(e).reduce((e,s)=>{let[l,t]=s;if("string"==typeof t){let s=t.trim();return""===s&&("max_budget_in_team"===l||"tpm_limit"===l||"rpm_limit"===l)?{...e,[l]:null}:{...e,[l]:s}}return{...e,[l]:t}},{});console.log("Submitting form data:",s),await Promise.resolve(x(s)),b.resetFields()}catch(e){console.error("Form submission error:",e)}finally{j(!1)}},y=e=>{switch(e.type){case"input":return(0,t.jsx)(i.o,{placeholder:e.placeholder});case"numerical":return(0,t.jsx)(d.Z,{step:e.step||1,min:e.min||0,style:{width:"100%"},placeholder:e.placeholder||"Enter a numerical value"});case"select":var s;return(0,t.jsx)(r.default,{children:null===(s=e.options)||void 0===s?void 0:s.map(e=>(0,t.jsx)(r.default.Option,{value:e.value,children:e.label},e.value))});default:return null}};return(0,t.jsx)(n.Z,{title:_.title||("add"===p?"Add Member":"Edit Member"),open:u,width:1e3,footer:null,onCancel:h,children:(0,t.jsxs)(a.Z,{form:b,onFinish:f,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[_.showEmail&&(0,t.jsx)(a.Z.Item,{label:"Email",name:"user_email",className:"mb-4",rules:[{type:"email",message:"Please enter a valid email!"}],children:(0,t.jsx)(i.o,{placeholder:"user@example.com"})}),_.showEmail&&_.showUserId&&(0,t.jsx)("div",{className:"text-center mb-4",children:(0,t.jsx)(i.x,{children:"OR"})}),_.showUserId&&(0,t.jsx)(a.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,t.jsx)(i.o,{placeholder:"user_123"})}),(0,t.jsx)(a.Z.Item,{label:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{children:"Role"}),"edit"===p&&g&&(0,t.jsxs)("span",{className:"text-gray-500 text-sm",children:["(Current: ",(l=g.role,(null===(c=_.roleOptions.find(e=>e.value===l))||void 0===c?void 0:c.label)||l),")"]})]}),name:"role",className:"mb-4",rules:[{required:!0,message:"Please select a role!"}],children:(0,t.jsx)(r.default,{children:"edit"===p&&g?[..._.roleOptions.filter(e=>e.value===g.role),..._.roleOptions.filter(e=>e.value!==g.role)].map(e=>(0,t.jsx)(r.default.Option,{value:e.value,children:e.label},e.value)):_.roleOptions.map(e=>(0,t.jsx)(r.default.Option,{value:e.value,children:e.label},e.value))})}),null===(s=_.additionalFields)||void 0===s?void 0:s.map(e=>(0,t.jsx)(a.Z.Item,{label:e.label,name:e.name,className:"mb-4",rules:e.rules,children:y(e)},e.name)),(0,t.jsxs)("div",{className:"text-right mt-6",children:[(0,t.jsx)(m.ZP,{onClick:h,className:"mr-2",disabled:v,children:"Cancel"}),(0,t.jsx)(m.ZP,{type:"default",htmlType:"submit",loading:v,children:"add"===p?v?"Adding...":"Add Member":v?"Saving...":"Save Changes"})]})]})})}},33293:function(e,s,l){l.d(s,{Z:function(){return et}});var t=l(57437),i=l(33860),a=l(19250),r=l(59872),n=l(33304),m=l(15424),o=l(10900),d=l(30078),c=l(10032),u=l(42264),h=l(5545),x=l(4260),g=l(37592),p=l(99981),_=l(63709),b=l(30401),v=l(78867),j=l(2265),f=l(82586),y=l(21609),Z=l(95096),N=l(46468),w=l(27799),k=l(95920),S=l(68473),M=l(9114),C=l(60131),T=l(24199),I=l(97415),P=l(21425),O=l(36894),E=l(78489),F=l(12514),L=l(21626),D=l(97214),A=l(28241),R=l(58834),U=l(69552),z=l(71876),V=l(84264),B=l(96761),G=l(61994),q=l(85180),J=l(89245),K=l(78355);let $={"/key/generate":"Member can generate a virtual key for this team","/key/service-account/generate":"Member can generate a service account key (not belonging to any user) for this team","/key/update":"Member can update a virtual key belonging to this team","/key/delete":"Member can delete a virtual key belonging to this team","/key/info":"Member can get info about a virtual key belonging to this team","/key/regenerate":"Member can regenerate a virtual key belonging to this team","/key/{key_id}/regenerate":"Member can regenerate a virtual key belonging to this team","/key/list":"Member can list virtual keys belonging to this team","/key/block":"Member can block a virtual key belonging to this team","/key/unblock":"Member can unblock a virtual key belonging to this team"},Q=e=>e.includes("/info")||e.includes("/list")?"GET":"POST",W=e=>{let s=Q(e),l=$[e];if(!l){for(let[s,t]of Object.entries($))if(e.includes(s)){l=t;break}}return l||(l="Access ".concat(e)),{method:s,endpoint:e,description:l,route:e}};var X=e=>{let{teamId:s,accessToken:l,canEditTeam:i}=e,[r,n]=(0,j.useState)([]),[m,o]=(0,j.useState)([]),[d,c]=(0,j.useState)(!0),[u,x]=(0,j.useState)(!1),[g,p]=(0,j.useState)(!1),_=async()=>{try{if(c(!0),!l)return;let e=await (0,a.getTeamPermissionsCall)(l,s),t=e.all_available_permissions||[];n(t);let i=e.team_member_permissions||[];o(i),p(!1)}catch(e){M.Z.fromBackend("Failed to load permissions"),console.error("Error fetching permissions:",e)}finally{c(!1)}};(0,j.useEffect)(()=>{_()},[s,l]);let b=(e,s)=>{o(s?[...m,e]:m.filter(s=>s!==e)),p(!0)},v=async()=>{try{if(!l)return;x(!0),await (0,a.teamPermissionsUpdateCall)(l,s,m),M.Z.success("Permissions updated successfully"),p(!1)}catch(e){M.Z.fromBackend("Failed to update permissions"),console.error("Error updating permissions:",e)}finally{x(!1)}};if(d)return(0,t.jsx)("div",{className:"p-6 text-center",children:"Loading permissions..."});let f=r.length>0;return(0,t.jsxs)(F.Z,{className:"bg-white shadow-md rounded-md p-6",children:[(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center border-b pb-4 mb-6",children:[(0,t.jsx)(B.Z,{className:"mb-2 sm:mb-0",children:"Member Permissions"}),i&&g&&(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(h.ZP,{icon:(0,t.jsx)(J.Z,{}),onClick:()=>{_()},children:"Reset"}),(0,t.jsxs)(E.Z,{onClick:v,loading:u,className:"flex items-center gap-2",children:[(0,t.jsx)(K.Z,{})," Save Changes"]})]})]}),(0,t.jsx)(V.Z,{className:"mb-6 text-gray-600",children:"Control what team members can do when they are not team admins."}),f?(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)(L.Z,{className:" min-w-full",children:[(0,t.jsx)(R.Z,{children:(0,t.jsxs)(z.Z,{children:[(0,t.jsx)(U.Z,{children:"Method"}),(0,t.jsx)(U.Z,{children:"Endpoint"}),(0,t.jsx)(U.Z,{children:"Description"}),(0,t.jsx)(U.Z,{className:"sticky right-0 bg-white shadow-[-4px_0_4px_-4px_rgba(0,0,0,0.1)] text-center",children:"Allow Access"})]})}),(0,t.jsx)(D.Z,{children:r.map(e=>{let s=W(e);return(0,t.jsxs)(z.Z,{className:"hover:bg-gray-50 transition-colors",children:[(0,t.jsx)(A.Z,{children:(0,t.jsx)("span",{className:"px-2 py-1 rounded text-xs font-medium ".concat("GET"===s.method?"bg-blue-100 text-blue-800":"bg-green-100 text-green-800"),children:s.method})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)("span",{className:"font-mono text-sm text-gray-800",children:s.endpoint})}),(0,t.jsx)(A.Z,{className:"text-gray-700",children:s.description}),(0,t.jsx)(A.Z,{className:"sticky right-0 bg-white shadow-[-4px_0_4px_-4px_rgba(0,0,0,0.1)] text-center",children:(0,t.jsx)(G.Z,{checked:m.includes(e),onChange:s=>b(e,s.target.checked),disabled:!i})})]},e)})})]})}):(0,t.jsx)("div",{className:"py-12",children:(0,t.jsx)(q.Z,{description:"No permissions available"})})]})},Y=l(47323),H=l(53410),ee=l(74998),es=e=>{let{teamData:s,canEditTeam:l,handleMemberDelete:i,setSelectedEditMember:a,setIsEditMemberModalVisible:n,setIsAddMemberModalVisible:o}=e,d=e=>{if(null==e)return"0";if("number"==typeof e){let s=Number(e);return s===Math.floor(s)?s.toString():(0,r.pw)(s,8).replace(/\.?0+$/,"")}return"0"},c=e=>{if(!e)return 0;let l=s.team_memberships.find(s=>s.user_id===e);return(null==l?void 0:l.spend)||0},u=e=>{var l;if(!e)return null;let t=s.team_memberships.find(s=>s.user_id===e);console.log("membership=".concat(t));let i=null==t?void 0:null===(l=t.litellm_budget_table)||void 0===l?void 0:l.max_budget;return null==i?null:d(i)},h=e=>{var l,t;if(!e)return"No Limits";let i=s.team_memberships.find(s=>s.user_id===e),a=null==i?void 0:null===(l=i.litellm_budget_table)||void 0===l?void 0:l.rpm_limit,r=null==i?void 0:null===(t=i.litellm_budget_table)||void 0===t?void 0:t.tpm_limit,n=[a?"".concat(d(a)," RPM"):null,r?"".concat(d(r)," TPM"):null].filter(Boolean);return n.length>0?n.join(" / "):"No Limits"};return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(F.Z,{className:"w-full mx-auto flex-auto overflow-auto max-h-[50vh]",children:(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)(L.Z,{className:"min-w-full",children:[(0,t.jsx)(R.Z,{children:(0,t.jsxs)(z.Z,{children:[(0,t.jsx)(U.Z,{children:"User ID"}),(0,t.jsx)(U.Z,{children:"User Email"}),(0,t.jsx)(U.Z,{children:"Role"}),(0,t.jsxs)(U.Z,{children:["Team Member Spend (USD)"," ",(0,t.jsx)(p.Z,{title:"This is the amount spent by a user in the team.",children:(0,t.jsx)(m.Z,{})})]}),(0,t.jsx)(U.Z,{children:"Team Member Budget (USD)"}),(0,t.jsxs)(U.Z,{children:["Team Member Rate Limits"," ",(0,t.jsx)(p.Z,{title:"Rate limits for this member's usage within this team.",children:(0,t.jsx)(m.Z,{})})]}),(0,t.jsx)(U.Z,{className:"sticky right-0 bg-white z-10 border-l border-gray-200",children:"Actions"})]})}),(0,t.jsx)(D.Z,{children:s.team_info.members_with_roles.map((e,m)=>(0,t.jsxs)(z.Z,{children:[(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:e.user_id})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:e.user_email?e.user_email:"No Email"})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:e.role})}),(0,t.jsx)(A.Z,{children:(0,t.jsxs)(V.Z,{className:"font-mono",children:["$",(0,r.pw)(c(e.user_id),4)]})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:u(e.user_id)?"$".concat((0,r.pw)(Number(u(e.user_id)),4)):"No Limit"})}),(0,t.jsx)(A.Z,{children:(0,t.jsx)(V.Z,{className:"font-mono",children:h(e.user_id)})}),(0,t.jsx)(A.Z,{className:"sticky right-0 bg-white z-10 border-l border-gray-200",children:l&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(Y.Z,{icon:H.Z,size:"sm",onClick:()=>{var l,t,i;let r=s.team_memberships.find(s=>s.user_id===e.user_id);a({...e,max_budget_in_team:(null==r?void 0:null===(l=r.litellm_budget_table)||void 0===l?void 0:l.max_budget)||null,tpm_limit:(null==r?void 0:null===(t=r.litellm_budget_table)||void 0===t?void 0:t.tpm_limit)||null,rpm_limit:(null==r?void 0:null===(i=r.litellm_budget_table)||void 0===i?void 0:i.rpm_limit)||null}),n(!0)},className:"cursor-pointer hover:text-blue-600"}),(0,t.jsx)(Y.Z,{icon:ee.Z,size:"sm",onClick:()=>i(e),className:"cursor-pointer hover:text-red-600"})]})})]},m))})]})})}),(0,t.jsx)(E.Z,{onClick:()=>o(!0),children:"Add Member"})]})};let el=(e,s)=>{let l=[];return l=e?e.models.includes("all-proxy-models")?s:e.models.length>0?e.models:s:s,(0,N.Ob)(l,s)};var et=e=>{var s,l,E,F,L,D,A,R,U,z,V,B,G,q,J,K,$,Q,W,Y,H,ee,et;let ei;let{teamId:ea,onClose:er,accessToken:en,is_team_admin:em,is_proxy_admin:eo,userModels:ed,editTeam:ec,premiumUser:eu=!1,onUpdate:eh}=e,[ex,eg]=(0,j.useState)(null),[ep,e_]=(0,j.useState)(!0),[eb,ev]=(0,j.useState)(!1),[ej]=c.Z.useForm(),[ef,ey]=(0,j.useState)(!1),[eZ,eN]=(0,j.useState)(null),[ew,ek]=(0,j.useState)(!1),[eS,eM]=(0,j.useState)([]),[eC,eT]=(0,j.useState)(!1),[eI,eP]=(0,j.useState)({}),[eO,eE]=(0,j.useState)([]),[eF,eL]=(0,j.useState)(null),[eD,eA]=(0,j.useState)(!1),[eR,eU]=(0,j.useState)(!1),[ez,eV]=(0,j.useState)(!1),[eB,eG]=(0,j.useState)(null);console.log("userModels in team info",ed);let eq=em||eo,eJ=async()=>{try{if(e_(!0),!en)return;let e=await (0,a.teamInfoCall)(en,ea);eg(e)}catch(e){M.Z.fromBackend("Failed to load team information"),console.error("Error fetching team info:",e)}finally{e_(!1)}};(0,j.useEffect)(()=>{eJ()},[ea,en]),(0,j.useEffect)(()=>{(async()=>{var e;if(!en||!(null==ex?void 0:null===(e=ex.team_info)||void 0===e?void 0:e.organization_id)){eG(null);return}try{let e=await (0,a.organizationInfoCall)(en,ex.team_info.organization_id);eG(e)}catch(e){console.error("Error fetching organization info:",e),eG(null)}})()},[en,null==ex?void 0:null===(s=ex.team_info)||void 0===s?void 0:s.organization_id]);let eK=(0,j.useMemo)(()=>el(eB,ed),[eB,ed]);(0,j.useEffect)(()=>{(async()=>{try{if(!en)return;let e=(await (0,a.getGuardrailsList)(en)).guardrails.map(e=>e.guardrail_name);eE(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[en]);let e$=async e=>{try{if(null==en)return;let s={user_email:e.user_email,user_id:e.user_id,role:e.role};await (0,a.teamMemberAddCall)(en,ea,s),M.Z.success("Team member added successfully"),ev(!1),ej.resetFields();let l=await (0,a.teamInfoCall)(en,ea);eg(l),eh(l)}catch(i){var s,l,t;let e="Failed to add team member";(null==i?void 0:null===(t=i.raw)||void 0===t?void 0:null===(l=t.detail)||void 0===l?void 0:null===(s=l.error)||void 0===s?void 0:s.includes("Assigning team admins is a premium feature"))?e="Assigning admins is an enterprise-only feature. Please upgrade your LiteLLM plan to enable this.":(null==i?void 0:i.message)&&(e=i.message),M.Z.fromBackend(e),console.error("Error adding team member:",i)}},eQ=async e=>{try{if(null==en)return;let s={user_email:e.user_email,user_id:e.user_id,role:e.role,max_budget_in_team:e.max_budget_in_team,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit};console.log("Updating member with values:",s),u.ZP.destroy(),await (0,a.teamMemberUpdateCall)(en,ea,s),M.Z.success("Team member updated successfully"),ey(!1);let l=await (0,a.teamInfoCall)(en,ea);eg(l),eh(l)}catch(t){var s,l;let e="Failed to update team member";(null==t?void 0:null===(l=t.raw)||void 0===l?void 0:null===(s=l.detail)||void 0===s?void 0:s.includes("Assigning team admins is a premium feature"))?e="Assigning admins is an enterprise-only feature. Please upgrade your LiteLLM plan to enable this.":(null==t?void 0:t.message)&&(e=t.message),ey(!1),u.ZP.destroy(),M.Z.fromBackend(e),console.error("Error updating team member:",t)}},eW=async()=>{if(eF&&en){eU(!0);try{await (0,a.teamMemberDeleteCall)(en,ea,eF),M.Z.success("Team member removed successfully");let e=await (0,a.teamInfoCall)(en,ea);eg(e),eh(e)}catch(e){M.Z.fromBackend("Failed to remove team member"),console.error("Error removing team member:",e)}finally{eU(!1),eA(!1),eL(null)}}},eX=async e=>{try{let s;if(!en)return;eV(!0);let l={};try{l=e.metadata?JSON.parse(e.metadata):{}}catch(e){M.Z.fromBackend("Invalid JSON in metadata field");return}if("string"==typeof e.secret_manager_settings&&e.secret_manager_settings.trim().length>0)try{s=JSON.parse(e.secret_manager_settings)}catch(e){M.Z.fromBackend("Invalid JSON in secret manager settings");return}let t=e=>null==e||"string"==typeof e&&""===e.trim()||"number"==typeof e&&Number.isNaN(e)?null:e,i={team_id:ea,team_alias:e.team_alias,models:e.models,tpm_limit:t(e.tpm_limit),rpm_limit:t(e.rpm_limit),max_budget:e.max_budget,budget_duration:e.budget_duration,metadata:{...l,guardrails:e.guardrails||[],logging:e.logging_settings||[],...void 0!==s?{secret_manager_settings:s}:{}},organization_id:e.organization_id};i.max_budget=(0,n.C)(i.max_budget),void 0!==e.team_member_budget&&(i.team_member_budget=Number(e.team_member_budget)),void 0!==e.team_member_key_duration&&(i.team_member_key_duration=e.team_member_key_duration),(void 0!==e.team_member_tpm_limit||void 0!==e.team_member_rpm_limit)&&(i.team_member_tpm_limit=t(e.team_member_tpm_limit),i.team_member_rpm_limit=t(e.team_member_rpm_limit));let{servers:r,accessGroups:m}=e.mcp_servers_and_groups||{servers:[],accessGroups:[]},o=new Set(r||[]),d=Object.fromEntries(Object.entries(e.mcp_tool_permissions||{}).filter(e=>{let[s]=e;return o.has(s)}));i.object_permission={},r&&(i.object_permission.mcp_servers=r),m&&(i.object_permission.mcp_access_groups=m),d&&(i.object_permission.mcp_tool_permissions=d),delete e.mcp_servers_and_groups,delete e.mcp_tool_permissions;let{agents:c,accessGroups:u}=e.agents_and_groups||{agents:[],accessGroups:[]};c&&c.length>0&&(i.object_permission.agents=c),u&&u.length>0&&(i.object_permission.agent_access_groups=u),delete e.agents_and_groups,e.vector_stores&&e.vector_stores.length>0&&(i.object_permission.vector_stores=e.vector_stores),await (0,a.teamUpdateCall)(en,i),M.Z.success("Team settings updated successfully"),ek(!1),eJ()}catch(e){console.error("Error updating team:",e)}finally{eV(!1)}};if(ep)return(0,t.jsx)("div",{className:"p-4",children:"Loading..."});if(!(null==ex?void 0:ex.team_info))return(0,t.jsx)("div",{className:"p-4",children:"Team not found"});let{team_info:eY}=ex,eH=async(e,s)=>{await (0,r.vQ)(e)&&(eP(e=>({...e,[s]:!0})),setTimeout(()=>{eP(e=>({...e,[s]:!1}))},2e3))};return(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsx)("div",{className:"flex justify-between items-center mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(d.zx,{icon:o.Z,variant:"light",onClick:er,className:"mb-4",children:"Back to Teams"}),(0,t.jsx)(d.Dx,{children:eY.team_alias}),(0,t.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,t.jsx)(d.xv,{className:"text-gray-500 font-mono",children:eY.team_id}),(0,t.jsx)(h.ZP,{type:"text",size:"small",icon:eI["team-id"]?(0,t.jsx)(b.Z,{size:12}):(0,t.jsx)(v.Z,{size:12}),onClick:()=>eH(eY.team_id,"team-id"),className:"left-2 z-10 transition-all duration-200 ".concat(eI["team-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]})}),(0,t.jsxs)(d.v0,{defaultIndex:ec?3:0,children:[(0,t.jsx)(d.td,{className:"mb-4",children:[(0,t.jsx)(d.OK,{children:"Overview"},"overview"),...eq?[(0,t.jsx)(d.OK,{children:"Members"},"members"),(0,t.jsx)(d.OK,{children:"Member Permissions"},"member-permissions"),(0,t.jsx)(d.OK,{children:"Settings"},"settings")]:[]]}),(0,t.jsxs)(d.nP,{children:[(0,t.jsx)(d.x4,{children:(0,t.jsxs)(d.rj,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{children:"Budget Status"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(d.Dx,{children:["$",(0,r.pw)(eY.spend,4)]}),(0,t.jsxs)(d.xv,{children:["of ",null===eY.max_budget?"Unlimited":"$".concat((0,r.pw)(eY.max_budget,4))]}),eY.budget_duration&&(0,t.jsxs)(d.xv,{className:"text-gray-500",children:["Reset: ",eY.budget_duration]}),(0,t.jsx)("br",{}),eY.team_member_budget_table&&(0,t.jsxs)(d.xv,{className:"text-gray-500",children:["Team Member Budget: $",(0,r.pw)(eY.team_member_budget_table.max_budget,4)]})]})]}),(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{children:"Rate Limits"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(d.xv,{children:["TPM: ",eY.tpm_limit||"Unlimited"]}),(0,t.jsxs)(d.xv,{children:["RPM: ",eY.rpm_limit||"Unlimited"]}),eY.max_parallel_requests&&(0,t.jsxs)(d.xv,{children:["Max Parallel Requests: ",eY.max_parallel_requests]})]})]}),(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{children:"Models"}),(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:0===eY.models.length?(0,t.jsx)(d.Ct,{color:"red",children:"All proxy models"}):eY.models.map((e,s)=>(0,t.jsx)(d.Ct,{color:"red",children:e},s))})]}),(0,t.jsxs)(d.Zb,{children:[(0,t.jsx)(d.xv,{className:"font-semibold text-gray-900",children:"Virtual Keys"}),(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)(d.xv,{children:["User Keys: ",ex.keys.filter(e=>e.user_id).length]}),(0,t.jsxs)(d.xv,{children:["Service Account Keys: ",ex.keys.filter(e=>!e.user_id).length]}),(0,t.jsxs)(d.xv,{className:"text-gray-500",children:["Total: ",ex.keys.length]})]})]}),(0,t.jsx)(C.Z,{objectPermission:eY.object_permission,variant:"card",accessToken:en}),(0,t.jsx)(w.Z,{loggingConfigs:(null===(l=eY.metadata)||void 0===l?void 0:l.logging)||[],disabledCallbacks:[],variant:"card"})]})}),(0,t.jsx)(d.x4,{children:(0,t.jsx)(es,{teamData:ex,canEditTeam:eq,handleMemberDelete:e=>{eL(e),eA(!0)},setSelectedEditMember:eN,setIsEditMemberModalVisible:ey,setIsAddMemberModalVisible:ev})}),eq&&(0,t.jsx)(d.x4,{children:(0,t.jsx)(X,{teamId:ea,accessToken:en,canEditTeam:eq})}),(0,t.jsx)(d.x4,{children:(0,t.jsxs)(d.Zb,{className:"overflow-y-auto max-h-[65vh]",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,t.jsx)(d.Dx,{children:"Team Settings"}),eq&&!ew&&(0,t.jsx)(d.zx,{onClick:()=>ek(!0),children:"Edit Settings"})]}),ew?(0,t.jsxs)(c.Z,{form:ej,onFinish:eX,initialValues:{...eY,team_alias:eY.team_alias,models:eY.models,tpm_limit:eY.tpm_limit,rpm_limit:eY.rpm_limit,max_budget:eY.max_budget,budget_duration:eY.budget_duration,team_member_tpm_limit:null===(E=eY.team_member_budget_table)||void 0===E?void 0:E.tpm_limit,team_member_rpm_limit:null===(F=eY.team_member_budget_table)||void 0===F?void 0:F.rpm_limit,guardrails:(null===(L=eY.metadata)||void 0===L?void 0:L.guardrails)||[],disable_global_guardrails:(null===(D=eY.metadata)||void 0===D?void 0:D.disable_global_guardrails)||!1,metadata:eY.metadata?JSON.stringify((e=>{let{logging:s,secret_manager_settings:l,...t}=e;return t})(eY.metadata),null,2):"",logging_settings:(null===(A=eY.metadata)||void 0===A?void 0:A.logging)||[],secret_manager_settings:(null===(R=eY.metadata)||void 0===R?void 0:R.secret_manager_settings)?JSON.stringify(eY.metadata.secret_manager_settings,null,2):"",organization_id:eY.organization_id,vector_stores:(null===(U=eY.object_permission)||void 0===U?void 0:U.vector_stores)||[],mcp_servers:(null===(z=eY.object_permission)||void 0===z?void 0:z.mcp_servers)||[],mcp_access_groups:(null===(V=eY.object_permission)||void 0===V?void 0:V.mcp_access_groups)||[],mcp_servers_and_groups:{servers:(null===(B=eY.object_permission)||void 0===B?void 0:B.mcp_servers)||[],accessGroups:(null===(G=eY.object_permission)||void 0===G?void 0:G.mcp_access_groups)||[]},mcp_tool_permissions:(null===(q=eY.object_permission)||void 0===q?void 0:q.mcp_tool_permissions)||{},agents_and_groups:{agents:(null===(J=eY.object_permission)||void 0===J?void 0:J.agents)||[],accessGroups:(null===(K=eY.object_permission)||void 0===K?void 0:K.agent_access_groups)||[]}},layout:"vertical",children:[(0,t.jsx)(c.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,t.jsx)(x.default,{type:""})}),(0,t.jsx)(c.Z.Item,{label:"Models",name:"models",rules:[{required:!0,message:"Please select at least one model"}],children:(0,t.jsxs)(g.default,{mode:"multiple",placeholder:"Select models",children:[(ei=!1,eB?(0===eB.models.length||eB.models.includes("all-proxy-models"))&&(ei=!0):ei=eo||ed.includes("all-proxy-models"),ei?(0,t.jsx)(g.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"):null),!eB||eB.models.includes("no-default-models")?(0,t.jsx)(g.default.Option,{value:"no-default-models",children:"No Default Models"},"no-default-models"):null,Array.from(new Set(eK)).map((e,s)=>(0,t.jsx)(g.default.Option,{value:e,children:(0,N.W0)(e)},s))]})}),(0,t.jsx)(c.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(T.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:"Team Member Budget (USD)",name:"team_member_budget",tooltip:"This is the individual budget for a user in the team.",children:(0,t.jsx)(T.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:"Team Member Key Duration (eg: 1d, 1mo)",name:"team_member_key_duration",tooltip:"Set a limit to the duration of a team member's key. Format: 30s (seconds), 30m (minutes), 30h (hours), 30d (days), 1mo (month)",children:(0,t.jsx)(d.oi,{placeholder:"e.g., 30d"})}),(0,t.jsx)(c.Z.Item,{label:"Team Member TPM Limit",name:"team_member_tpm_limit",tooltip:"Default tokens per minute limit for an individual team member. This limit applies to all requests the user makes within this team. Can be overridden per member.",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"},placeholder:"e.g., 1000"})}),(0,t.jsx)(c.Z.Item,{label:"Team Member RPM Limit",name:"team_member_rpm_limit",tooltip:"Default requests per minute limit for an individual team member. This limit applies to all requests the user makes within this team. Can be overridden per member.",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"},placeholder:"e.g., 100"})}),(0,t.jsx)(c.Z.Item,{label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(g.default,{placeholder:"n/a",children:[(0,t.jsx)(g.default.Option,{value:"24h",children:"daily"}),(0,t.jsx)(g.default.Option,{value:"7d",children:"weekly"}),(0,t.jsx)(g.default.Option,{value:"30d",children:"monthly"})]})}),(0,t.jsx)(c.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,t.jsx)(T.Z,{step:1,style:{width:"100%"}})}),(0,t.jsx)(c.Z.Item,{label:(0,t.jsxs)("span",{children:["Guardrails"," ",(0,t.jsx)(p.Z,{title:"Setup your first guardrail",children:(0,t.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",help:"Select existing guardrails or enter new ones",children:(0,t.jsx)(g.default,{mode:"tags",placeholder:"Select or enter guardrails",options:eO.map(e=>({value:e,label:e}))})}),(0,t.jsx)(c.Z.Item,{label:(0,t.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,t.jsx)(p.Z,{title:"When enabled, this team will bypass any guardrails configured to run on every request (global guardrails)",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",valuePropName:"checked",help:"Bypass global guardrails for this team",children:(0,t.jsx)(_.Z,{checkedChildren:"Yes",unCheckedChildren:"No"})}),(0,t.jsx)(c.Z.Item,{label:"Vector Stores",name:"vector_stores","aria-label":"Vector Stores",children:(0,t.jsx)(I.Z,{onChange:e=>ej.setFieldValue("vector_stores",e),value:ej.getFieldValue("vector_stores"),accessToken:en||"",placeholder:"Select vector stores"})}),(0,t.jsx)(c.Z.Item,{label:"Allowed Pass Through Routes",name:"allowed_passthrough_routes",children:(0,t.jsx)(Z.Z,{onChange:e=>ej.setFieldValue("allowed_passthrough_routes",e),value:ej.getFieldValue("allowed_passthrough_routes"),accessToken:en||"",placeholder:"Select pass through routes"})}),(0,t.jsx)(c.Z.Item,{label:"MCP Servers / Access Groups",name:"mcp_servers_and_groups",children:(0,t.jsx)(k.Z,{onChange:e=>ej.setFieldValue("mcp_servers_and_groups",e),value:ej.getFieldValue("mcp_servers_and_groups"),accessToken:en||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,t.jsx)(c.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,t.jsx)(x.default,{type:"hidden"})}),(0,t.jsx)(c.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.mcp_servers_and_groups!==s.mcp_servers_and_groups||e.mcp_tool_permissions!==s.mcp_tool_permissions,children:()=>{var e;return(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)(S.Z,{accessToken:en||"",selectedServers:(null===(e=ej.getFieldValue("mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:ej.getFieldValue("mcp_tool_permissions")||{},onChange:e=>ej.setFieldsValue({mcp_tool_permissions:e})})})}}),(0,t.jsx)(c.Z.Item,{label:"Agents / Access Groups",name:"agents_and_groups",children:(0,t.jsx)(f.Z,{onChange:e=>ej.setFieldValue("agents_and_groups",e),value:ej.getFieldValue("agents_and_groups"),accessToken:en||"",placeholder:"Select agents or access groups (optional)"})}),(0,t.jsx)(c.Z.Item,{label:"Organization ID",name:"organization_id",children:(0,t.jsx)(x.default,{type:"",disabled:!0})}),(0,t.jsx)(c.Z.Item,{label:"Logging Settings",name:"logging_settings",children:(0,t.jsx)(P.Z,{value:ej.getFieldValue("logging_settings"),onChange:e=>ej.setFieldValue("logging_settings",e)})}),(0,t.jsx)(c.Z.Item,{label:"Secret Manager Settings",name:"secret_manager_settings",help:eu?"Enter secret manager configuration as a JSON object.":"Premium feature - Upgrade to manage secret manager settings.",rules:[{validator:async(e,s)=>{if(!s)return Promise.resolve();try{return JSON.parse(s),Promise.resolve()}catch(e){return Promise.reject(Error("Please enter valid JSON"))}}}],children:(0,t.jsx)(x.default.TextArea,{rows:6,placeholder:'{"namespace": "admin", "mount": "secret", "path_prefix": "litellm"}',disabled:!eu})}),(0,t.jsx)(c.Z.Item,{label:"Metadata",name:"metadata",children:(0,t.jsx)(x.default.TextArea,{rows:10})}),(0,t.jsx)("div",{className:"sticky z-10 bg-white p-4 border-t border-gray-200 bottom-[-1.5rem] inset-x-[-1.5rem]",children:(0,t.jsxs)("div",{className:"flex justify-end items-center gap-2",children:[(0,t.jsx)(d.zx,{variant:"secondary",onClick:()=>ek(!1),disabled:ez,children:"Cancel"}),(0,t.jsx)(d.zx,{type:"submit",loading:ez,children:"Save Changes"})]})})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Team Name"}),(0,t.jsx)("div",{children:eY.team_alias})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Team ID"}),(0,t.jsx)("div",{className:"font-mono",children:eY.team_id})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Created At"}),(0,t.jsx)("div",{children:new Date(eY.created_at).toLocaleString()})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Models"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:eY.models.map((e,s)=>(0,t.jsx)(d.Ct,{color:"red",children:e},s))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Rate Limits"}),(0,t.jsxs)("div",{children:["TPM: ",eY.tpm_limit||"Unlimited"]}),(0,t.jsxs)("div",{children:["RPM: ",eY.rpm_limit||"Unlimited"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Team Budget"}),(0,t.jsxs)("div",{children:["Max Budget:"," ",null!==eY.max_budget?"$".concat((0,r.pw)(eY.max_budget,4)):"No Limit"]}),(0,t.jsxs)("div",{children:["Budget Reset: ",eY.budget_duration||"Never"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(d.xv,{className:"font-medium",children:["Team Member Settings"," ",(0,t.jsx)(p.Z,{title:"These are limits on individual team members",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),(0,t.jsxs)("div",{children:["Max Budget: ",(null===($=eY.team_member_budget_table)||void 0===$?void 0:$.max_budget)||"No Limit"]}),(0,t.jsxs)("div",{children:["Key Duration: ",(null===(Q=eY.metadata)||void 0===Q?void 0:Q.team_member_key_duration)||"No Limit"]}),(0,t.jsxs)("div",{children:["TPM Limit: ",(null===(W=eY.team_member_budget_table)||void 0===W?void 0:W.tpm_limit)||"No Limit"]}),(0,t.jsxs)("div",{children:["RPM Limit: ",(null===(Y=eY.team_member_budget_table)||void 0===Y?void 0:Y.rpm_limit)||"No Limit"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Organization ID"}),(0,t.jsx)("div",{children:eY.organization_id})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Status"}),(0,t.jsx)(d.Ct,{color:eY.blocked?"red":"green",children:eY.blocked?"Blocked":"Active"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Disable Global Guardrails"}),(0,t.jsx)("div",{children:(null===(H=eY.metadata)||void 0===H?void 0:H.disable_global_guardrails)===!0?(0,t.jsx)(d.Ct,{color:"yellow",children:"Enabled - Global guardrails bypassed"}):(0,t.jsx)(d.Ct,{color:"green",children:"Disabled - Global guardrails active"})})]}),(0,t.jsx)(C.Z,{objectPermission:eY.object_permission,variant:"inline",className:"pt-4 border-t border-gray-200",accessToken:en}),(0,t.jsx)(w.Z,{loggingConfigs:(null===(ee=eY.metadata)||void 0===ee?void 0:ee.logging)||[],disabledCallbacks:[],variant:"inline",className:"pt-4 border-t border-gray-200"}),(null===(et=eY.metadata)||void 0===et?void 0:et.secret_manager_settings)&&(0,t.jsxs)("div",{className:"pt-4 border-t border-gray-200",children:[(0,t.jsx)(d.xv,{className:"font-medium",children:"Secret Manager Settings"}),(0,t.jsx)("pre",{className:"mt-2 bg-gray-50 p-3 rounded text-xs overflow-x-auto",children:JSON.stringify(eY.metadata.secret_manager_settings,null,2)})]})]})]})})]})]}),(0,t.jsx)(O.Z,{visible:ef,onCancel:()=>ey(!1),onSubmit:eQ,initialData:eZ,mode:"edit",config:{title:"Edit Member",showEmail:!0,showUserId:!0,roleOptions:[{label:"Admin",value:"admin"},{label:"User",value:"user"}],additionalFields:[{name:"max_budget_in_team",label:(0,t.jsxs)("span",{children:["Team Member Budget (USD)"," ",(0,t.jsx)(p.Z,{title:"Maximum amount in USD this member can spend within this team. This is separate from any global user budget limits",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),type:"numerical",step:.01,min:0,placeholder:"Budget limit for this member within this team"},{name:"tpm_limit",label:(0,t.jsxs)("span",{children:["Team Member TPM Limit"," ",(0,t.jsx)(p.Z,{title:"Maximum tokens per minute this member can use within this team. This is separate from any global user TPM limit",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),type:"numerical",step:1,min:0,placeholder:"Tokens per minute limit for this member in this team"},{name:"rpm_limit",label:(0,t.jsxs)("span",{children:["Team Member RPM Limit"," ",(0,t.jsx)(p.Z,{title:"Maximum requests per minute this member can make within this team. This is separate from any global user RPM limit",children:(0,t.jsx)(m.Z,{style:{marginLeft:"4px"}})})]}),type:"numerical",step:1,min:0,placeholder:"Requests per minute limit for this member in this team"}]}}),(0,t.jsx)(i.Z,{isVisible:eb,onCancel:()=>ev(!1),onSubmit:e$,accessToken:en}),(0,t.jsx)(y.Z,{isOpen:eD,title:"Delete Team Member",alertMessage:"Removing team members will also delete any keys created by or created for this member.",message:"Are you sure you want to remove this member from the team? This action cannot be undone.",resourceInformationTitle:"Team Member Information",resourceInformation:[{label:"User ID",value:null==eF?void 0:eF.user_id,code:!0},{label:"Email",value:null==eF?void 0:eF.user_email},{label:"Role",value:null==eF?void 0:eF.role}],onCancel:()=>{eA(!1),eL(null)},onOk:eW,confirmLoading:eR})]})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/507-dd247981122e5619.js b/litellm/proxy/_experimental/out/_next/static/chunks/507-dd247981122e5619.js new file mode 100644 index 0000000000..05529c7044 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/507-dd247981122e5619.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[507,3792],{38434:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),r=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},c=n(55015),i=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},96473:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),r=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},c=n(55015),i=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},77565:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),r=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},c=n(55015),i=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},69993:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),r=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},c=n(55015),i=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},57400:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),r=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z"}},{tag:"path",attrs:{d:"M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z"}}]},name:"safety",theme:"outlined"},c=n(55015),i=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},15883:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),r=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},c=n(55015),i=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},96761:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(5853),r=n(26898),o=n(13241),c=n(1153),i=n(2265);let l=i.forwardRef((e,t)=>{let{color:n,children:l,className:d}=e,s=(0,a._T)(e,["color","children","className"]);return i.createElement("p",Object.assign({ref:t,className:(0,o.q)("font-medium text-tremor-title",n?(0,c.bM)(n,r.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",d)},s),l)});l.displayName="Title"},44851:function(e,t,n){n.d(t,{default:function(){return _}});var a=n(2265),r=n(77565),o=n(36760),c=n.n(o),i=n(1119),l=n(83145),d=n(26365),s=n(41154),u=n(50506),f=n(32559),p=n(6989),m=n(45287),h=n(31686),b=n(11993),v=n(66632),g=n(95814),x=a.forwardRef(function(e,t){var n=e.prefixCls,r=e.forceRender,o=e.className,i=e.style,l=e.children,s=e.isActive,u=e.role,f=e.classNames,p=e.styles,m=a.useState(s||r),h=(0,d.Z)(m,2),v=h[0],g=h[1];return(a.useEffect(function(){(r||s)&&g(!0)},[r,s]),v)?a.createElement("div",{ref:t,className:c()("".concat(n,"-content"),(0,b.Z)((0,b.Z)({},"".concat(n,"-content-active"),s),"".concat(n,"-content-inactive"),!s),o),style:i,role:u},a.createElement("div",{className:c()("".concat(n,"-content-box"),null==f?void 0:f.body),style:null==p?void 0:p.body},l)):null});x.displayName="PanelContent";var y=["showArrow","headerClass","isActive","onItemClick","forceRender","className","classNames","styles","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],k=a.forwardRef(function(e,t){var n=e.showArrow,r=e.headerClass,o=e.isActive,l=e.onItemClick,d=e.forceRender,s=e.className,u=e.classNames,f=void 0===u?{}:u,m=e.styles,k=void 0===m?{}:m,w=e.prefixCls,Z=e.collapsible,C=e.accordion,I=e.panelKey,E=e.extra,M=e.header,z=e.expandIcon,S=e.openMotion,N=e.destroyInactivePanel,O=e.children,j=(0,p.Z)(e,y),P="disabled"===Z,B=(0,b.Z)((0,b.Z)((0,b.Z)({onClick:function(){null==l||l(I)},onKeyDown:function(e){("Enter"===e.key||e.keyCode===g.Z.ENTER||e.which===g.Z.ENTER)&&(null==l||l(I))},role:C?"tab":"button"},"aria-expanded",o),"aria-disabled",P),"tabIndex",P?-1:0),R="function"==typeof z?z(e):a.createElement("i",{className:"arrow"}),A=R&&a.createElement("div",(0,i.Z)({className:"".concat(w,"-expand-icon")},["header","icon"].includes(Z)?B:{}),R),H=c()("".concat(w,"-item"),(0,b.Z)((0,b.Z)({},"".concat(w,"-item-active"),o),"".concat(w,"-item-disabled"),P),s),L=c()(r,"".concat(w,"-header"),(0,b.Z)({},"".concat(w,"-collapsible-").concat(Z),!!Z),f.header),W=(0,h.Z)({className:L,style:k.header},["header","icon"].includes(Z)?{}:B);return a.createElement("div",(0,i.Z)({},j,{ref:t,className:H}),a.createElement("div",W,(void 0===n||n)&&A,a.createElement("span",(0,i.Z)({className:"".concat(w,"-header-text")},"header"===Z?B:{}),M),null!=E&&"boolean"!=typeof E&&a.createElement("div",{className:"".concat(w,"-extra")},E)),a.createElement(v.ZP,(0,i.Z)({visible:o,leavedClassName:"".concat(w,"-content-hidden")},S,{forceRender:d,removeOnLeave:N}),function(e,t){var n=e.className,r=e.style;return a.createElement(x,{ref:t,prefixCls:w,className:n,classNames:f,style:r,styles:k,isActive:o,forceRender:d,role:C?"tabpanel":void 0},O)}))}),w=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],Z=function(e,t){var n=t.prefixCls,r=t.accordion,o=t.collapsible,c=t.destroyInactivePanel,l=t.onItemClick,d=t.activeKey,s=t.openMotion,u=t.expandIcon;return e.map(function(e,t){var f=e.children,m=e.label,h=e.key,b=e.collapsible,v=e.onItemClick,g=e.destroyInactivePanel,x=(0,p.Z)(e,w),y=String(null!=h?h:t),Z=null!=b?b:o,C=!1;return C=r?d[0]===y:d.indexOf(y)>-1,a.createElement(k,(0,i.Z)({},x,{prefixCls:n,key:y,panelKey:y,isActive:C,accordion:r,openMotion:s,expandIcon:u,header:m,collapsible:Z,onItemClick:function(e){"disabled"!==Z&&(l(e),null==v||v(e))},destroyInactivePanel:null!=g?g:c}),f)})},C=function(e,t,n){if(!e)return null;var r=n.prefixCls,o=n.accordion,c=n.collapsible,i=n.destroyInactivePanel,l=n.onItemClick,d=n.activeKey,s=n.openMotion,u=n.expandIcon,f=e.key||String(t),p=e.props,m=p.header,h=p.headerClass,b=p.destroyInactivePanel,v=p.collapsible,g=p.onItemClick,x=!1;x=o?d[0]===f:d.indexOf(f)>-1;var y=null!=v?v:c,k={key:f,panelKey:f,header:m,headerClass:h,isActive:x,prefixCls:r,destroyInactivePanel:null!=b?b:i,openMotion:s,accordion:o,children:e.props.children,onItemClick:function(e){"disabled"!==y&&(l(e),null==g||g(e))},expandIcon:u,collapsible:y};return"string"==typeof e.type?e:(Object.keys(k).forEach(function(e){void 0===k[e]&&delete k[e]}),a.cloneElement(e,k))},I=n(18242);function E(e){var t=e;if(!Array.isArray(t)){var n=(0,s.Z)(t);t="number"===n||"string"===n?[t]:[]}return t.map(function(e){return String(e)})}var M=Object.assign(a.forwardRef(function(e,t){var n,r=e.prefixCls,o=void 0===r?"rc-collapse":r,s=e.destroyInactivePanel,p=e.style,h=e.accordion,b=e.className,v=e.children,g=e.collapsible,x=e.openMotion,y=e.expandIcon,k=e.activeKey,w=e.defaultActiveKey,M=e.onChange,z=e.items,S=c()(o,b),N=(0,u.Z)([],{value:k,onChange:function(e){return null==M?void 0:M(e)},defaultValue:w,postState:E}),O=(0,d.Z)(N,2),j=O[0],P=O[1];(0,f.ZP)(!v,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var B=(n={prefixCls:o,accordion:h,openMotion:x,expandIcon:y,collapsible:g,destroyInactivePanel:void 0!==s&&s,onItemClick:function(e){return P(function(){return h?j[0]===e?[]:[e]:j.indexOf(e)>-1?j.filter(function(t){return t!==e}):[].concat((0,l.Z)(j),[e])})},activeKey:j},Array.isArray(z)?Z(z,n):(0,m.Z)(v).map(function(e,t){return C(e,t,n)}));return a.createElement("div",(0,i.Z)({ref:t,className:S,style:p,role:h?"tablist":void 0},(0,I.Z)(e,{aria:!0,data:!0})),B)}),{Panel:k});M.Panel;var z=n(18694),S=n(68710),N=n(19722),O=n(71744),j=n(33759);let P=a.forwardRef((e,t)=>{let{getPrefixCls:n}=a.useContext(O.E_),{prefixCls:r,className:o,showArrow:i=!0}=e,l=n("collapse",r),d=c()({["".concat(l,"-no-arrow")]:!i},o);return a.createElement(M.Panel,Object.assign({ref:t},e,{prefixCls:l,className:d}))});var B=n(93463),R=n(12918),A=n(63074),H=n(99320),L=n(71140);let W=e=>{let{componentCls:t,contentBg:n,padding:a,headerBg:r,headerPadding:o,collapseHeaderPaddingSM:c,collapseHeaderPaddingLG:i,collapsePanelBorderRadius:l,lineWidth:d,lineType:s,colorBorder:u,colorText:f,colorTextHeading:p,colorTextDisabled:m,fontSizeLG:h,lineHeight:b,lineHeightLG:v,marginSM:g,paddingSM:x,paddingLG:y,paddingXS:k,motionDurationSlow:w,fontSizeIcon:Z,contentPadding:C,fontHeight:I,fontHeightLG:E}=e,M="".concat((0,B.bf)(d)," ").concat(s," ").concat(u);return{[t]:Object.assign(Object.assign({},(0,R.Wf)(e)),{backgroundColor:r,border:M,borderRadius:l,"&-rtl":{direction:"rtl"},["& > ".concat(t,"-item")]:{borderBottom:M,"&:first-child":{["\n &,\n & > ".concat(t,"-header")]:{borderRadius:"".concat((0,B.bf)(l)," ").concat((0,B.bf)(l)," 0 0")}},"&:last-child":{["\n &,\n & > ".concat(t,"-header")]:{borderRadius:"0 0 ".concat((0,B.bf)(l)," ").concat((0,B.bf)(l))}},["> ".concat(t,"-header")]:Object.assign(Object.assign({position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:o,color:p,lineHeight:b,cursor:"pointer",transition:"all ".concat(w,", visibility 0s")},(0,R.Qy)(e)),{["> ".concat(t,"-header-text")]:{flex:"auto"},["".concat(t,"-expand-icon")]:{height:I,display:"flex",alignItems:"center",paddingInlineEnd:g},["".concat(t,"-arrow")]:Object.assign(Object.assign({},(0,R.Ro)()),{fontSize:Z,transition:"transform ".concat(w),svg:{transition:"transform ".concat(w)}}),["".concat(t,"-header-text")]:{marginInlineEnd:"auto"}}),["".concat(t,"-collapsible-header")]:{cursor:"default",["".concat(t,"-header-text")]:{flex:"none",cursor:"pointer"},["".concat(t,"-expand-icon")]:{cursor:"pointer"}},["".concat(t,"-collapsible-icon")]:{cursor:"unset",["".concat(t,"-expand-icon")]:{cursor:"pointer"}}},["".concat(t,"-content")]:{color:f,backgroundColor:n,borderTop:M,["& > ".concat(t,"-content-box")]:{padding:C},"&-hidden":{display:"none"}},"&-small":{["> ".concat(t,"-item")]:{["> ".concat(t,"-header")]:{padding:c,paddingInlineStart:k,["> ".concat(t,"-expand-icon")]:{marginInlineStart:e.calc(x).sub(k).equal()}},["> ".concat(t,"-content > ").concat(t,"-content-box")]:{padding:x}}},"&-large":{["> ".concat(t,"-item")]:{fontSize:h,lineHeight:v,["> ".concat(t,"-header")]:{padding:i,paddingInlineStart:a,["> ".concat(t,"-expand-icon")]:{height:E,marginInlineStart:e.calc(y).sub(a).equal()}},["> ".concat(t,"-content > ").concat(t,"-content-box")]:{padding:y}}},["".concat(t,"-item:last-child")]:{borderBottom:0,["> ".concat(t,"-content")]:{borderRadius:"0 0 ".concat((0,B.bf)(l)," ").concat((0,B.bf)(l))}},["& ".concat(t,"-item-disabled > ").concat(t,"-header")]:{"\n &,\n & > .arrow\n ":{color:m,cursor:"not-allowed"}},["&".concat(t,"-icon-position-end")]:{["& > ".concat(t,"-item")]:{["> ".concat(t,"-header")]:{["".concat(t,"-expand-icon")]:{order:1,paddingInlineEnd:0,paddingInlineStart:g}}}}})}},T=e=>{let{componentCls:t}=e,n="> ".concat(t,"-item > ").concat(t,"-header ").concat(t,"-arrow");return{["".concat(t,"-rtl")]:{[n]:{transform:"rotate(180deg)"}}}},q=e=>{let{componentCls:t,headerBg:n,borderlessContentPadding:a,borderlessContentBg:r,colorBorder:o}=e;return{["".concat(t,"-borderless")]:{backgroundColor:n,border:0,["> ".concat(t,"-item")]:{borderBottom:"1px solid ".concat(o)},["\n > ".concat(t,"-item:last-child,\n > ").concat(t,"-item:last-child ").concat(t,"-header\n ")]:{borderRadius:0},["> ".concat(t,"-item:last-child")]:{borderBottom:0},["> ".concat(t,"-item > ").concat(t,"-content")]:{backgroundColor:r,borderTop:0},["> ".concat(t,"-item > ").concat(t,"-content > ").concat(t,"-content-box")]:{padding:a}}}},V=e=>{let{componentCls:t,paddingSM:n}=e;return{["".concat(t,"-ghost")]:{backgroundColor:"transparent",border:0,["> ".concat(t,"-item")]:{borderBottom:0,["> ".concat(t,"-content")]:{backgroundColor:"transparent",border:0,["> ".concat(t,"-content-box")]:{paddingBlock:n}}}}}};var K=(0,H.I$)("Collapse",e=>{let t=(0,L.IX)(e,{collapseHeaderPaddingSM:"".concat((0,B.bf)(e.paddingXS)," ").concat((0,B.bf)(e.paddingSM)),collapseHeaderPaddingLG:"".concat((0,B.bf)(e.padding)," ").concat((0,B.bf)(e.paddingLG)),collapsePanelBorderRadius:e.borderRadiusLG});return[W(t),q(t),V(t),T(t),(0,A.Z)(t)]},e=>({headerPadding:"".concat(e.paddingSM,"px ").concat(e.padding,"px"),headerBg:e.colorFillAlter,contentPadding:"".concat(e.padding,"px 16px"),contentBg:e.colorBgContainer,borderlessContentPadding:"".concat(e.paddingXXS,"px 16px ").concat(e.padding,"px"),borderlessContentBg:"transparent"})),_=Object.assign(a.forwardRef((e,t)=>{let{getPrefixCls:n,direction:o,expandIcon:i,className:l,style:d}=(0,O.dj)("collapse"),{prefixCls:s,className:u,rootClassName:f,style:p,bordered:h=!0,ghost:b,size:v,expandIconPosition:g="start",children:x,destroyInactivePanel:y,destroyOnHidden:k,expandIcon:w}=e,Z=(0,j.Z)(e=>{var t;return null!==(t=null!=v?v:e)&&void 0!==t?t:"middle"}),C=n("collapse",s),I=n(),[E,P,B]=K(C),R=a.useMemo(()=>"left"===g?"start":"right"===g?"end":g,[g]),A=null!=w?w:i,H=a.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="function"==typeof A?A(e):a.createElement(r.Z,{rotate:e.isActive?"rtl"===o?-90:90:void 0,"aria-label":e.isActive?"expanded":"collapsed"});return(0,N.Tm)(t,()=>{var e;return{className:c()(null===(e=t.props)||void 0===e?void 0:e.className,"".concat(C,"-arrow"))}})},[A,C,o]),L=c()("".concat(C,"-icon-position-").concat(R),{["".concat(C,"-borderless")]:!h,["".concat(C,"-rtl")]:"rtl"===o,["".concat(C,"-ghost")]:!!b,["".concat(C,"-").concat(Z)]:"middle"!==Z},l,u,f,P,B),W=a.useMemo(()=>Object.assign(Object.assign({},(0,S.Z)(I)),{motionAppear:!1,leavedClassName:"".concat(C,"-content-hidden")}),[I,C]),T=a.useMemo(()=>x?(0,m.Z)(x).map((e,t)=>{var n,a;let r=e.props;if(null==r?void 0:r.disabled){let o=null!==(n=e.key)&&void 0!==n?n:String(t),c=Object.assign(Object.assign({},(0,z.Z)(e.props,["disabled"])),{key:o,collapsible:null!==(a=r.collapsible)&&void 0!==a?a:"disabled"});return(0,N.Tm)(e,c)}return e}):null,[x]);return E(a.createElement(M,Object.assign({ref:t,openMotion:W},(0,z.Z)(e,["rootClassName"]),{expandIcon:H,prefixCls:C,className:L,style:Object.assign(Object.assign({},d),p),destroyInactivePanel:null!=k?k:y}),T))}),{Panel:P})},23496:function(e,t,n){n.d(t,{Z:function(){return v}});var a=n(2265),r=n(36760),o=n.n(r),c=n(71744),i=n(33759),l=n(93463),d=n(12918),s=n(99320),u=n(71140);let f=e=>{let{componentCls:t}=e;return{[t]:{"&-horizontal":{["&".concat(t)]:{"&-sm":{marginBlock:e.marginXS},"&-md":{marginBlock:e.margin}}}}}},p=e=>{let{componentCls:t,sizePaddingEdgeHorizontal:n,colorSplit:a,lineWidth:r,textPaddingInline:o,orientationMargin:c,verticalMarginInline:i}=e;return{[t]:Object.assign(Object.assign({},(0,d.Wf)(e)),{borderBlockStart:"".concat((0,l.bf)(r)," solid ").concat(a),"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:i,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:"".concat((0,l.bf)(r)," solid ").concat(a)},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:"".concat((0,l.bf)(e.marginLG)," 0")},["&-horizontal".concat(t,"-with-text")]:{display:"flex",alignItems:"center",margin:"".concat((0,l.bf)(e.dividerHorizontalWithTextGutterMargin)," 0"),color:e.colorTextHeading,fontWeight:500,fontSize:e.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:"0 ".concat(a),"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:"".concat((0,l.bf)(r)," solid transparent"),borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},["&-horizontal".concat(t,"-with-text-start")]:{"&::before":{width:"calc(".concat(c," * 100%)")},"&::after":{width:"calc(100% - ".concat(c," * 100%)")}},["&-horizontal".concat(t,"-with-text-end")]:{"&::before":{width:"calc(100% - ".concat(c," * 100%)")},"&::after":{width:"calc(".concat(c," * 100%)")}},["".concat(t,"-inner-text")]:{display:"inline-block",paddingBlock:0,paddingInline:o},"&-dashed":{background:"none",borderColor:a,borderStyle:"dashed",borderWidth:"".concat((0,l.bf)(r)," 0 0")},["&-horizontal".concat(t,"-with-text").concat(t,"-dashed")]:{"&::before, &::after":{borderStyle:"dashed none none"}},["&-vertical".concat(t,"-dashed")]:{borderInlineStartWidth:r,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},"&-dotted":{background:"none",borderColor:a,borderStyle:"dotted",borderWidth:"".concat((0,l.bf)(r)," 0 0")},["&-horizontal".concat(t,"-with-text").concat(t,"-dotted")]:{"&::before, &::after":{borderStyle:"dotted none none"}},["&-vertical".concat(t,"-dotted")]:{borderInlineStartWidth:r,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},["&-plain".concat(t,"-with-text")]:{color:e.colorText,fontWeight:"normal",fontSize:e.fontSize},["&-horizontal".concat(t,"-with-text-start").concat(t,"-no-default-orientation-margin-start")]:{"&::before":{width:0},"&::after":{width:"100%"},["".concat(t,"-inner-text")]:{paddingInlineStart:n}},["&-horizontal".concat(t,"-with-text-end").concat(t,"-no-default-orientation-margin-end")]:{"&::before":{width:"100%"},"&::after":{width:0},["".concat(t,"-inner-text")]:{paddingInlineEnd:n}}})}};var m=(0,s.I$)("Divider",e=>{let t=(0,u.IX)(e,{dividerHorizontalWithTextGutterMargin:e.margin,sizePaddingEdgeHorizontal:0});return[p(t),f(t)]},e=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:e.marginXS}),{unitless:{orientationMargin:!0}}),h=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,a=Object.getOwnPropertySymbols(e);rt.indexOf(a[r])&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]]);return n};let b={small:"sm",middle:"md"};var v=e=>{let{getPrefixCls:t,direction:n,className:r,style:l}=(0,c.dj)("divider"),{prefixCls:d,type:s="horizontal",orientation:u="center",orientationMargin:f,className:p,rootClassName:v,children:g,dashed:x,variant:y="solid",plain:k,style:w,size:Z}=e,C=h(e,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","variant","plain","style","size"]),I=t("divider",d),[E,M,z]=m(I),S=b[(0,i.Z)(Z)],N=!!g,O=a.useMemo(()=>"left"===u?"rtl"===n?"end":"start":"right"===u?"rtl"===n?"start":"end":u,[n,u]),j="start"===O&&null!=f,P="end"===O&&null!=f,B=o()(I,r,M,z,"".concat(I,"-").concat(s),{["".concat(I,"-with-text")]:N,["".concat(I,"-with-text-").concat(O)]:N,["".concat(I,"-dashed")]:!!x,["".concat(I,"-").concat(y)]:"solid"!==y,["".concat(I,"-plain")]:!!k,["".concat(I,"-rtl")]:"rtl"===n,["".concat(I,"-no-default-orientation-margin-start")]:j,["".concat(I,"-no-default-orientation-margin-end")]:P,["".concat(I,"-").concat(S)]:!!S},p,v),R=a.useMemo(()=>"number"==typeof f?f:/^\d+$/.test(f)?Number(f):f,[f]);return E(a.createElement("div",Object.assign({className:B,style:Object.assign(Object.assign({},l),w)},C,{role:"separator"}),g&&"vertical"!==s&&a.createElement("span",{className:"".concat(I,"-inner-text"),style:{marginInlineStart:j?R:void 0,marginInlineEnd:P?R:void 0}},g)))}},79205:function(e,t,n){n.d(t,{Z:function(){return u}});var a=n(2265);let r=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),o=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),c=e=>{let t=o(e);return t.charAt(0).toUpperCase()+t.slice(1)},i=function(){for(var e=arguments.length,t=Array(e),n=0;n!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()},l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,a.forwardRef)((e,t)=>{let{color:n="currentColor",size:r=24,strokeWidth:o=2,absoluteStrokeWidth:c,className:s="",children:u,iconNode:f,...p}=e;return(0,a.createElement)("svg",{ref:t,...d,width:r,height:r,stroke:n,strokeWidth:c?24*Number(o)/Number(r):o,className:i("lucide",s),...!u&&!l(p)&&{"aria-hidden":"true"},...p},[...f.map(e=>{let[t,n]=e;return(0,a.createElement)(t,n)}),...Array.isArray(u)?u:[u]])}),u=(e,t)=>{let n=(0,a.forwardRef)((n,o)=>{let{className:l,...d}=n;return(0,a.createElement)(s,{ref:o,iconNode:t,className:i("lucide-".concat(r(c(e))),"lucide-".concat(e),l),...d})});return n.displayName=c(e),n}},82222:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},51817:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},98728:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},79862:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]])},32489:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},25523:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return a}});let a=n(47043)._(n(2265)).default.createContext(null)}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/5105-d70ae84ff6510ab1.js b/litellm/proxy/_experimental/out/_next/static/chunks/5105-d70ae84ff6510ab1.js new file mode 100644 index 0000000000..a8682db1f8 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/5105-d70ae84ff6510ab1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5105],{75105:function(t,e,n){n.d(e,{Z:function(){return ta}});var r=n(5853),a=n(2265),i=n(47625),o=n(93765),l=n(87602),s=n(84735),c=n(86757),u=n.n(c),p=n(95645),d=n.n(p),y=n(77571),f=n.n(y),m=n(82559),h=n.n(m),v=n(21652),b=n.n(v),g=n(57165),k=n(81889),x=n(9841),A=n(58772),O=n(34067),E=n(16630),P=n(85355),j=n(82944),w=["layout","type","stroke","connectNulls","isRange","ref"],S=["key"];function L(t){return(L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function D(t,e){if(null==t)return{};var n,r,a=function(t,e){if(null==t)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}function N(){return(N=Object.assign?Object.assign.bind():function(t){for(var e=1;e0||!b()(l,r)||!b()(s,a))?this.renderAreaWithAnimation(t,e):this.renderAreaStatically(r,a,t,e)}},{key:"render",value:function(){var t,e=this.props,n=e.hide,r=e.dot,i=e.points,o=e.className,s=e.top,c=e.left,u=e.xAxis,p=e.yAxis,d=e.width,y=e.height,m=e.isAnimationActive,h=e.id;if(n||!i||!i.length)return null;var v=this.state.isAnimationFinished,b=1===i.length,g=(0,l.Z)("recharts-area",o),k=u&&u.allowDataOverflow,O=p&&p.allowDataOverflow,E=k||O,P=f()(h)?this.id:h,w=null!==(t=(0,j.L6)(r,!1))&&void 0!==t?t:{r:3,strokeWidth:2},S=w.r,L=w.strokeWidth,D=((0,j.jf)(r)?r:{}).clipDot,N=void 0===D||D,C=2*(void 0===S?3:S)+(void 0===L?2:L);return a.createElement(x.m,{className:g},k||O?a.createElement("defs",null,a.createElement("clipPath",{id:"clipPath-".concat(P)},a.createElement("rect",{x:k?c:c-d/2,y:O?s:s-y/2,width:k?d:2*d,height:O?y:2*y})),!N&&a.createElement("clipPath",{id:"clipPath-dots-".concat(P)},a.createElement("rect",{x:c-C/2,y:s-C/2,width:d+C,height:y+C}))):null,b?null:this.renderArea(E,P),(r||b)&&this.renderDots(E,N,P),(!m||v)&&A.e.renderCallByParent(this.props,i))}}],n=[{key:"getDerivedStateFromProps",value:function(t,e){return t.animationId!==e.prevAnimationId?{prevAnimationId:t.animationId,curPoints:t.points,curBaseLine:t.baseLine,prevPoints:e.curPoints,prevBaseLine:e.curBaseLine}:t.points!==e.curPoints||t.baseLine!==e.curBaseLine?{curPoints:t.points,curBaseLine:t.baseLine}:null}}],e&&K(r.prototype,e),n&&K(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}(a.PureComponent);I(W,"displayName","Area"),I(W,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!O.x.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"}),I(W,"getBaseValue",function(t,e,n,r){var a=t.layout,i=t.baseValue,o=e.props.baseValue,l=null!=o?o:i;if((0,E.hj)(l)&&"number"==typeof l)return l;var s="horizontal"===a?r:n,c=s.scale.domain();if("number"===s.type){var u=Math.max(c[0],c[1]),p=Math.min(c[0],c[1]);return"dataMin"===l?p:"dataMax"===l?u:u<0?u:Math.max(Math.min(c[0],c[1]),0)}return"dataMin"===l?c[0]:"dataMax"===l?c[1]:c[0]}),I(W,"getComposedData",function(t){var e,n=t.props,r=t.item,a=t.xAxis,i=t.yAxis,o=t.xAxisTicks,l=t.yAxisTicks,s=t.bandSize,c=t.dataKey,u=t.stackedData,p=t.dataStartIndex,d=t.displayedData,y=t.offset,f=n.layout,m=u&&u.length,h=W.getBaseValue(n,r,a,i),v="horizontal"===f,b=!1,g=d.map(function(t,e){m?n=u[p+e]:Array.isArray(n=(0,P.F$)(t,c))?b=!0:n=[h,n];var n,r=null==n[1]||m&&null==(0,P.F$)(t,c);return v?{x:(0,P.Hv)({axis:a,ticks:o,bandSize:s,entry:t,index:e}),y:r?null:i.scale(n[1]),value:n,payload:t}:{x:r?null:a.scale(n[1]),y:(0,P.Hv)({axis:i,ticks:l,bandSize:s,entry:t,index:e}),value:n,payload:t}});return e=m||b?g.map(function(t){var e=Array.isArray(t.value)?t.value[0]:null;return v?{x:t.x,y:null!=e&&null!=t.y?i.scale(e):null}:{x:null!=e?a.scale(e):null,y:t.y}}):v?i.scale(h):a.scale(h),T({points:g,baseLine:e,layout:f,isRange:b},y)}),I(W,"renderDotItem",function(t,e){var n;if(a.isValidElement(t))n=a.cloneElement(t,e);else if(u()(t))n=t(e);else{var r=(0,l.Z)("recharts-area-dot","boolean"!=typeof t?t.className:""),i=e.key,o=D(e,S);n=a.createElement(k.o,N({},o,{key:i,className:r}))}return n});var R=n(97059),V=n(62994),G=n(25311),z=(0,o.z)({chartName:"AreaChart",GraphicalChild:W,axisComponents:[{axisType:"xAxis",AxisComp:R.K},{axisType:"yAxis",AxisComp:V.B}],formatAxisMap:G.t9}),H=n(56940),Z=n(26680),q=n(8147),$=n(22190),X=n(54061),U=n(65278),Y=n(98593),J=n(92666),Q=n(32644),tt=n(7084),te=n(26898),tn=n(13241),tr=n(1153);let ta=a.forwardRef((t,e)=>{let{data:n=[],categories:o=[],index:l,stack:s=!1,colors:c=te.s,valueFormatter:u=tr.Cj,startEndOnly:p=!1,showXAxis:d=!0,showYAxis:y=!0,yAxisWidth:f=56,intervalType:m="equidistantPreserveStart",showAnimation:h=!1,animationDuration:v=900,showTooltip:b=!0,showLegend:g=!0,showGridLines:x=!0,showGradient:A=!0,autoMinValue:O=!1,curveType:E="linear",minValue:P,maxValue:j,connectNulls:w=!1,allowDecimals:S=!0,noDataText:L,className:D,onValueChange:N,enableLegendSlider:C=!1,customTooltip:T,rotateLabelX:K,padding:M=(d||y)&&(!p||y)?{left:20,right:20}:{left:0,right:0},tickGap:F=5,xAxisLabel:B,yAxisLabel:I}=t,_=(0,r._T)(t,["data","categories","index","stack","colors","valueFormatter","startEndOnly","showXAxis","showYAxis","yAxisWidth","intervalType","showAnimation","animationDuration","showTooltip","showLegend","showGridLines","showGradient","autoMinValue","curveType","minValue","maxValue","connectNulls","allowDecimals","noDataText","className","onValueChange","enableLegendSlider","customTooltip","rotateLabelX","padding","tickGap","xAxisLabel","yAxisLabel"]),[G,ta]=(0,a.useState)(60),[ti,to]=(0,a.useState)(void 0),[tl,ts]=(0,a.useState)(void 0),tc=(0,Q.me)(o,c),tu=(0,Q.i4)(O,P,j),tp=!!N;function td(t){tp&&(t===tl&&!ti||(0,Q.FB)(n,t)&&ti&&ti.dataKey===t?(ts(void 0),null==N||N(null)):(ts(t),null==N||N({eventType:"category",categoryClicked:t})),to(void 0))}return a.createElement("div",Object.assign({ref:e,className:(0,tn.q)("w-full h-80",D)},_),a.createElement(i.h,{className:"h-full w-full"},(null==n?void 0:n.length)?a.createElement(z,{data:n,onClick:tp&&(tl||ti)?()=>{to(void 0),ts(void 0),null==N||N(null)}:void 0,margin:{bottom:B?30:void 0,left:I?20:void 0,right:I?5:void 0,top:5}},x?a.createElement(H.q,{className:(0,tn.q)("stroke-1","stroke-tremor-border","dark:stroke-dark-tremor-border"),horizontal:!0,vertical:!1}):null,a.createElement(R.K,{padding:M,hide:!d,dataKey:l,tick:{transform:"translate(0, 6)"},ticks:p?[n[0][l],n[n.length-1][l]]:void 0,fill:"",stroke:"",className:(0,tn.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),interval:p?"preserveStartEnd":m,tickLine:!1,axisLine:!1,minTickGap:F,angle:null==K?void 0:K.angle,dy:null==K?void 0:K.verticalShift,height:null==K?void 0:K.xAxisHeight},B&&a.createElement(Z._,{position:"insideBottom",offset:-20,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},B)),a.createElement(V.B,{width:f,hide:!y,axisLine:!1,tickLine:!1,type:"number",domain:tu,tick:{transform:"translate(-3, 0)"},fill:"",stroke:"",className:(0,tn.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickFormatter:u,allowDecimals:S},I&&a.createElement(Z._,{position:"insideLeft",style:{textAnchor:"middle"},angle:-90,offset:-15,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},I)),a.createElement(q.u,{wrapperStyle:{outline:"none"},isAnimationActive:!1,cursor:{stroke:"#d1d5db",strokeWidth:1},content:b?t=>{let{active:e,payload:n,label:r}=t;return T?a.createElement(T,{payload:null==n?void 0:n.map(t=>{var e;return Object.assign(Object.assign({},t),{color:null!==(e=tc.get(t.dataKey))&&void 0!==e?e:tt.fr.Gray})}),active:e,label:r}):a.createElement(Y.ZP,{active:e,payload:n,label:r,valueFormatter:u,categoryColors:tc})}:a.createElement(a.Fragment,null),position:{y:0}}),g?a.createElement($.D,{verticalAlign:"top",height:G,content:t=>{let{payload:e}=t;return(0,U.Z)({payload:e},tc,ta,tl,tp?t=>td(t):void 0,C)}}):null,o.map(t=>{var e,n,r;let i=(null!==(e=tc.get(t))&&void 0!==e?e:tt.fr.Gray).replace("#","");return a.createElement("defs",{key:t},A?a.createElement("linearGradient",{className:(0,tr.bM)(null!==(n=tc.get(t))&&void 0!==n?n:tt.fr.Gray,te.K.text).textColor,id:i,x1:"0",y1:"0",x2:"0",y2:"1"},a.createElement("stop",{offset:"5%",stopColor:"currentColor",stopOpacity:ti||tl&&tl!==t?.15:.4}),a.createElement("stop",{offset:"95%",stopColor:"currentColor",stopOpacity:0})):a.createElement("linearGradient",{className:(0,tr.bM)(null!==(r=tc.get(t))&&void 0!==r?r:tt.fr.Gray,te.K.text).textColor,id:i,x1:"0",y1:"0",x2:"0",y2:"1"},a.createElement("stop",{stopColor:"currentColor",stopOpacity:ti||tl&&tl!==t?.1:.3})))}),o.map(t=>{var e,r;let i=(null!==(e=tc.get(t))&&void 0!==e?e:tt.fr.Gray).replace("#","");return a.createElement(W,{className:(0,tr.bM)(null!==(r=tc.get(t))&&void 0!==r?r:tt.fr.Gray,te.K.text).strokeColor,strokeOpacity:ti||tl&&tl!==t?.3:1,activeDot:t=>{var e;let{cx:r,cy:i,stroke:o,strokeLinecap:l,strokeLinejoin:s,strokeWidth:c,dataKey:u}=t;return a.createElement(k.o,{className:(0,tn.q)("stroke-tremor-background dark:stroke-dark-tremor-background",N?"cursor-pointer":"",(0,tr.bM)(null!==(e=tc.get(u))&&void 0!==e?e:tt.fr.Gray,te.K.text).fillColor),cx:r,cy:i,r:5,fill:"",stroke:o,strokeLinecap:l,strokeLinejoin:s,strokeWidth:c,onClick:(e,r)=>{r.stopPropagation(),tp&&(t.index===(null==ti?void 0:ti.index)&&t.dataKey===(null==ti?void 0:ti.dataKey)||(0,Q.FB)(n,t.dataKey)&&tl&&tl===t.dataKey?(ts(void 0),to(void 0),null==N||N(null)):(ts(t.dataKey),to({index:t.index,dataKey:t.dataKey}),null==N||N(Object.assign({eventType:"dot",categoryClicked:t.dataKey},t.payload))))}})},dot:e=>{var r;let{stroke:i,strokeLinecap:o,strokeLinejoin:l,strokeWidth:s,cx:c,cy:u,dataKey:p,index:d}=e;return(0,Q.FB)(n,t)&&!(ti||tl&&tl!==t)||(null==ti?void 0:ti.index)===d&&(null==ti?void 0:ti.dataKey)===t?a.createElement(k.o,{key:d,cx:c,cy:u,r:5,stroke:i,fill:"",strokeLinecap:o,strokeLinejoin:l,strokeWidth:s,className:(0,tn.q)("stroke-tremor-background dark:stroke-dark-tremor-background",N?"cursor-pointer":"",(0,tr.bM)(null!==(r=tc.get(p))&&void 0!==r?r:tt.fr.Gray,te.K.text).fillColor)}):a.createElement(a.Fragment,{key:d})},key:t,name:t,type:E,dataKey:t,stroke:"",fill:"url(#".concat(i,")"),strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",isAnimationActive:h,animationDuration:v,stackId:s?"a":void 0,connectNulls:w})}),N?o.map(t=>a.createElement(X.x,{className:(0,tn.q)("cursor-pointer"),strokeOpacity:0,key:t,name:t,type:E,dataKey:t,stroke:"transparent",fill:"transparent",legendType:"none",tooltipType:"none",strokeWidth:12,connectNulls:w,onClick:(t,e)=>{e.stopPropagation();let{name:n}=t;td(n)}})):null):a.createElement(J.Z,{noDataText:L})))});ta.displayName="AreaChart"},54061:function(t,e,n){n.d(e,{x:function(){return F}});var r=n(2265),a=n(84735),i=n(86757),o=n.n(i),l=n(77571),s=n.n(l),c=n(21652),u=n.n(c),p=n(87602),d=n(57165),y=n(81889),f=n(9841),m=n(58772),h=n(13137),v=n(16630),b=n(82944),g=n(34067),k=n(85355),x=["type","layout","connectNulls","ref"],A=["key"];function O(t){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function E(t,e){if(null==t)return{};var n,r,a=function(t,e){if(null==t)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}function P(){return(P=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);no){s=[].concat(S(r.slice(0,c)),[o-u]);break}var p=s.length%2==0?[0,l]:[l];return[].concat(S(i.repeat(r,Math.floor(e/a))),S(s),p).map(function(t){return"".concat(t,"px")}).join(", ")}),K(t,"id",(0,v.EL)("recharts-line-")),K(t,"pathRef",function(e){t.mainCurve=e}),K(t,"handleAnimationEnd",function(){t.setState({isAnimationFinished:!0}),t.props.onAnimationEnd&&t.props.onAnimationEnd()}),K(t,"handleAnimationStart",function(){t.setState({isAnimationFinished:!1}),t.props.onAnimationStart&&t.props.onAnimationStart()}),t}return!function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&T(t,e)}(i,t),e=[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var t=this.getTotalLength();this.setState({totalLength:t})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var t=this.getTotalLength();t!==this.state.totalLength&&this.setState({totalLength:t})}}},{key:"getTotalLength",value:function(){var t=this.mainCurve;try{return t&&t.getTotalLength&&t.getTotalLength()||0}catch(t){return 0}}},{key:"renderErrorBar",value:function(t,e){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,a=n.points,i=n.xAxis,o=n.yAxis,l=n.layout,s=n.children,c=(0,b.NN)(s,h.W);if(!c)return null;var u=function(t,e){return{x:t.x,y:t.y,value:t.value,errorVal:(0,k.F$)(t.payload,e)}};return r.createElement(f.m,{clipPath:t?"url(#clipPath-".concat(e,")"):null},c.map(function(t){return r.cloneElement(t,{key:"bar-".concat(t.props.dataKey),data:a,xAxis:i,yAxis:o,layout:l,dataPointFormatter:u})}))}},{key:"renderDots",value:function(t,e,n){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var a=this.props,o=a.dot,l=a.points,s=a.dataKey,c=(0,b.L6)(this.props,!1),u=(0,b.L6)(o,!0),p=l.map(function(t,e){var n=w(w(w({key:"dot-".concat(e),r:3},c),u),{},{index:e,cx:t.x,cy:t.y,value:t.value,dataKey:s,payload:t.payload,points:l});return i.renderDotItem(o,n)}),d={clipPath:t?"url(#clipPath-".concat(e?"":"dots-").concat(n,")"):null};return r.createElement(f.m,P({className:"recharts-line-dots",key:"dots"},d),p)}},{key:"renderCurveStatically",value:function(t,e,n,a){var i=this.props,o=i.type,l=i.layout,s=i.connectNulls,c=(i.ref,E(i,x)),u=w(w(w({},(0,b.L6)(c,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:e?"url(#clipPath-".concat(n,")"):null,points:t},a),{},{type:o,layout:l,connectNulls:s});return r.createElement(d.H,P({},u,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(t,e){var n=this,i=this.props,o=i.points,l=i.strokeDasharray,s=i.isAnimationActive,c=i.animationBegin,u=i.animationDuration,p=i.animationEasing,d=i.animationId,y=i.animateNewValues,f=i.width,m=i.height,h=this.state,b=h.prevPoints,g=h.totalLength;return r.createElement(a.ZP,{begin:c,duration:u,isActive:s,easing:p,from:{t:0},to:{t:1},key:"line-".concat(d),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(r){var a,i=r.t;if(b){var s=b.length/o.length,c=o.map(function(t,e){var n=Math.floor(e*s);if(b[n]){var r=b[n],a=(0,v.k4)(r.x,t.x),o=(0,v.k4)(r.y,t.y);return w(w({},t),{},{x:a(i),y:o(i)})}if(y){var l=(0,v.k4)(2*f,t.x),c=(0,v.k4)(m/2,t.y);return w(w({},t),{},{x:l(i),y:c(i)})}return w(w({},t),{},{x:t.x,y:t.y})});return n.renderCurveStatically(c,t,e)}var u=(0,v.k4)(0,g)(i);if(l){var p="".concat(l).split(/[,\s]+/gim).map(function(t){return parseFloat(t)});a=n.getStrokeDasharray(u,g,p)}else a=n.generateSimpleStrokeDasharray(g,u);return n.renderCurveStatically(o,t,e,{strokeDasharray:a})})}},{key:"renderCurve",value:function(t,e){var n=this.props,r=n.points,a=n.isAnimationActive,i=this.state,o=i.prevPoints,l=i.totalLength;return a&&r&&r.length&&(!o&&l>0||!u()(o,r))?this.renderCurveWithAnimation(t,e):this.renderCurveStatically(r,t,e)}},{key:"render",value:function(){var t,e=this.props,n=e.hide,a=e.dot,i=e.points,o=e.className,l=e.xAxis,c=e.yAxis,u=e.top,d=e.left,y=e.width,h=e.height,v=e.isAnimationActive,g=e.id;if(n||!i||!i.length)return null;var k=this.state.isAnimationFinished,x=1===i.length,A=(0,p.Z)("recharts-line",o),O=l&&l.allowDataOverflow,E=c&&c.allowDataOverflow,P=O||E,j=s()(g)?this.id:g,w=null!==(t=(0,b.L6)(a,!1))&&void 0!==t?t:{r:3,strokeWidth:2},S=w.r,L=w.strokeWidth,D=((0,b.jf)(a)?a:{}).clipDot,N=void 0===D||D,C=2*(void 0===S?3:S)+(void 0===L?2:L);return r.createElement(f.m,{className:A},O||E?r.createElement("defs",null,r.createElement("clipPath",{id:"clipPath-".concat(j)},r.createElement("rect",{x:O?d:d-y/2,y:E?u:u-h/2,width:O?y:2*y,height:E?h:2*h})),!N&&r.createElement("clipPath",{id:"clipPath-dots-".concat(j)},r.createElement("rect",{x:d-C/2,y:u-C/2,width:y+C,height:h+C}))):null,!x&&this.renderCurve(P,j),this.renderErrorBar(P,j),(x||a)&&this.renderDots(P,N,j),(!v||k)&&m.e.renderCallByParent(this.props,i))}}],n=[{key:"getDerivedStateFromProps",value:function(t,e){return t.animationId!==e.prevAnimationId?{prevAnimationId:t.animationId,curPoints:t.points,prevPoints:e.curPoints}:t.points!==e.curPoints?{curPoints:t.points}:null}},{key:"repeat",value:function(t,e){for(var n=t.length%2!=0?[].concat(S(t),[0]):t,r=[],a=0;a{B(!0),null==G||G(!L),H.nextFrame(()=>{B(!1)})}),z=(0,h.z)(e=>{if((0,b.P)(e.currentTarget))return e.preventDefault();e.preventDefault(),J()}),X=(0,h.z)(e=>{e.key===w.R.Space?(e.preventDefault(),J()):e.key===w.R.Enter&&(0,g.g)(e.currentTarget)}),Y=(0,h.z)(e=>e.preventDefault()),U=(0,k.wp)(),$=(0,C.zH)(),{isFocusVisible:W,focusProps:ee}=(0,n.F)({autoFocus:_}),{isHovered:et,hoverProps:er}=(0,s.X)({isDisabled:O}),{pressed:ea,pressProps:en}=(0,o.x)({disabled:O}),es=(0,i.useMemo)(()=>({checked:L,disabled:O,hover:et,focus:W,active:ea,autofocus:_,changing:Z}),[L,et,W,ea,O,Z,_]),ei=(0,v.dG)({id:N,ref:j,role:"switch",type:(0,d.f)(e,R),tabIndex:-1===e.tabIndex?0:null!=(r=e.tabIndex)?r:0,"aria-checked":L,"aria-labelledby":U,"aria-describedby":$,disabled:O||void 0,autoFocus:_,onClick:z,onKeyUp:X,onKeyPress:Y},ee,er,en),eo=(0,i.useCallback)(()=>{if(void 0!==K)return null==G?void 0:G(K)},[G,K]),eu=(0,v.L6)();return i.createElement(i.Fragment,null,null!=F&&i.createElement(p.Mt,{disabled:O,data:{[F]:M||"on"},overrides:{type:"checkbox",checked:L},form:Q,onReset:eo}),eu({ourProps:ei,theirProps:V,slot:es,defaultTag:"button",name:"Switch"}))}),{Group:function(e){var t;let[r,a]=(0,i.useState)(null),[n,s]=(0,k.bE)(),[o,u]=(0,C.fw)(),l=(0,i.useMemo)(()=>({switch:r,setSwitch:a}),[r,a]),c=(0,v.L6)();return i.createElement(u,{name:"Switch.Description",value:o},i.createElement(s,{name:"Switch.Label",value:n,props:{htmlFor:null==(t=l.switch)?void 0:t.id,onClick(e){r&&(e.currentTarget instanceof HTMLLabelElement&&e.preventDefault(),r.click(),r.focus({preventScroll:!0}))}}},i.createElement(E.Provider,{value:l},c({ourProps:{},theirProps:e,slot:{},defaultTag:x,name:"Switch.Group"}))))},Label:k.__,Description:C.dk});var N=r(44140),O=r(26898),S=r(13241),P=r(1153),D=r(47187);let F=(0,P.fn)("Switch"),M=i.forwardRef((e,t)=>{let{checked:r,defaultChecked:n=!1,onChange:s,color:o,name:u,error:l,errorMessage:c,disabled:h,required:d,tooltip:f,id:m}=e,p=(0,a._T)(e,["checked","defaultChecked","onChange","color","name","error","errorMessage","disabled","required","tooltip","id"]),y={bgColor:o?(0,P.bM)(o,O.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",ringColor:o?(0,P.bM)(o,O.K.ring).ringColor:"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"},[b,g]=(0,N.Z)(n,r),[v,C]=(0,i.useState)(!1),{tooltipProps:w,getReferenceProps:k}=(0,D.l)(300);return i.createElement("div",{className:"flex flex-row items-center justify-start"},i.createElement(D.Z,Object.assign({text:f},w)),i.createElement("div",Object.assign({ref:(0,P.lq)([t,w.refs.setReference]),className:(0,S.q)(F("root"),"flex flex-row relative h-5")},p,k),i.createElement("input",{type:"checkbox",className:(0,S.q)(F("input"),"absolute w-5 h-5 cursor-pointer left-0 top-0 opacity-0"),name:u,required:d,checked:b,onChange:e=>{e.preventDefault()}}),i.createElement(q,{checked:b,onChange:e=>{g(e),null==s||s(e)},disabled:h,className:(0,S.q)(F("switch"),"w-10 h-5 group relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-tremor-full","focus:outline-none",h?"cursor-not-allowed":""),onFocus:()=>C(!0),onBlur:()=>C(!1),id:m},i.createElement("span",{className:(0,S.q)(F("sr-only"),"sr-only")},"Switch ",b?"on":"off"),i.createElement("span",{"aria-hidden":"true",className:(0,S.q)(F("background"),b?y.bgColor:"bg-tremor-border dark:bg-dark-tremor-border","pointer-events-none absolute mx-auto h-3 w-9 rounded-tremor-full transition-colors duration-100 ease-in-out")}),i.createElement("span",{"aria-hidden":"true",className:(0,S.q)(F("round"),b?(0,S.q)(y.bgColor,"translate-x-5 border-tremor-background dark:border-dark-tremor-background"):"translate-x-0 bg-tremor-border dark:bg-dark-tremor-border border-tremor-background dark:border-dark-tremor-background","pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-tremor-full border-2 shadow-tremor-input duration-100 ease-in-out transition",v?(0,S.q)("ring-2",y.ringColor):"")}))),l&&c?i.createElement("p",{className:(0,S.q)(F("errorMessage"),"text-sm text-red-500 mt-1 ")},c):null)});M.displayName="Switch"},35829:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var a=r(5853),n=r(26898),s=r(13241),i=r(1153),o=r(2265);let u=o.forwardRef((e,t)=>{let{color:r,children:u,className:l}=e,c=(0,a._T)(e,["color","children","className"]);return o.createElement("p",Object.assign({ref:t,className:(0,s.q)("font-semibold text-tremor-metric",r?(0,i.bM)(r,n.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",l)},c),u)});u.displayName="Metric"},44140:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});var a=r(2265);let n=(e,t)=>{let r=void 0!==t,[n,s]=(0,a.useState)(e);return[r?t:n,e=>{r||s(e)}]}},86669:function(e,t,r){"use strict";r.d(t,{gc:function(){return C},jF:function(){return g}});var a=r(2265);let n=e=>"boolean"==typeof e||e instanceof Boolean,s=e=>"number"==typeof e||e instanceof Number,i=e=>"bigint"==typeof e||e instanceof BigInt,o=e=>!!e&&e instanceof Date,u=e=>"string"==typeof e||e instanceof String,l=e=>Array.isArray(e),c=e=>"object"==typeof e&&null!==e,h=e=>!!e&&e instanceof Object&&"function"==typeof e;function d(e,t){return void 0===t&&(t=!1),!e||t?`"${e}"`:e}function f(e){let{field:t,value:r,data:n,lastElement:s,openBracket:i,closeBracket:o,level:u,style:l,shouldExpandNode:c,clickToExpandNode:h,outerRef:f,beforeExpandChange:m}=e,p=(0,a.useRef)(!1),[y,g]=(0,a.useState)(()=>c(u,r,t)),v=(0,a.useRef)(null);(0,a.useEffect)(()=>{p.current?g(c(u,r,t)):p.current=!0},[c]);let C=(0,a.useId)();if(0===n.length)return function(e){let{field:t,openBracket:r,closeBracket:n,lastElement:s,style:i}=e;return(0,a.createElement)("div",{className:i.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||""===t)&&(0,a.createElement)("span",{className:i.label},d(t,i.quotesForFieldNames),":"),(0,a.createElement)("span",{className:i.punctuation},r),(0,a.createElement)("span",{className:i.punctuation},n),!s&&(0,a.createElement)("span",{className:i.punctuation},","))}({field:t,openBracket:i,closeBracket:o,lastElement:s,style:l});let w=y?l.collapseIcon:l.expandIcon,k=y?l.ariaLables.collapseJson:l.ariaLables.expandJson,E=u+1,x=n.length-1,q=e=>{y!==e&&(!m||m({level:u,value:r,field:t,newExpandValue:e}))&&g(e)},N=e=>{if("ArrowRight"===e.key||"ArrowLeft"===e.key)e.preventDefault(),q("ArrowRight"===e.key);else if("ArrowUp"===e.key||"ArrowDown"===e.key){e.preventDefault();let t="ArrowUp"===e.key?-1:1;if(!f.current)return;let r=f.current.querySelectorAll("[role=button]"),a=-1;for(let e=0;e{var e;q(!y);let t=v.current;if(!t)return;let r=null===(e=f.current)||void 0===e?void 0:e.querySelector('[role=button][tabindex="0"]');r&&(r.tabIndex=-1),t.tabIndex=0,t.focus()};return(0,a.createElement)("div",{className:l.basicChildStyle,role:"treeitem","aria-expanded":y,"aria-selected":void 0},(0,a.createElement)("span",{className:w,onClick:O,onKeyDown:N,role:"button","aria-label":k,"aria-expanded":y,"aria-controls":y?C:void 0,ref:v,tabIndex:0===u?0:-1}),(t||""===t)&&(h?(0,a.createElement)("span",{className:l.clickableLabel,onClick:O,onKeyDown:N},d(t,l.quotesForFieldNames),":"):(0,a.createElement)("span",{className:l.label},d(t,l.quotesForFieldNames),":")),(0,a.createElement)("span",{className:l.punctuation},i),y?(0,a.createElement)("ul",{id:C,role:"group",className:l.childFieldsContainer},n.map((e,t)=>(0,a.createElement)(b,{key:e[0]||t,field:e[0],value:e[1],style:l,lastElement:t===x,level:E,shouldExpandNode:c,clickToExpandNode:h,beforeExpandChange:m,outerRef:f}))):(0,a.createElement)("span",{className:l.collapsedContent,onClick:O,onKeyDown:N}),(0,a.createElement)("span",{className:l.punctuation},o),!s&&(0,a.createElement)("span",{className:l.punctuation},","))}function m(e){let{field:t,value:r,style:a,lastElement:n,shouldExpandNode:s,clickToExpandNode:i,level:o,outerRef:u,beforeExpandChange:l}=e;return f({field:t,value:r,lastElement:n||!1,level:o,openBracket:"{",closeBracket:"}",style:a,shouldExpandNode:s,clickToExpandNode:i,data:Object.keys(r).map(e=>[e,r[e]]),outerRef:u,beforeExpandChange:l})}function p(e){let{field:t,value:r,style:a,lastElement:n,level:s,shouldExpandNode:i,clickToExpandNode:o,outerRef:u,beforeExpandChange:l}=e;return f({field:t,value:r,lastElement:n||!1,level:s,openBracket:"[",closeBracket:"]",style:a,shouldExpandNode:i,clickToExpandNode:o,data:r.map(e=>[void 0,e]),outerRef:u,beforeExpandChange:l})}function y(e){let t,{field:r,value:l,style:c,lastElement:f}=e,m=c.otherValue;if(null===l)t="null",m=c.nullValue;else if(void 0===l)t="undefined",m=c.undefinedValue;else if(u(l)){var p;p=!c.noQuotesForStringValues,t=c.stringifyStringValues?JSON.stringify(l):p?`"${l}"`:l,m=c.stringValue}else n(l)?(t=l?"true":"false",m=c.booleanValue):s(l)?(t=l.toString(),m=c.numberValue):i(l)?(t=`${l.toString()}n`,m=c.numberValue):t=o(l)?l.toISOString():h(l)?"function() { }":l.toString();return(0,a.createElement)("div",{className:c.basicChildStyle,role:"treeitem","aria-selected":void 0},(r||""===r)&&(0,a.createElement)("span",{className:c.label},d(r,c.quotesForFieldNames),":"),(0,a.createElement)("span",{className:m},t),!f&&(0,a.createElement)("span",{className:c.punctuation},","))}function b(e){let t=e.value;return l(t)?(0,a.createElement)(p,Object.assign({},e)):!c(t)||o(t)||h(t)?(0,a.createElement)(y,Object.assign({},e)):(0,a.createElement)(m,Object.assign({},e))}let g={container:"_2IvMF _GzYRV",basicChildStyle:"_2bkNM",childFieldsContainer:"_1BXBN",label:"_1MGIk",clickableLabel:"_2YKJg _1MGIk _1MFti",nullValue:"_2T6PJ",undefinedValue:"_1Gho6",stringValue:"_vGjyY",booleanValue:"_3zQKs",numberValue:"_1bQdo",otherValue:"_1xvuR",punctuation:"_3uHL6 _3eOF8",collapseIcon:"_oLqym _f10Tu _1MFti _1LId0",expandIcon:"_2AXVT _f10Tu _1MFti _1UmXx",collapsedContent:"_2KJWg _1pNG9 _1MFti",noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:{collapseJson:"collapse JSON",expandJson:"expand JSON"},stringifyStringValues:!1},v=()=>!0,C=e=>{let{data:t,style:r=g,shouldExpandNode:n=v,clickToExpandNode:s=!1,beforeExpandChange:i,compactTopLevel:o,...u}=e,l=(0,a.useRef)(null);return(0,a.createElement)("div",Object.assign({"aria-label":"JSON view"},u,{className:r.container,ref:l,role:"tree"}),o&&c(t)?Object.entries(t).map(e=>{let[t,o]=e;return(0,a.createElement)(b,{key:t,field:t,value:o,style:{...g,...r},lastElement:!0,level:1,shouldExpandNode:n,clickToExpandNode:s,beforeExpandChange:i,outerRef:l})}):(0,a.createElement)(b,{value:t,style:{...g,...r},lastElement:!0,level:0,shouldExpandNode:n,clickToExpandNode:s,outerRef:l,beforeExpandChange:i}))}},52621:function(){},2356:function(e,t,r){"use strict";var a=r(2265);let n=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"}))});t.Z=n},2894:function(e,t,r){"use strict";r.d(t,{R:function(){return o},m:function(){return i}});var a=r(18238),n=r(7989),s=r(11255),i=class extends n.F{#e;#t;#r;#a;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||o(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#a?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#n({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#a=(0,s.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#n({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#n({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let a="pending"===this.state.status,n=!this.#a.canStart();try{if(a)t();else{this.#n({type:"pending",variables:e,isPaused:n}),await this.#r.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#n({type:"pending",context:t,variables:e,isPaused:n})}let s=await this.#a.start();return await this.#r.config.onSuccess?.(s,e,this.state.context,this,r),await this.options.onSuccess?.(s,e,this.state.context,r),await this.#r.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,e,this.state.context,r),this.#n({type:"success",data:s}),s}catch(t){try{throw await this.#r.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#n({type:"error",error:t})}}finally{this.#r.runNext(this)}}#n(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),a.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21623:function(e,t,r){"use strict";r.d(t,{S:function(){return p}});var a=r(45345),n=r(21733),s=r(18238),i=r(24112),o=class extends i.l{constructor(e={}){super(),this.config=e,this.#s=new Map}#s;build(e,t,r){let s=t.queryKey,i=t.queryHash??(0,a.Rm)(s,t),o=this.get(i);return o||(o=new n.A({client:e,queryKey:s,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(s)}),this.add(o)),o}add(e){this.#s.has(e.queryHash)||(this.#s.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#s.get(e.queryHash);t&&(e.destroy(),t===e&&this.#s.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){s.Vr.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#s.get(e)}getAll(){return[...this.#s.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,a._x)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,a._x)(e,t)):t}notify(e){s.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){s.Vr.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){s.Vr.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},u=r(2894),l=class extends i.l{constructor(e={}){super(),this.config=e,this.#i=new Set,this.#o=new Map,this.#u=0}#i;#o;#u;build(e,t,r){let a=new u.m({client:e,mutationCache:this,mutationId:++this.#u,options:e.defaultMutationOptions(t),state:r});return this.add(a),a}add(e){this.#i.add(e);let t=c(e);if("string"==typeof t){let r=this.#o.get(t);r?r.push(e):this.#o.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#i.delete(e)){let t=c(e);if("string"==typeof t){let r=this.#o.get(t);if(r){if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#o.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=c(e);if("string"!=typeof t)return!0;{let r=this.#o.get(t),a=r?.find(e=>"pending"===e.state.status);return!a||a===e}}runNext(e){let t=c(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#o.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){s.Vr.batch(()=>{this.#i.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#i.clear(),this.#o.clear()})}getAll(){return Array.from(this.#i)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,a.X7)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,a.X7)(e,t))}notify(e){s.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return s.Vr.batch(()=>Promise.all(e.map(e=>e.continue().catch(a.ZT))))}};function c(e){return e.options.scope?.id}var h=r(87045),d=r(57853);function f(e){return{onFetch:(t,r)=>{let n=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],o=t.state.data?.pageParams||[],u={pages:[],pageParams:[]},l=0,c=async()=>{let r=!1,c=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)})},h=(0,a.cG)(t.options,t.fetchOptions),d=async(e,n,s)=>{if(r)return Promise.reject();if(null==n&&e.pages.length)return Promise.resolve(e);let i=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:n,direction:s?"backward":"forward",meta:t.options.meta};return c(e),e})(),o=await h(i),{maxPages:u}=t.options,l=s?a.Ht:a.VX;return{pages:l(e.pages,o,u),pageParams:l(e.pageParams,n,u)}};if(s&&i.length){let e="backward"===s,t={pages:i,pageParams:o},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:m)(n,t);u=await d(t,r,e)}else{let t=e??i.length;do{let e=0===l?o[0]??n.initialPageParam:m(n,u);if(l>0&&null==e)break;u=await d(u,e),l++}while(lt.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=c}}}function m(e,{pages:t,pageParams:r}){let a=t.length-1;return t.length>0?e.getNextPageParam(t[a],t,r[a],r):void 0}var p=class{#l;#r;#c;#h;#d;#f;#m;#p;constructor(e={}){this.#l=e.queryCache||new o,this.#r=e.mutationCache||new l,this.#c=e.defaultOptions||{},this.#h=new Map,this.#d=new Map,this.#f=0}mount(){this.#f++,1===this.#f&&(this.#m=h.j.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#l.onFocus())}),this.#p=d.N.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#l.onOnline())}))}unmount(){this.#f--,0===this.#f&&(this.#m?.(),this.#m=void 0,this.#p?.(),this.#p=void 0)}isFetching(e){return this.#l.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#r.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#l.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#l.build(this,t),n=r.state.data;return void 0===n?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,a.KC)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#l.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),s=this.#l.get(n.queryHash),i=s?.state.data,o=(0,a.SE)(t,i);if(void 0!==o)return this.#l.build(this,n).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return s.Vr.batch(()=>this.#l.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#l.get(t.queryHash)?.state}removeQueries(e){let t=this.#l;s.Vr.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#l;return s.Vr.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(s.Vr.batch(()=>this.#l.findAll(e).map(e=>e.cancel(r)))).then(a.ZT).catch(a.ZT)}invalidateQueries(e,t={}){return s.Vr.batch(()=>(this.#l.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(s.Vr.batch(()=>this.#l.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(a.ZT)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(a.ZT)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#l.build(this,t);return r.isStaleByTime((0,a.KC)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(a.ZT).catch(a.ZT)}fetchInfiniteQuery(e){return e.behavior=f(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(a.ZT).catch(a.ZT)}ensureInfiniteQueryData(e){return e.behavior=f(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return d.N.isOnline()?this.#r.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#l}getMutationCache(){return this.#r}getDefaultOptions(){return this.#c}setDefaultOptions(e){this.#c=e}setQueryDefaults(e,t){this.#h.set((0,a.Ym)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#h.values()],r={};return t.forEach(t=>{(0,a.to)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#d.set((0,a.Ym)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#d.values()],r={};return t.forEach(t=>{(0,a.to)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#c.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,a.Rm)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===a.CN&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#c.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#l.clear(),this.#r.clear()}}},59121:function(e,t,r){"use strict";r.d(t,{E:function(){return s}});var a=r(99649),n=r(63497);function s(e,t){let r=(0,a.Q)(e);return isNaN(t)?(0,n.L)(e,NaN):(t&&r.setDate(r.getDate()+t),r)}},31091:function(e,t,r){"use strict";r.d(t,{z:function(){return s}});var a=r(99649),n=r(63497);function s(e,t){let r=(0,a.Q)(e);if(isNaN(t))return(0,n.L)(e,NaN);if(!t)return r;let s=r.getDate(),i=(0,n.L)(e,r.getTime());return(i.setMonth(r.getMonth()+t+1,0),s>=i.getDate())?i:(r.setFullYear(i.getFullYear(),i.getMonth(),s),r)}},63497:function(e,t,r){"use strict";function a(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}r.d(t,{L:function(){return a}})},99649:function(e,t,r){"use strict";function a(e){let t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):new Date("number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?e:NaN)}r.d(t,{Q:function(){return a}})}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/5458-3a5d500e8deb5b23.js b/litellm/proxy/_experimental/out/_next/static/chunks/5458-3a5d500e8deb5b23.js deleted file mode 100644 index 5714e35205..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/5458-3a5d500e8deb5b23.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5458],{83669:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},c=n(55015),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},5540:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},c=n(55015),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},41169:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z"}}]},name:"experiment",theme:"outlined"},c=n(55015),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},10798:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z"}}]},name:"filter",theme:"outlined"},c=n(55015),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},8881:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z"}}]},name:"stop",theme:"outlined"},c=n(55015),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},3632:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},c=n(55015),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},30150:function(e,t,n){n.d(t,{Z:function(){return u}});var a=n(5853),o=n(2265);let r=e=>{var t=(0,a._T)(e,[]);return o.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),o.createElement("path",{d:"M12 4v16m8-8H4"}))},c=e=>{var t=(0,a._T)(e,[]);return o.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),o.createElement("path",{d:"M20 12H4"}))};var l=n(13241),i=n(1153),s=n(69262);let d="flex mx-auto text-tremor-content-subtle dark:text-dark-tremor-content-subtle",m="cursor-pointer hover:text-tremor-content dark:hover:text-dark-tremor-content",u=o.forwardRef((e,t)=>{let{onSubmit:n,enableStepper:u=!0,disabled:g,onValueChange:p,onChange:f}=e,h=(0,a._T)(e,["onSubmit","enableStepper","disabled","onValueChange","onChange"]),v=(0,o.useRef)(null),[b,x]=o.useState(!1),y=o.useCallback(()=>{x(!0)},[]),w=o.useCallback(()=>{x(!1)},[]),[k,E]=o.useState(!1),S=o.useCallback(()=>{E(!0)},[]),C=o.useCallback(()=>{E(!1)},[]);return o.createElement(s.Z,Object.assign({type:"number",ref:(0,i.lq)([v,t]),disabled:g,makeInputClassName:(0,i.fn)("NumberInput"),onKeyDown:e=>{var t;if("Enter"===e.key&&!e.ctrlKey&&!e.altKey&&!e.shiftKey){let e=null===(t=v.current)||void 0===t?void 0:t.value;null==n||n(parseFloat(null!=e?e:""))}"ArrowDown"===e.key&&y(),"ArrowUp"===e.key&&S()},onKeyUp:e=>{"ArrowDown"===e.key&&w(),"ArrowUp"===e.key&&C()},onChange:e=>{g||(null==p||p(parseFloat(e.target.value)),null==f||f(e))},stepper:u?o.createElement("div",{className:(0,l.q)("flex justify-center align-middle")},o.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;g||(null===(e=v.current)||void 0===e||e.stepDown(),null===(t=v.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,l.q)(!g&&m,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},o.createElement(c,{"data-testid":"step-down",className:(b?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"})),o.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;g||(null===(e=v.current)||void 0===e||e.stepUp(),null===(t=v.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,l.q)(!g&&m,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},o.createElement(r,{"data-testid":"step-up",className:(k?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"}))):null},h))});u.displayName="NumberInput"},16853:function(e,t,n){n.d(t,{Z:function(){return d}});var a=n(5853),o=n(96398),r=n(44140),c=n(2265),l=n(13241),i=n(1153);let s=(0,i.fn)("Textarea"),d=c.forwardRef((e,t)=>{let{value:n,defaultValue:d="",placeholder:m="Type...",error:u=!1,errorMessage:g,disabled:p=!1,className:f,onChange:h,onValueChange:v,autoHeight:b=!1}=e,x=(0,a._T)(e,["value","defaultValue","placeholder","error","errorMessage","disabled","className","onChange","onValueChange","autoHeight"]),[y,w]=(0,r.Z)(d,n),k=(0,c.useRef)(null),E=(0,o.Uh)(y);return(0,c.useEffect)(()=>{let e=k.current;if(b&&e){e.style.height="60px";let t=e.scrollHeight;e.style.height=t+"px"}},[b,k,y]),c.createElement(c.Fragment,null,c.createElement("textarea",Object.assign({ref:(0,i.lq)([k,t]),value:y,placeholder:m,disabled:p,className:(0,l.q)(s("Textarea"),"w-full flex items-center outline-none rounded-tremor-default px-3 py-2 text-tremor-default focus:ring-2 transition duration-100 border","shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:shadow-dark-tremor-input focus:dark:border-dark-tremor-brand-subtle focus:dark:ring-dark-tremor-brand-muted",(0,o.um)(E,p,u),p?"placeholder:text-tremor-content-subtle dark:placeholder:text-dark-tremor-content-subtle":"placeholder:text-tremor-content dark:placeholder:text-dark-tremor-content",f),"data-testid":"text-area",onChange:e=>{null==h||h(e),w(e.target.value),null==v||v(e.target.value)}},x)),u&&g?c.createElement("p",{className:(0,l.q)(s("errorMessage"),"text-sm text-red-500 mt-1")},g):null)});d.displayName="Textarea"},67101:function(e,t,n){n.d(t,{Z:function(){return d}});var a=n(5853),o=n(13241),r=n(1153),c=n(2265),l=n(9496);let i=(0,r.fn)("Grid"),s=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"",d=c.forwardRef((e,t)=>{let{numItems:n=1,numItemsSm:r,numItemsMd:d,numItemsLg:m,children:u,className:g}=e,p=(0,a._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),f=s(n,l._m),h=s(r,l.LH),v=s(d,l.l5),b=s(m,l.N4),x=(0,o.q)(f,h,v,b);return c.createElement("div",Object.assign({ref:t,className:(0,o.q)(i("root"),"grid",x,g)},p),u)});d.displayName="Grid"},9496:function(e,t,n){n.d(t,{LH:function(){return o},N4:function(){return c},PT:function(){return l},SP:function(){return i},VS:function(){return s},_m:function(){return a},_w:function(){return d},l5:function(){return r}});let a={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},o={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},r={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},c={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},l={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},i={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},s={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},d={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},44140:function(e,t,n){n.d(t,{Z:function(){return o}});var a=n(2265);let o=(e,t)=>{let n=void 0!==t,[o,r]=(0,a.useState)(e);return[n?t:o,e=>{n||r(e)}]}},35631:function(e,t,n){n.d(t,{Z:function(){return j}});var a=n(83145),o=n(2265),r=n(36760),c=n.n(r),l=n(53253),i=n(6543),s=n(71744),d=n(91086),m=n(33759),u=n(77774),g=n(28617),p=n(40049),f=n(10353);let h=o.createContext({});h.Consumer;var v=n(19722),b=n(54998),x=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let y=o.forwardRef((e,t)=>{let n;let{prefixCls:a,children:r,actions:l,extra:i,styles:d,className:m,classNames:u,colStyle:g}=e,p=x(e,["prefixCls","children","actions","extra","styles","className","classNames","colStyle"]),{grid:f,itemLayout:y}=(0,o.useContext)(h),{getPrefixCls:w,list:k}=(0,o.useContext)(s.E_),E=e=>{var t,n;return c()(null===(n=null===(t=null==k?void 0:k.item)||void 0===t?void 0:t.classNames)||void 0===n?void 0:n[e],null==u?void 0:u[e])},S=e=>{var t,n;return Object.assign(Object.assign({},null===(n=null===(t=null==k?void 0:k.item)||void 0===t?void 0:t.styles)||void 0===n?void 0:n[e]),null==d?void 0:d[e])},C=w("list",a),N=l&&l.length>0&&o.createElement("ul",{className:c()("".concat(C,"-item-action"),E("actions")),key:"actions",style:S("actions")},l.map((e,t)=>o.createElement("li",{key:"".concat(C,"-item-action-").concat(t)},e,t!==l.length-1&&o.createElement("em",{className:"".concat(C,"-item-action-split")})))),z=o.createElement(f?"div":"li",Object.assign({},p,f?{}:{ref:t},{className:c()("".concat(C,"-item"),{["".concat(C,"-item-no-flex")]:!("vertical"===y?!!i:(n=!1,o.Children.forEach(r,e=>{"string"==typeof e&&(n=!0)}),!(n&&o.Children.count(r)>1)))},m)}),"vertical"===y&&i?[o.createElement("div",{className:"".concat(C,"-item-main"),key:"content"},r,N),o.createElement("div",{className:c()("".concat(C,"-item-extra"),E("extra")),key:"extra",style:S("extra")},i)]:[r,N,(0,v.Tm)(i,{key:"extra"})]);return f?o.createElement(b.Z,{ref:t,flex:1,style:g},z):z});y.Meta=e=>{var{prefixCls:t,className:n,avatar:a,title:r,description:l}=e,i=x(e,["prefixCls","className","avatar","title","description"]);let{getPrefixCls:d}=(0,o.useContext)(s.E_),m=d("list",t),u=c()("".concat(m,"-item-meta"),n),g=o.createElement("div",{className:"".concat(m,"-item-meta-content")},r&&o.createElement("h4",{className:"".concat(m,"-item-meta-title")},r),l&&o.createElement("div",{className:"".concat(m,"-item-meta-description")},l));return o.createElement("div",Object.assign({},i,{className:u}),a&&o.createElement("div",{className:"".concat(m,"-item-meta-avatar")},a),(r||l)&&g)};var w=n(93463),k=n(12918),E=n(99320),S=n(71140);let C=e=>{let{listBorderedCls:t,componentCls:n,paddingLG:a,margin:o,itemPaddingSM:r,itemPaddingLG:c,marginLG:l,borderRadiusLG:i}=e,s=(0,w.bf)(e.calc(i).sub(e.lineWidth).equal());return{[t]:{border:"".concat((0,w.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:i,["".concat(n,"-header")]:{borderRadius:"".concat(s," ").concat(s," 0 0")},["".concat(n,"-footer")]:{borderRadius:"0 0 ".concat(s," ").concat(s)},["".concat(n,"-header,").concat(n,"-footer,").concat(n,"-item")]:{paddingInline:a},["".concat(n,"-pagination")]:{margin:"".concat((0,w.bf)(o)," ").concat((0,w.bf)(l))}},["".concat(t).concat(n,"-sm")]:{["".concat(n,"-item,").concat(n,"-header,").concat(n,"-footer")]:{padding:r}},["".concat(t).concat(n,"-lg")]:{["".concat(n,"-item,").concat(n,"-header,").concat(n,"-footer")]:{padding:c}}}},N=e=>{let{componentCls:t,screenSM:n,screenMD:a,marginLG:o,marginSM:r,margin:c}=e;return{["@media screen and (max-width:".concat(a,"px)")]:{[t]:{["".concat(t,"-item")]:{["".concat(t,"-item-action")]:{marginInlineStart:o}}},["".concat(t,"-vertical")]:{["".concat(t,"-item")]:{["".concat(t,"-item-extra")]:{marginInlineStart:o}}}},["@media screen and (max-width: ".concat(n,"px)")]:{[t]:{["".concat(t,"-item")]:{flexWrap:"wrap",["".concat(t,"-action")]:{marginInlineStart:r}}},["".concat(t,"-vertical")]:{["".concat(t,"-item")]:{flexWrap:"wrap-reverse",["".concat(t,"-item-main")]:{minWidth:e.contentWidth},["".concat(t,"-item-extra")]:{margin:"auto auto ".concat((0,w.bf)(c))}}}}}},z=e=>{let{componentCls:t,antCls:n,controlHeight:a,minHeight:o,paddingSM:r,marginLG:c,padding:l,itemPadding:i,colorPrimary:s,itemPaddingSM:d,itemPaddingLG:m,paddingXS:u,margin:g,colorText:p,colorTextDescription:f,motionDurationSlow:h,lineWidth:v,headerBg:b,footerBg:x,emptyTextPadding:y,metaMarginBottom:E,avatarMarginRight:S,titleMarginBottom:C,descriptionFontSize:N}=e;return{[t]:Object.assign(Object.assign({},(0,k.Wf)(e)),{position:"relative","--rc-virtual-list-scrollbar-bg":e.colorSplit,"*":{outline:"none"},["".concat(t,"-header")]:{background:b},["".concat(t,"-footer")]:{background:x},["".concat(t,"-header, ").concat(t,"-footer")]:{paddingBlock:r},["".concat(t,"-pagination")]:{marginBlockStart:c,["".concat(n,"-pagination-options")]:{textAlign:"start"}},["".concat(t,"-spin")]:{minHeight:o,textAlign:"center"},["".concat(t,"-items")]:{margin:0,padding:0,listStyle:"none"},["".concat(t,"-item")]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:i,color:p,["".concat(t,"-item-meta")]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",["".concat(t,"-item-meta-avatar")]:{marginInlineEnd:S},["".concat(t,"-item-meta-content")]:{flex:"1 0",width:0,color:p},["".concat(t,"-item-meta-title")]:{margin:"0 0 ".concat((0,w.bf)(e.marginXXS)," 0"),color:p,fontSize:e.fontSize,lineHeight:e.lineHeight,"> a":{color:p,transition:"all ".concat(h),"&:hover":{color:s}}},["".concat(t,"-item-meta-description")]:{color:f,fontSize:N,lineHeight:e.lineHeight}},["".concat(t,"-item-action")]:{flex:"0 0 auto",marginInlineStart:e.marginXXL,padding:0,fontSize:0,listStyle:"none","& > li":{position:"relative",display:"inline-block",padding:"0 ".concat((0,w.bf)(u)),color:f,fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:"center","&:first-child":{paddingInlineStart:0}},["".concat(t,"-item-action-split")]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:v,height:e.calc(e.fontHeight).sub(e.calc(e.marginXXS).mul(2)).equal(),transform:"translateY(-50%)",backgroundColor:e.colorSplit}}},["".concat(t,"-empty")]:{padding:"".concat((0,w.bf)(l)," 0"),color:f,fontSize:e.fontSizeSM,textAlign:"center"},["".concat(t,"-empty-text")]:{padding:y,color:e.colorTextDisabled,fontSize:e.fontSize,textAlign:"center"},["".concat(t,"-item-no-flex")]:{display:"block"}}),["".concat(t,"-grid ").concat(n,"-col > ").concat(t,"-item")]:{display:"block",maxWidth:"100%",marginBlockEnd:g,paddingBlock:0,borderBlockEnd:"none"},["".concat(t,"-vertical ").concat(t,"-item")]:{alignItems:"initial",["".concat(t,"-item-main")]:{display:"block",flex:1},["".concat(t,"-item-extra")]:{marginInlineStart:c},["".concat(t,"-item-meta")]:{marginBlockEnd:E,["".concat(t,"-item-meta-title")]:{marginBlockStart:0,marginBlockEnd:C,color:p,fontSize:e.fontSizeLG,lineHeight:e.lineHeightLG}},["".concat(t,"-item-action")]:{marginBlockStart:l,marginInlineStart:"auto","> li":{padding:"0 ".concat((0,w.bf)(l)),"&:first-child":{paddingInlineStart:0}}}},["".concat(t,"-split ").concat(t,"-item")]:{borderBlockEnd:"".concat((0,w.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"&:last-child":{borderBlockEnd:"none"}},["".concat(t,"-split ").concat(t,"-header")]:{borderBlockEnd:"".concat((0,w.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},["".concat(t,"-split").concat(t,"-empty ").concat(t,"-footer")]:{borderTop:"".concat((0,w.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},["".concat(t,"-loading ").concat(t,"-spin-nested-loading")]:{minHeight:a},["".concat(t,"-split").concat(t,"-something-after-last-item ").concat(n,"-spin-container > ").concat(t,"-items > ").concat(t,"-item:last-child")]:{borderBlockEnd:"".concat((0,w.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},["".concat(t,"-lg ").concat(t,"-item")]:{padding:m},["".concat(t,"-sm ").concat(t,"-item")]:{padding:d},["".concat(t,":not(").concat(t,"-vertical)")]:{["".concat(t,"-item-no-flex")]:{["".concat(t,"-item-action")]:{float:"right"}}}}};var Z=(0,E.I$)("List",e=>{let t=(0,S.IX)(e,{listBorderedCls:"".concat(e.componentCls,"-bordered"),minHeight:e.controlHeightLG});return[z(t),C(t),N(t)]},e=>({contentWidth:220,itemPadding:"".concat((0,w.bf)(e.paddingContentVertical)," 0"),itemPaddingSM:"".concat((0,w.bf)(e.paddingContentVerticalSM)," ").concat((0,w.bf)(e.paddingContentHorizontal)),itemPaddingLG:"".concat((0,w.bf)(e.paddingContentVerticalLG)," ").concat((0,w.bf)(e.paddingContentHorizontalLG)),headerBg:"transparent",footerBg:"transparent",emptyTextPadding:e.padding,metaMarginBottom:e.padding,avatarMarginRight:e.padding,titleMarginBottom:e.paddingSM,descriptionFontSize:e.fontSize})),O=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let M=o.forwardRef(function(e,t){let{pagination:n=!1,prefixCls:r,bordered:v=!1,split:b=!0,className:x,rootClassName:y,style:w,children:k,itemLayout:E,loadMore:S,grid:C,dataSource:N=[],size:z,header:M,footer:j,loading:L=!1,rowKey:I,renderItem:B,locale:H}=e,T=O(e,["pagination","prefixCls","bordered","split","className","rootClassName","style","children","itemLayout","loadMore","grid","dataSource","size","header","footer","loading","rowKey","renderItem","locale"]),W=n&&"object"==typeof n?n:{},[R,V]=o.useState(W.defaultCurrent||1),[_,A]=o.useState(W.defaultPageSize||10),{getPrefixCls:P,direction:D,className:q,style:U}=(0,s.dj)("list"),{renderEmpty:G}=o.useContext(s.E_),X=e=>(t,a)=>{var o;V(t),A(a),n&&(null===(o=null==n?void 0:n[e])||void 0===o||o.call(n,t,a))},K=X("onChange"),F=X("onShowSizeChange"),$=!!(S||n||j),J=P("list",r),[Y,Q,ee]=Z(J),et=L;"boolean"==typeof et&&(et={spinning:et});let en=!!(null==et?void 0:et.spinning),ea=(0,m.Z)(z),eo="";switch(ea){case"large":eo="lg";break;case"small":eo="sm"}let er=c()(J,{["".concat(J,"-vertical")]:"vertical"===E,["".concat(J,"-").concat(eo)]:eo,["".concat(J,"-split")]:b,["".concat(J,"-bordered")]:v,["".concat(J,"-loading")]:en,["".concat(J,"-grid")]:!!C,["".concat(J,"-something-after-last-item")]:$,["".concat(J,"-rtl")]:"rtl"===D},q,x,y,Q,ee),ec=(0,l.Z)({current:1,total:0,position:"bottom"},{total:N.length,current:R,pageSize:_},n||{}),el=Math.ceil(ec.total/ec.pageSize);ec.current=Math.min(ec.current,el);let ei=n&&o.createElement("div",{className:c()("".concat(J,"-pagination"))},o.createElement(p.Z,Object.assign({align:"end"},ec,{onChange:K,onShowSizeChange:F}))),es=(0,a.Z)(N);n&&N.length>(ec.current-1)*ec.pageSize&&(es=(0,a.Z)(N).splice((ec.current-1)*ec.pageSize,ec.pageSize));let ed=Object.keys(C||{}).some(e=>["xs","sm","md","lg","xl","xxl"].includes(e)),em=(0,g.Z)(ed),eu=o.useMemo(()=>{for(let e=0;e{if(!C)return;let e=eu&&C[eu]?C[eu]:C.column;if(e)return{width:"".concat(100/e,"%"),maxWidth:"".concat(100/e,"%")}},[JSON.stringify(C),eu]),ep=en&&o.createElement("div",{style:{minHeight:53}});if(es.length>0){let e=es.map((e,t)=>{let n;return B?((n="function"==typeof I?I(e):I?e[I]:e.key)||(n="list-item-".concat(t)),o.createElement(o.Fragment,{key:n},B(e,t))):null});ep=C?o.createElement(u.Z,{gutter:C.gutter},o.Children.map(e,e=>o.createElement("div",{key:null==e?void 0:e.key,style:eg},e))):o.createElement("ul",{className:"".concat(J,"-items")},e)}else k||en||(ep=o.createElement("div",{className:"".concat(J,"-empty-text")},(null==H?void 0:H.emptyText)||(null==G?void 0:G("List"))||o.createElement(d.Z,{componentName:"List"})));let ef=ec.position,eh=o.useMemo(()=>({grid:C,itemLayout:E}),[JSON.stringify(C),E]);return Y(o.createElement(h.Provider,{value:eh},o.createElement("div",Object.assign({ref:t,style:Object.assign(Object.assign({},U),w),className:er},T),("top"===ef||"both"===ef)&&ei,M&&o.createElement("div",{className:"".concat(J,"-header")},M),o.createElement(f.Z,Object.assign({},et),ep,k),j&&o.createElement("div",{className:"".concat(J,"-footer")},j),S||("bottom"===ef||"both"===ef)&&ei)))});M.Item=y;var j=M},79205:function(e,t,n){n.d(t,{Z:function(){return m}});var a=n(2265);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),r=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),c=e=>{let t=r(e);return t.charAt(0).toUpperCase()+t.slice(1)},l=function(){for(var e=arguments.length,t=Array(e),n=0;n!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()},i=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let d=(0,a.forwardRef)((e,t)=>{let{color:n="currentColor",size:o=24,strokeWidth:r=2,absoluteStrokeWidth:c,className:d="",children:m,iconNode:u,...g}=e;return(0,a.createElement)("svg",{ref:t,...s,width:o,height:o,stroke:n,strokeWidth:c?24*Number(r)/Number(o):r,className:l("lucide",d),...!m&&!i(g)&&{"aria-hidden":"true"},...g},[...u.map(e=>{let[t,n]=e;return(0,a.createElement)(t,n)}),...Array.isArray(m)?m:[m]])}),m=(e,t)=>{let n=(0,a.forwardRef)((n,r)=>{let{className:i,...s}=n;return(0,a.createElement)(d,{ref:r,iconNode:t,className:l("lucide-".concat(o(c(e))),"lucide-".concat(e),i),...s})});return n.displayName=c(e),n}},30401:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},10900:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=o},44633:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=o}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/6399-1389781dccccda3e.js b/litellm/proxy/_experimental/out/_next/static/chunks/6399-565ef7c239265f07.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/6399-1389781dccccda3e.js rename to litellm/proxy/_experimental/out/_next/static/chunks/6399-565ef7c239265f07.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/656-4d7c039dc5fe4414.js b/litellm/proxy/_experimental/out/_next/static/chunks/656-4d7c039dc5fe4414.js new file mode 100644 index 0000000000..438d9493ad --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/656-4d7c039dc5fe4414.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[656],{15327:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},69993:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},3632:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},15883:function(e,o,r){r.d(o,{Z:function(){return a}});var n=r(1119),t=r(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},l=r(55015),a=t.forwardRef(function(e,o){return t.createElement(l.Z,(0,n.Z)({},e,{ref:o,icon:c}))})},67101:function(e,o,r){r.d(o,{Z:function(){return d}});var n=r(5853),t=r(13241),c=r(1153),l=r(2265),a=r(9496);let s=(0,c.fn)("Grid"),i=(e,o)=>e&&Object.keys(o).includes(String(e))?o[e]:"",d=l.forwardRef((e,o)=>{let{numItems:r=1,numItemsSm:c,numItemsMd:d,numItemsLg:u,children:g,className:m}=e,p=(0,n._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),f=i(r,a._m),h=i(c,a.LH),v=i(d,a.l5),b=i(u,a.N4),w=(0,t.q)(f,h,v,b);return l.createElement("div",Object.assign({ref:o,className:(0,t.q)(s("root"),"grid",w,m)},p),g)});d.displayName="Grid"},9496:function(e,o,r){r.d(o,{LH:function(){return t},N4:function(){return l},PT:function(){return a},SP:function(){return s},VS:function(){return i},_m:function(){return n},_w:function(){return d},l5:function(){return c}});let n={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},t={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},c={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},l={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},a={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},s={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},i={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},d={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},3810:function(e,o,r){r.d(o,{Z:function(){return M}});var n=r(2265),t=r(36760),c=r.n(t),l=r(18694),a=r(93350),s=r(53445),i=r(19722),d=r(6694),u=r(71744),g=r(93463),m=r(54558),p=r(12918),f=r(71140),h=r(99320);let v=e=>{let{paddingXXS:o,lineWidth:r,tagPaddingHorizontal:n,componentCls:t,calc:c}=e,l=c(n).sub(r).equal(),a=c(o).sub(r).equal();return{[t]:Object.assign(Object.assign({},(0,p.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:l,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,g.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(t,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(t,"-close-icon")]:{marginInlineStart:a,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(t,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(t,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:l}}),["".concat(t,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},b=e=>{let{lineWidth:o,fontSizeIcon:r,calc:n}=e,t=e.fontSizeSM;return(0,f.IX)(e,{tagFontSize:t,tagLineHeight:(0,g.bf)(n(e.lineHeightSM).mul(t).equal()),tagIconSize:n(r).sub(n(o).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},w=e=>({defaultBg:new m.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var k=(0,h.I$)("Tag",e=>v(b(e)),w),C=function(e,o){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>o.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var t=0,n=Object.getOwnPropertySymbols(e);to.indexOf(n[t])&&Object.prototype.propertyIsEnumerable.call(e,n[t])&&(r[n[t]]=e[n[t]]);return r};let y=n.forwardRef((e,o)=>{let{prefixCls:r,style:t,className:l,checked:a,children:s,icon:i,onChange:d,onClick:g}=e,m=C(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:p,tag:f}=n.useContext(u.E_),h=p("tag",r),[v,b,w]=k(h),y=c()(h,"".concat(h,"-checkable"),{["".concat(h,"-checkable-checked")]:a},null==f?void 0:f.className,l,b,w);return v(n.createElement("span",Object.assign({},m,{ref:o,style:Object.assign(Object.assign({},t),null==f?void 0:f.style),className:y,onClick:e=>{null==d||d(!a),null==g||g(e)}}),i,n.createElement("span",null,s)))});var x=r(18536);let E=e=>(0,x.Z)(e,(o,r)=>{let{textColor:n,lightBorderColor:t,lightColor:c,darkColor:l}=r;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:n,background:c,borderColor:t,"&-inverse":{color:e.colorTextLightSolid,background:l,borderColor:l},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var O=(0,h.bk)(["Tag","preset"],e=>E(b(e)),w);let S=(e,o,r)=>{let n="string"!=typeof r?r:r.charAt(0).toUpperCase()+r.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:e["color".concat(r)],background:e["color".concat(n,"Bg")],borderColor:e["color".concat(n,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var j=(0,h.bk)(["Tag","status"],e=>{let o=b(e);return[S(o,"success","Success"),S(o,"processing","Info"),S(o,"error","Error"),S(o,"warning","Warning")]},w),Z=function(e,o){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>o.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var t=0,n=Object.getOwnPropertySymbols(e);to.indexOf(n[t])&&Object.prototype.propertyIsEnumerable.call(e,n[t])&&(r[n[t]]=e[n[t]]);return r};let L=n.forwardRef((e,o)=>{let{prefixCls:r,className:t,rootClassName:g,style:m,children:p,icon:f,color:h,onClose:v,bordered:b=!0,visible:w}=e,C=Z(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:y,direction:x,tag:E}=n.useContext(u.E_),[S,L]=n.useState(!0),M=(0,l.Z)(C,["closeIcon","closable"]);n.useEffect(()=>{void 0!==w&&L(w)},[w]);let N=(0,a.o2)(h),B=(0,a.yT)(h),z=N||B,I=Object.assign(Object.assign({backgroundColor:h&&!z?h:void 0},null==E?void 0:E.style),m),H=y("tag",r),[R,P,T]=k(H),W=c()(H,null==E?void 0:E.className,{["".concat(H,"-").concat(h)]:z,["".concat(H,"-has-color")]:h&&!z,["".concat(H,"-hidden")]:!S,["".concat(H,"-rtl")]:"rtl"===x,["".concat(H,"-borderless")]:!b},t,g,P,T),_=e=>{e.stopPropagation(),null==v||v(e),e.defaultPrevented||L(!1)},[,A]=(0,s.b)((0,s.w)(e),(0,s.w)(E),{closable:!1,closeIconRender:e=>{let o=n.createElement("span",{className:"".concat(H,"-close-icon"),onClick:_},e);return(0,i.wm)(e,o,e=>({onClick:o=>{var r;null===(r=null==e?void 0:e.onClick)||void 0===r||r.call(e,o),_(o)},className:c()(null==e?void 0:e.className,"".concat(H,"-close-icon"))}))}}),V="function"==typeof C.onClick||p&&"a"===p.type,q=f||null,F=q?n.createElement(n.Fragment,null,q,p&&n.createElement("span",null,p)):p,U=n.createElement("span",Object.assign({},M,{ref:o,className:W,style:I}),F,A,N&&n.createElement(O,{key:"preset",prefixCls:H}),B&&n.createElement(j,{key:"status",prefixCls:H}));return R(V?n.createElement(d.Z,{component:"Tag"},U):U)});L.CheckableTag=y;var M=L},79205:function(e,o,r){r.d(o,{Z:function(){return u}});var n=r(2265);let t=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,o,r)=>r?r.toUpperCase():o.toLowerCase()),l=e=>{let o=c(e);return o.charAt(0).toUpperCase()+o.slice(1)},a=function(){for(var e=arguments.length,o=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===o).join(" ").trim()},s=e=>{for(let o in e)if(o.startsWith("aria-")||"role"===o||"title"===o)return!0};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let d=(0,n.forwardRef)((e,o)=>{let{color:r="currentColor",size:t=24,strokeWidth:c=2,absoluteStrokeWidth:l,className:d="",children:u,iconNode:g,...m}=e;return(0,n.createElement)("svg",{ref:o,...i,width:t,height:t,stroke:r,strokeWidth:l?24*Number(c)/Number(t):c,className:a("lucide",d),...!u&&!s(m)&&{"aria-hidden":"true"},...m},[...g.map(e=>{let[o,r]=e;return(0,n.createElement)(o,r)}),...Array.isArray(u)?u:[u]])}),u=(e,o)=>{let r=(0,n.forwardRef)((r,c)=>{let{className:s,...i}=r;return(0,n.createElement)(d,{ref:c,iconNode:o,className:a("lucide-".concat(t(l(e))),"lucide-".concat(e),s),...i})});return r.displayName=l(e),r}},30401:function(e,o,r){r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,o,r){r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},10900:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});o.Z=t},86462:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});o.Z=t},44633:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});o.Z=t},93416:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});o.Z=t},49084:function(e,o,r){var n=r(2265);let t=n.forwardRef(function(e,o){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});o.Z=t}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/6561-20ddad0242f5c232.js b/litellm/proxy/_experimental/out/_next/static/chunks/6561-20ddad0242f5c232.js new file mode 100644 index 0000000000..62b3ca72eb --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/6561-20ddad0242f5c232.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6561],{34310:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z"}}]},name:"file-exclamation",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},38434:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},69993:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(1119),i=r(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},s=r(55015),a=i.forwardRef(function(e,t){return i.createElement(s.Z,(0,n.Z)({},e,{ref:t,icon:o}))})},47323:function(e,t,r){"use strict";r.d(t,{Z:function(){return g}});var n=r(5853),i=r(2265),o=r(47187),s=r(7084),a=r(13241),u=r(1153),c=r(26898);let d={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},l={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},h={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},f=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,u.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,u.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,a.q)((0,u.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,u.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,a.q)((0,u.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,u.bM)(t,c.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,a.q)((0,u.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,u.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,a.q)((0,u.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,u.bM)(t,c.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,a.q)((0,u.bM)(t,c.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},p=(0,u.fn)("Icon"),g=i.forwardRef((e,t)=>{let{icon:r,variant:c="simple",tooltip:g,size:m=s.u8.SM,color:b,className:y}=e,v=(0,n._T)(e,["icon","variant","tooltip","size","color","className"]),k=f(c,b),{tooltipProps:_,getReferenceProps:w}=(0,o.l)();return i.createElement("span",Object.assign({ref:(0,u.lq)([t,_.refs.setReference]),className:(0,a.q)(p("root"),"inline-flex shrink-0 items-center justify-center",k.bgColor,k.textColor,k.borderColor,k.ringColor,h[c].rounded,h[c].border,h[c].shadow,h[c].ring,d[m].paddingX,d[m].paddingY,y)},w,v),i.createElement(o.Z,Object.assign({text:g},_)),i.createElement(r,{className:(0,a.q)(p("icon"),"shrink-0",l[m].height,l[m].width)}))});g.displayName="Icon"},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},32489:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},15452:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,o={},s=0,a={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=v(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new f(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview,i)r.postMessage({results:o,workerId:a.WORKER_ID,finished:n});else if(_(this._config.chunk)&&!t){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=o=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!n||!_(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(e){_(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function c(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=k(this._chunkLoaded,this),t.onerror=k(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function d(e){(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),u.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=k(this._chunkLoaded,this),t.onerror=k(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function l(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function h(e){u.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=k(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=k(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=k(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=k(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function f(e){var t,r,n,i,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,s=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,c=0,d=0,l=!1,h=!1,f=[],m={data:[],errors:[],meta:{}};function b(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function y(){if(m&&n&&(w("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(m.data=m.data.filter(function(e){return!b(e)})),k()){if(m){if(Array.isArray(m.data[0])){for(var t,r=0;k()&&r=f.length?"__parsed_extra":f[i]:a,c=u=e.transform?e.transform(u,a):u,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===c||"TRUE"===c||"false"!==c&&"FALSE"!==c&&((e=>{if(o.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(c)?parseFloat(c):s.test(c)?new Date(c):""===c?null:c):c);"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(u)):n[a]=u}return e.header&&(i>f.length?w("FieldMismatch","TooManyFields","Too many fields: expected "+f.length+" fields but parsed "+i,d+r):ie.preview?r.abort():(m.data=m.data[0],i(m,u))))}),this.parse=function(i,o,s){var u=e.quoteChar||'"',u=(e.newline||(e.newline=this.guessLineEndings(i,u)),n=!1,e.delimiter?_(e.delimiter)&&(e.delimiter=e.delimiter(i),m.meta.delimiter=e.delimiter):((u=((t,r,n,i,o)=>{var s,u,c,d;o=o||[","," ","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var l=0;l=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function g(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,o=e.preview,s=e.fastMode,u=null,c=!1,d=null==e.quoteChar?'"':e.quoteChar,l=d;if(void 0!==e.escapeChar&&(l=e.escapeChar),("string"!=typeof t||-1=o)return Z(!0);break}x.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:C.length,index:h}),z++}}else if(n&&0===E.length&&a.substring(h,h+k)===n){if(-1===S)return Z();h=S+v,S=a.indexOf(r,h),L=a.indexOf(t,h)}else if(-1!==L&&(L=o)return Z(!0)}return D();function I(e){C.push(e),O=h}function A(e){return -1!==e&&(e=a.substring(z+1,e))&&""===e.trim()?e.length:0}function D(e){return m||(void 0===e&&(e=a.substring(h)),E.push(e),h=b,I(E),w&&F()),Z()}function P(e){h=e,I(E),E=[],S=a.indexOf(r,h)}function Z(n){if(e.header&&!g&&C.length&&!c){var i=C[0],o=Object.create(null),s=new Set(i);let t=!1;for(let r=0;r{if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(c=t.skipEmptyLines),"string"==typeof t.newline&&(o=t.newline),"string"==typeof t.quoteChar&&(s=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");d=t.columns}void 0!==t.escapeChar&&(u=t.escapeChar+s),t.escapeFormulae instanceof RegExp?l=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(l=/^[=+\-@\t\r].*$/)}})(),RegExp(p(s),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return f(null,e,c);if("object"==typeof e[0])return f(d||Object.keys(e[0]),e,c)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||d),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),f(e.fields||[],e.data||[],c);throw Error("Unable to serialize unrecognized input");function f(e,t,r){var s="",a=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,s),n=i.default.Children.only(t);return i.default.cloneElement(n,c(c({},r),{},{onClick:this.onClick}))}}],function(e,t){for(var r=0;r{let t=n.useContext(o);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},a=e=>{let{client:t,children:r}=e;return n.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,i.jsx)(o.Provider,{value:t,children:r})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/6600-860829d878f2421f.js b/litellm/proxy/_experimental/out/_next/static/chunks/6600-b6414aaea7f96109.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/6600-860829d878f2421f.js rename to litellm/proxy/_experimental/out/_next/static/chunks/6600-b6414aaea7f96109.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/6640-500d8b4d4ec506a1.js b/litellm/proxy/_experimental/out/_next/static/chunks/6640-500d8b4d4ec506a1.js deleted file mode 100644 index b7f7324df3..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/6640-500d8b4d4ec506a1.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6640,1623],{34310:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z"}}]},name:"file-exclamation",theme:"outlined"},a=r(55015),o=i.forwardRef(function(e,t){return i.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},a=r(55015),o=i.forwardRef(function(e,t){return i.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(1119),i=r(2265),s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},a=r(55015),o=i.forwardRef(function(e,t){return i.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:s}))})},59341:function(e,t,r){"use strict";r.d(t,{Z:function(){return T}});var n=r(5853),i=r(71049),s=r(11323),a=r(2265),o=r(66797),u=r(40099),l=r(74275),c=r(59456),h=r(93980),d=r(65573),f=r(67561),p=r(87550),m=r(628),g=r(80281),y=r(31370),b=r(20131),v=r(38929),_=r(52307),k=r(52724),w=r(7935);let C=(0,a.createContext)(null);C.displayName="GroupContext";let E=a.Fragment,O=Object.assign((0,v.yV)(function(e,t){var r;let n=(0,a.useId)(),E=(0,g.Q)(),O=(0,p.B)(),{id:x=E||"headlessui-switch-".concat(n),disabled:S=O||!1,checked:R,defaultChecked:P,onChange:q,name:D,value:T,form:F,autoFocus:j=!1,...A}=e,M=(0,a.useContext)(C),[I,N]=(0,a.useState)(null),L=(0,a.useRef)(null),Q=(0,f.T)(L,t,null===M?null:M.setSwitch,N),z=(0,l.L)(P),[V,K]=(0,u.q)(R,q,null!=z&&z),B=(0,c.G)(),[H,Z]=(0,a.useState)(!1),U=(0,h.z)(()=>{Z(!0),null==K||K(!V),B.nextFrame(()=>{Z(!1)})}),G=(0,h.z)(e=>{if((0,y.P)(e.currentTarget))return e.preventDefault();e.preventDefault(),U()}),W=(0,h.z)(e=>{e.key===k.R.Space?(e.preventDefault(),U()):e.key===k.R.Enter&&(0,b.g)(e.currentTarget)}),J=(0,h.z)(e=>e.preventDefault()),X=(0,w.wp)(),$=(0,_.zH)(),{isFocusVisible:Y,focusProps:ee}=(0,i.F)({autoFocus:j}),{isHovered:et,hoverProps:er}=(0,s.X)({isDisabled:S}),{pressed:en,pressProps:ei}=(0,o.x)({disabled:S}),es=(0,a.useMemo)(()=>({checked:V,disabled:S,hover:et,focus:Y,active:en,autofocus:j,changing:H}),[V,et,Y,en,S,H,j]),ea=(0,v.dG)({id:x,ref:Q,role:"switch",type:(0,d.f)(e,I),tabIndex:-1===e.tabIndex?0:null!=(r=e.tabIndex)?r:0,"aria-checked":V,"aria-labelledby":X,"aria-describedby":$,disabled:S||void 0,autoFocus:j,onClick:G,onKeyUp:W,onKeyPress:J},ee,er,ei),eo=(0,a.useCallback)(()=>{if(void 0!==z)return null==K?void 0:K(z)},[K,z]),eu=(0,v.L6)();return a.createElement(a.Fragment,null,null!=D&&a.createElement(m.Mt,{disabled:S,data:{[D]:T||"on"},overrides:{type:"checkbox",checked:V},form:F,onReset:eo}),eu({ourProps:ea,theirProps:A,slot:es,defaultTag:"button",name:"Switch"}))}),{Group:function(e){var t;let[r,n]=(0,a.useState)(null),[i,s]=(0,w.bE)(),[o,u]=(0,_.fw)(),l=(0,a.useMemo)(()=>({switch:r,setSwitch:n}),[r,n]),c=(0,v.L6)();return a.createElement(u,{name:"Switch.Description",value:o},a.createElement(s,{name:"Switch.Label",value:i,props:{htmlFor:null==(t=l.switch)?void 0:t.id,onClick(e){r&&(e.currentTarget instanceof HTMLLabelElement&&e.preventDefault(),r.click(),r.focus({preventScroll:!0}))}}},a.createElement(C.Provider,{value:l},c({ourProps:{},theirProps:e,slot:{},defaultTag:E,name:"Switch.Group"}))))},Label:w.__,Description:_.dk});var x=r(44140),S=r(26898),R=r(13241),P=r(1153),q=r(47187);let D=(0,P.fn)("Switch"),T=a.forwardRef((e,t)=>{let{checked:r,defaultChecked:i=!1,onChange:s,color:o,name:u,error:l,errorMessage:c,disabled:h,required:d,tooltip:f,id:p}=e,m=(0,n._T)(e,["checked","defaultChecked","onChange","color","name","error","errorMessage","disabled","required","tooltip","id"]),g={bgColor:o?(0,P.bM)(o,S.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",ringColor:o?(0,P.bM)(o,S.K.ring).ringColor:"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"},[y,b]=(0,x.Z)(i,r),[v,_]=(0,a.useState)(!1),{tooltipProps:k,getReferenceProps:w}=(0,q.l)(300);return a.createElement("div",{className:"flex flex-row items-center justify-start"},a.createElement(q.Z,Object.assign({text:f},k)),a.createElement("div",Object.assign({ref:(0,P.lq)([t,k.refs.setReference]),className:(0,R.q)(D("root"),"flex flex-row relative h-5")},m,w),a.createElement("input",{type:"checkbox",className:(0,R.q)(D("input"),"absolute w-5 h-5 cursor-pointer left-0 top-0 opacity-0"),name:u,required:d,checked:y,onChange:e=>{e.preventDefault()}}),a.createElement(O,{checked:y,onChange:e=>{b(e),null==s||s(e)},disabled:h,className:(0,R.q)(D("switch"),"w-10 h-5 group relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-tremor-full","focus:outline-none",h?"cursor-not-allowed":""),onFocus:()=>_(!0),onBlur:()=>_(!1),id:p},a.createElement("span",{className:(0,R.q)(D("sr-only"),"sr-only")},"Switch ",y?"on":"off"),a.createElement("span",{"aria-hidden":"true",className:(0,R.q)(D("background"),y?g.bgColor:"bg-tremor-border dark:bg-dark-tremor-border","pointer-events-none absolute mx-auto h-3 w-9 rounded-tremor-full transition-colors duration-100 ease-in-out")}),a.createElement("span",{"aria-hidden":"true",className:(0,R.q)(D("round"),y?(0,R.q)(g.bgColor,"translate-x-5 border-tremor-background dark:border-dark-tremor-background"):"translate-x-0 bg-tremor-border dark:bg-dark-tremor-border border-tremor-background dark:border-dark-tremor-background","pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-tremor-full border-2 shadow-tremor-input duration-100 ease-in-out transition",v?(0,R.q)("ring-2",g.ringColor):"")}))),l&&c?a.createElement("p",{className:(0,R.q)(D("errorMessage"),"text-sm text-red-500 mt-1 ")},c):null)});T.displayName="Switch"},35829:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=r(5853),i=r(26898),s=r(13241),a=r(1153),o=r(2265);let u=o.forwardRef((e,t)=>{let{color:r,children:u,className:l}=e,c=(0,n._T)(e,["color","children","className"]);return o.createElement("p",Object.assign({ref:t,className:(0,s.q)("font-semibold text-tremor-metric",r?(0,a.bM)(r,i.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",l)},c),u)});u.displayName="Metric"},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},15452:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,s={},a=0,o={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=v(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new f(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview,i)r.postMessage({results:s,workerId:o.WORKER_ID,finished:n});else if(k(this._config.chunk)&&!t){if(this._config.chunk(s,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=s=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(s.data),this._completeResults.errors=this._completeResults.errors.concat(s.errors),this._completeResults.meta=s.meta),this._completed||!n||!k(this._config.complete)||s&&s.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||s&&s.meta.paused||this._nextChunk(),s}this._halted=!0},this._sendError=function(e){k(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:o.WORKER_ID,error:e,finished:!1})}}function l(e){var t;(e=e||{}).chunkSize||(e.chunkSize=o.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=_(this._chunkLoaded,this),t.onerror=_(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function c(e){(e=e||{}).chunkSize||(e.chunkSize=o.LocalChunkSize),u.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=_(this._chunkLoaded,this),t.onerror=_(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function h(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function d(e){u.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=_(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=_(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=_(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=_(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function f(e){var t,r,n,i,s=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,a=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,l=0,c=0,h=!1,d=!1,f=[],g={data:[],errors:[],meta:{}};function y(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function b(){if(g&&n&&(w("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(g.data=g.data.filter(function(e){return!y(e)})),_()){if(g){if(Array.isArray(g.data[0])){for(var t,r=0;_()&&r=f.length?"__parsed_extra":f[i]:o,l=u=e.transform?e.transform(u,o):u,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===l||"TRUE"===l||"false"!==l&&"FALSE"!==l&&((e=>{if(s.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(l)?parseFloat(l):a.test(l)?new Date(l):""===l?null:l):l);"__parsed_extra"===o?(n[o]=n[o]||[],n[o].push(u)):n[o]=u}return e.header&&(i>f.length?w("FieldMismatch","TooManyFields","Too many fields: expected "+f.length+" fields but parsed "+i,c+r):ie.preview?r.abort():(g.data=g.data[0],i(g,u))))}),this.parse=function(i,s,a){var u=e.quoteChar||'"',u=(e.newline||(e.newline=this.guessLineEndings(i,u)),n=!1,e.delimiter?k(e.delimiter)&&(e.delimiter=e.delimiter(i),g.meta.delimiter=e.delimiter):((u=((t,r,n,i,s)=>{var a,u,l,c;s=s||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var h=0;h=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function m(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,s=e.preview,a=e.fastMode,u=null,l=!1,c=null==e.quoteChar?'"':e.quoteChar,h=c;if(void 0!==e.escapeChar&&(h=e.escapeChar),("string"!=typeof t||-1=s)return N(!0);break}E.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:C.length,index:d}),T++}}else if(n&&0===O.length&&o.substring(d,d+_)===n){if(-1===q)return N();d=q+v,q=o.indexOf(r,d),P=o.indexOf(t,d)}else if(-1!==P&&(P=s)return N(!0)}return M();function j(e){C.push(e),x=d}function A(e){return -1!==e&&(e=o.substring(T+1,e))&&""===e.trim()?e.length:0}function M(e){return g||(void 0===e&&(e=o.substring(d)),O.push(e),d=y,j(O),w&&L()),N()}function I(e){d=e,j(O),O=[],q=o.indexOf(r,d)}function N(n){if(e.header&&!m&&C.length&&!l){var i=C[0],s=Object.create(null),a=new Set(i);let t=!1;for(let r=0;r{if("object"==typeof t){if("string"!=typeof t.delimiter||o.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(l=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(a=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");c=t.columns}void 0!==t.escapeChar&&(u=t.escapeChar+a),t.escapeFormulae instanceof RegExp?h=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(h=/^[=+\-@\t\r].*$/)}})(),RegExp(p(a),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return f(null,e,l);if("object"==typeof e[0])return f(c||Object.keys(e[0]),e,l)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||c),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),f(e.fields||[],e.data||[],l);throw Error("Unable to serialize unrecognized input");function f(e,t,r){var a="",o=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,a),n=i.default.Children.only(t);return i.default.cloneElement(n,l(l({},r),{},{onClick:this.onClick}))}}],function(e,t){for(var r=0;r"boolean"==typeof e||e instanceof Boolean,s=e=>"number"==typeof e||e instanceof Number,a=e=>"bigint"==typeof e||e instanceof BigInt,o=e=>!!e&&e instanceof Date,u=e=>"string"==typeof e||e instanceof String,l=e=>Array.isArray(e),c=e=>"object"==typeof e&&null!==e,h=e=>!!e&&e instanceof Object&&"function"==typeof e;function d(e,t){return void 0===t&&(t=!1),!e||t?`"${e}"`:e}function f(e){let{field:t,value:r,data:i,lastElement:s,openBracket:a,closeBracket:o,level:u,style:l,shouldExpandNode:c,clickToExpandNode:h,outerRef:f,beforeExpandChange:p}=e,m=(0,n.useRef)(!1),[g,b]=(0,n.useState)(()=>c(u,r,t)),v=(0,n.useRef)(null);(0,n.useEffect)(()=>{m.current?b(c(u,r,t)):m.current=!0},[c]);let _=(0,n.useId)();if(0===i.length)return function(e){let{field:t,openBracket:r,closeBracket:i,lastElement:s,style:a}=e;return(0,n.createElement)("div",{className:a.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||""===t)&&(0,n.createElement)("span",{className:a.label},d(t,a.quotesForFieldNames),":"),(0,n.createElement)("span",{className:a.punctuation},r),(0,n.createElement)("span",{className:a.punctuation},i),!s&&(0,n.createElement)("span",{className:a.punctuation},","))}({field:t,openBracket:a,closeBracket:o,lastElement:s,style:l});let k=g?l.collapseIcon:l.expandIcon,w=g?l.ariaLables.collapseJson:l.ariaLables.expandJson,C=u+1,E=i.length-1,O=e=>{g!==e&&(!p||p({level:u,value:r,field:t,newExpandValue:e}))&&b(e)},x=e=>{if("ArrowRight"===e.key||"ArrowLeft"===e.key)e.preventDefault(),O("ArrowRight"===e.key);else if("ArrowUp"===e.key||"ArrowDown"===e.key){e.preventDefault();let t="ArrowUp"===e.key?-1:1;if(!f.current)return;let r=f.current.querySelectorAll("[role=button]"),n=-1;for(let e=0;e{var e;O(!g);let t=v.current;if(!t)return;let r=null===(e=f.current)||void 0===e?void 0:e.querySelector('[role=button][tabindex="0"]');r&&(r.tabIndex=-1),t.tabIndex=0,t.focus()};return(0,n.createElement)("div",{className:l.basicChildStyle,role:"treeitem","aria-expanded":g,"aria-selected":void 0},(0,n.createElement)("span",{className:k,onClick:S,onKeyDown:x,role:"button","aria-label":w,"aria-expanded":g,"aria-controls":g?_:void 0,ref:v,tabIndex:0===u?0:-1}),(t||""===t)&&(h?(0,n.createElement)("span",{className:l.clickableLabel,onClick:S,onKeyDown:x},d(t,l.quotesForFieldNames),":"):(0,n.createElement)("span",{className:l.label},d(t,l.quotesForFieldNames),":")),(0,n.createElement)("span",{className:l.punctuation},a),g?(0,n.createElement)("ul",{id:_,role:"group",className:l.childFieldsContainer},i.map((e,t)=>(0,n.createElement)(y,{key:e[0]||t,field:e[0],value:e[1],style:l,lastElement:t===E,level:C,shouldExpandNode:c,clickToExpandNode:h,beforeExpandChange:p,outerRef:f}))):(0,n.createElement)("span",{className:l.collapsedContent,onClick:S,onKeyDown:x}),(0,n.createElement)("span",{className:l.punctuation},o),!s&&(0,n.createElement)("span",{className:l.punctuation},","))}function p(e){let{field:t,value:r,style:n,lastElement:i,shouldExpandNode:s,clickToExpandNode:a,level:o,outerRef:u,beforeExpandChange:l}=e;return f({field:t,value:r,lastElement:i||!1,level:o,openBracket:"{",closeBracket:"}",style:n,shouldExpandNode:s,clickToExpandNode:a,data:Object.keys(r).map(e=>[e,r[e]]),outerRef:u,beforeExpandChange:l})}function m(e){let{field:t,value:r,style:n,lastElement:i,level:s,shouldExpandNode:a,clickToExpandNode:o,outerRef:u,beforeExpandChange:l}=e;return f({field:t,value:r,lastElement:i||!1,level:s,openBracket:"[",closeBracket:"]",style:n,shouldExpandNode:a,clickToExpandNode:o,data:r.map(e=>[void 0,e]),outerRef:u,beforeExpandChange:l})}function g(e){let t,{field:r,value:l,style:c,lastElement:f}=e,p=c.otherValue;if(null===l)t="null",p=c.nullValue;else if(void 0===l)t="undefined",p=c.undefinedValue;else if(u(l)){var m;m=!c.noQuotesForStringValues,t=c.stringifyStringValues?JSON.stringify(l):m?`"${l}"`:l,p=c.stringValue}else i(l)?(t=l?"true":"false",p=c.booleanValue):s(l)?(t=l.toString(),p=c.numberValue):a(l)?(t=`${l.toString()}n`,p=c.numberValue):t=o(l)?l.toISOString():h(l)?"function() { }":l.toString();return(0,n.createElement)("div",{className:c.basicChildStyle,role:"treeitem","aria-selected":void 0},(r||""===r)&&(0,n.createElement)("span",{className:c.label},d(r,c.quotesForFieldNames),":"),(0,n.createElement)("span",{className:p},t),!f&&(0,n.createElement)("span",{className:c.punctuation},","))}function y(e){let t=e.value;return l(t)?(0,n.createElement)(m,Object.assign({},e)):!c(t)||o(t)||h(t)?(0,n.createElement)(g,Object.assign({},e)):(0,n.createElement)(p,Object.assign({},e))}let b={container:"_2IvMF _GzYRV",basicChildStyle:"_2bkNM",childFieldsContainer:"_1BXBN",label:"_1MGIk",clickableLabel:"_2YKJg _1MGIk _1MFti",nullValue:"_2T6PJ",undefinedValue:"_1Gho6",stringValue:"_vGjyY",booleanValue:"_3zQKs",numberValue:"_1bQdo",otherValue:"_1xvuR",punctuation:"_3uHL6 _3eOF8",collapseIcon:"_oLqym _f10Tu _1MFti _1LId0",expandIcon:"_2AXVT _f10Tu _1MFti _1UmXx",collapsedContent:"_2KJWg _1pNG9 _1MFti",noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:{collapseJson:"collapse JSON",expandJson:"expand JSON"},stringifyStringValues:!1},v=()=>!0,_=e=>{let{data:t,style:r=b,shouldExpandNode:i=v,clickToExpandNode:s=!1,beforeExpandChange:a,compactTopLevel:o,...u}=e,l=(0,n.useRef)(null);return(0,n.createElement)("div",Object.assign({"aria-label":"JSON view"},u,{className:r.container,ref:l,role:"tree"}),o&&c(t)?Object.entries(t).map(e=>{let[t,o]=e;return(0,n.createElement)(y,{key:t,field:t,value:o,style:{...b,...r},lastElement:!0,level:1,shouldExpandNode:i,clickToExpandNode:s,beforeExpandChange:a,outerRef:l})}):(0,n.createElement)(y,{value:t,style:{...b,...r},lastElement:!0,level:0,shouldExpandNode:i,clickToExpandNode:s,outerRef:l,beforeExpandChange:a}))}},52621:function(){},44643:function(e,t,r){"use strict";var n=r(2265);let i=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=i},88532:function(e,t,r){"use strict";var n=r(2265);let i=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"}))});t.Z=i},2356:function(e,t,r){"use strict";var n=r(2265);let i=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"}))});t.Z=i},71157:function(e,t,r){"use strict";var n=r(2265);let i=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=i},2894:function(e,t,r){"use strict";r.d(t,{R:function(){return o},m:function(){return a}});var n=r(18238),i=r(7989),s=r(11255),a=class extends i.F{#e;#t;#r;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||o(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=(0,s.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#i({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#i({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let n="pending"===this.state.status,i=!this.#n.canStart();try{if(n)t();else{this.#i({type:"pending",variables:e,isPaused:i}),await this.#r.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#i({type:"pending",context:t,variables:e,isPaused:i})}let s=await this.#n.start();return await this.#r.config.onSuccess?.(s,e,this.state.context,this,r),await this.options.onSuccess?.(s,e,this.state.context,r),await this.#r.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,e,this.state.context,r),this.#i({type:"success",data:s}),s}catch(t){try{throw await this.#r.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#i({type:"error",error:t})}}finally{this.#r.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21623:function(e,t,r){"use strict";r.d(t,{S:function(){return m}});var n=r(45345),i=r(21733),s=r(18238),a=r(24112),o=class extends a.l{constructor(e={}){super(),this.config=e,this.#s=new Map}#s;build(e,t,r){let s=t.queryKey,a=t.queryHash??(0,n.Rm)(s,t),o=this.get(a);return o||(o=new i.A({client:e,queryKey:s,queryHash:a,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(s)}),this.add(o)),o}add(e){this.#s.has(e.queryHash)||(this.#s.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#s.get(e.queryHash);t&&(e.destroy(),t===e&&this.#s.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){s.Vr.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#s.get(e)}getAll(){return[...this.#s.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n._x)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n._x)(e,t)):t}notify(e){s.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){s.Vr.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){s.Vr.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},u=r(2894),l=class extends a.l{constructor(e={}){super(),this.config=e,this.#a=new Set,this.#o=new Map,this.#u=0}#a;#o;#u;build(e,t,r){let n=new u.m({client:e,mutationCache:this,mutationId:++this.#u,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#a.add(e);let t=c(e);if("string"==typeof t){let r=this.#o.get(t);r?r.push(e):this.#o.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#a.delete(e)){let t=c(e);if("string"==typeof t){let r=this.#o.get(t);if(r){if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#o.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=c(e);if("string"!=typeof t)return!0;{let r=this.#o.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=c(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#o.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){s.Vr.batch(()=>{this.#a.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#a.clear(),this.#o.clear()})}getAll(){return Array.from(this.#a)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.X7)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.X7)(e,t))}notify(e){s.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return s.Vr.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.ZT))))}};function c(e){return e.options.scope?.id}var h=r(87045),d=r(57853);function f(e){return{onFetch:(t,r)=>{let i=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],u={pages:[],pageParams:[]},l=0,c=async()=>{let r=!1,c=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)})},h=(0,n.cG)(t.options,t.fetchOptions),d=async(e,i,s)=>{if(r)return Promise.reject();if(null==i&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:i,direction:s?"backward":"forward",meta:t.options.meta};return c(e),e})(),o=await h(a),{maxPages:u}=t.options,l=s?n.Ht:n.VX;return{pages:l(e.pages,o,u),pageParams:l(e.pageParams,i,u)}};if(s&&a.length){let e="backward"===s,t={pages:a,pageParams:o},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:p)(i,t);u=await d(t,r,e)}else{let t=e??a.length;do{let e=0===l?o[0]??i.initialPageParam:p(i,u);if(l>0&&null==e)break;u=await d(u,e),l++}while(lt.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=c}}}function p(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var m=class{#l;#r;#c;#h;#d;#f;#p;#m;constructor(e={}){this.#l=e.queryCache||new o,this.#r=e.mutationCache||new l,this.#c=e.defaultOptions||{},this.#h=new Map,this.#d=new Map,this.#f=0}mount(){this.#f++,1===this.#f&&(this.#p=h.j.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#l.onFocus())}),this.#m=d.N.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#l.onOnline())}))}unmount(){this.#f--,0===this.#f&&(this.#p?.(),this.#p=void 0,this.#m?.(),this.#m=void 0)}isFetching(e){return this.#l.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#r.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#l.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#l.build(this,t),i=r.state.data;return void 0===i?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.KC)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(i))}getQueriesData(e){return this.#l.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let i=this.defaultQueryOptions({queryKey:e}),s=this.#l.get(i.queryHash),a=s?.state.data,o=(0,n.SE)(t,a);if(void 0!==o)return this.#l.build(this,i).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return s.Vr.batch(()=>this.#l.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#l.get(t.queryHash)?.state}removeQueries(e){let t=this.#l;s.Vr.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#l;return s.Vr.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(s.Vr.batch(()=>this.#l.findAll(e).map(e=>e.cancel(r)))).then(n.ZT).catch(n.ZT)}invalidateQueries(e,t={}){return s.Vr.batch(()=>(this.#l.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(s.Vr.batch(()=>this.#l.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.ZT)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.ZT)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#l.build(this,t);return r.isStaleByTime((0,n.KC)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.ZT).catch(n.ZT)}fetchInfiniteQuery(e){return e.behavior=f(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.ZT).catch(n.ZT)}ensureInfiniteQueryData(e){return e.behavior=f(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return d.N.isOnline()?this.#r.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#l}getMutationCache(){return this.#r}getDefaultOptions(){return this.#c}setDefaultOptions(e){this.#c=e}setQueryDefaults(e,t){this.#h.set((0,n.Ym)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#h.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#d.set((0,n.Ym)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#d.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#c.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.Rm)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.CN&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#c.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#l.clear(),this.#r.clear()}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/6653-7001d6e6100af8cb.js b/litellm/proxy/_experimental/out/_next/static/chunks/6653-bdb4cfe11ecbcb53.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/6653-7001d6e6100af8cb.js rename to litellm/proxy/_experimental/out/_next/static/chunks/6653-bdb4cfe11ecbcb53.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/667-cbb542e4dc0d37bb.js b/litellm/proxy/_experimental/out/_next/static/chunks/667-cbb542e4dc0d37bb.js deleted file mode 100644 index 2a08e17f35..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/667-cbb542e4dc0d37bb.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[667],{12660:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(1119),o=r(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"},a=r(55015),s=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:i}))})},5540:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(1119),o=r(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},a=r(55015),s=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:i}))})},3632:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(1119),o=r(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},a=r(55015),s=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:i}))})},35291:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(1119),o=r(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},a=r(55015),s=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,n.Z)({},e,{ref:t,icon:i}))})},59341:function(e,t,r){"use strict";r.d(t,{Z:function(){return F}});var n=r(5853),o=r(71049),i=r(11323),a=r(2265),s=r(66797),l=r(40099),c=r(74275),u=r(59456),d=r(93980),f=r(65573),h=r(67561),p=r(87550),m=r(628),g=r(80281),v=r(31370),b=r(20131),y=r(38929),w=r(52307),S=r(52724),_=r(7935);let k=(0,a.createContext)(null);k.displayName="GroupContext";let C=a.Fragment,x=Object.assign((0,y.yV)(function(e,t){var r;let n=(0,a.useId)(),C=(0,g.Q)(),x=(0,p.B)(),{id:O=C||"headlessui-switch-".concat(n),disabled:j=x||!1,checked:E,defaultChecked:R,onChange:z,name:N,value:F,form:P,autoFocus:Z=!1,...L}=e,T=(0,a.useContext)(k),[I,M]=(0,a.useState)(null),B=(0,a.useRef)(null),A=(0,h.T)(B,t,null===T?null:T.setSwitch,M),q=(0,c.L)(R),[W,D]=(0,l.q)(E,z,null!=q&&q),V=(0,u.G)(),[H,G]=(0,a.useState)(!1),K=(0,d.z)(()=>{G(!0),null==D||D(!W),V.nextFrame(()=>{G(!1)})}),U=(0,d.z)(e=>{if((0,v.P)(e.currentTarget))return e.preventDefault();e.preventDefault(),K()}),X=(0,d.z)(e=>{e.key===S.R.Space?(e.preventDefault(),K()):e.key===S.R.Enter&&(0,b.g)(e.currentTarget)}),$=(0,d.z)(e=>e.preventDefault()),Q=(0,_.wp)(),Y=(0,w.zH)(),{isFocusVisible:J,focusProps:ee}=(0,o.F)({autoFocus:Z}),{isHovered:et,hoverProps:er}=(0,i.X)({isDisabled:j}),{pressed:en,pressProps:eo}=(0,s.x)({disabled:j}),ei=(0,a.useMemo)(()=>({checked:W,disabled:j,hover:et,focus:J,active:en,autofocus:Z,changing:H}),[W,et,J,en,j,H,Z]),ea=(0,y.dG)({id:O,ref:A,role:"switch",type:(0,f.f)(e,I),tabIndex:-1===e.tabIndex?0:null!=(r=e.tabIndex)?r:0,"aria-checked":W,"aria-labelledby":Q,"aria-describedby":Y,disabled:j||void 0,autoFocus:Z,onClick:U,onKeyUp:X,onKeyPress:$},ee,er,eo),es=(0,a.useCallback)(()=>{if(void 0!==q)return null==D?void 0:D(q)},[D,q]),el=(0,y.L6)();return a.createElement(a.Fragment,null,null!=N&&a.createElement(m.Mt,{disabled:j,data:{[N]:F||"on"},overrides:{type:"checkbox",checked:W},form:P,onReset:es}),el({ourProps:ea,theirProps:L,slot:ei,defaultTag:"button",name:"Switch"}))}),{Group:function(e){var t;let[r,n]=(0,a.useState)(null),[o,i]=(0,_.bE)(),[s,l]=(0,w.fw)(),c=(0,a.useMemo)(()=>({switch:r,setSwitch:n}),[r,n]),u=(0,y.L6)();return a.createElement(l,{name:"Switch.Description",value:s},a.createElement(i,{name:"Switch.Label",value:o,props:{htmlFor:null==(t=c.switch)?void 0:t.id,onClick(e){r&&(e.currentTarget instanceof HTMLLabelElement&&e.preventDefault(),r.click(),r.focus({preventScroll:!0}))}}},a.createElement(k.Provider,{value:c},u({ourProps:{},theirProps:e,slot:{},defaultTag:C,name:"Switch.Group"}))))},Label:_.__,Description:w.dk});var O=r(44140),j=r(26898),E=r(13241),R=r(1153),z=r(47187);let N=(0,R.fn)("Switch"),F=a.forwardRef((e,t)=>{let{checked:r,defaultChecked:o=!1,onChange:i,color:s,name:l,error:c,errorMessage:u,disabled:d,required:f,tooltip:h,id:p}=e,m=(0,n._T)(e,["checked","defaultChecked","onChange","color","name","error","errorMessage","disabled","required","tooltip","id"]),g={bgColor:s?(0,R.bM)(s,j.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",ringColor:s?(0,R.bM)(s,j.K.ring).ringColor:"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"},[v,b]=(0,O.Z)(o,r),[y,w]=(0,a.useState)(!1),{tooltipProps:S,getReferenceProps:_}=(0,z.l)(300);return a.createElement("div",{className:"flex flex-row items-center justify-start"},a.createElement(z.Z,Object.assign({text:h},S)),a.createElement("div",Object.assign({ref:(0,R.lq)([t,S.refs.setReference]),className:(0,E.q)(N("root"),"flex flex-row relative h-5")},m,_),a.createElement("input",{type:"checkbox",className:(0,E.q)(N("input"),"absolute w-5 h-5 cursor-pointer left-0 top-0 opacity-0"),name:l,required:f,checked:v,onChange:e=>{e.preventDefault()}}),a.createElement(x,{checked:v,onChange:e=>{b(e),null==i||i(e)},disabled:d,className:(0,E.q)(N("switch"),"w-10 h-5 group relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-tremor-full","focus:outline-none",d?"cursor-not-allowed":""),onFocus:()=>w(!0),onBlur:()=>w(!1),id:p},a.createElement("span",{className:(0,E.q)(N("sr-only"),"sr-only")},"Switch ",v?"on":"off"),a.createElement("span",{"aria-hidden":"true",className:(0,E.q)(N("background"),v?g.bgColor:"bg-tremor-border dark:bg-dark-tremor-border","pointer-events-none absolute mx-auto h-3 w-9 rounded-tremor-full transition-colors duration-100 ease-in-out")}),a.createElement("span",{"aria-hidden":"true",className:(0,E.q)(N("round"),v?(0,E.q)(g.bgColor,"translate-x-5 border-tremor-background dark:border-dark-tremor-background"):"translate-x-0 bg-tremor-border dark:bg-dark-tremor-border border-tremor-background dark:border-dark-tremor-background","pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-tremor-full border-2 shadow-tremor-input duration-100 ease-in-out transition",y?(0,E.q)("ring-2",g.ringColor):"")}))),c&&u?a.createElement("p",{className:(0,E.q)(N("errorMessage"),"text-sm text-red-500 mt-1 ")},u):null)});F.displayName="Switch"},92570:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=e=>e?"function"==typeof e?e():e:null},20435:function(e,t,r){"use strict";r.d(t,{aV:function(){return d}});var n=r(2265),o=r(36760),i=r.n(o),a=r(5769),s=r(92570),l=r(71744),c=r(72262),u=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let d=e=>{let{title:t,content:r,prefixCls:o}=e;return t||r?n.createElement(n.Fragment,null,t&&n.createElement("div",{className:"".concat(o,"-title")},t),r&&n.createElement("div",{className:"".concat(o,"-inner-content")},r)):null},f=e=>{let{hashId:t,prefixCls:r,className:o,style:l,placement:c="top",title:u,content:f,children:h}=e,p=(0,s.Z)(u),m=(0,s.Z)(f),g=i()(t,r,"".concat(r,"-pure"),"".concat(r,"-placement-").concat(c),o);return n.createElement("div",{className:g,style:l},n.createElement("div",{className:"".concat(r,"-arrow")}),n.createElement(a.G,Object.assign({},e,{className:t,prefixCls:r}),h||n.createElement(d,{prefixCls:r,title:p,content:m})))};t.ZP=e=>{let{prefixCls:t,className:r}=e,o=u(e,["prefixCls","className"]),{getPrefixCls:a}=n.useContext(l.E_),s=a("popover",t),[d,h,p]=(0,c.Z)(s);return d(n.createElement(f,Object.assign({},o,{prefixCls:s,hashId:h,className:i()(r,p)})))}},79326:function(e,t,r){"use strict";var n=r(2265),o=r(36760),i=r.n(o),a=r(50506),s=r(95814),l=r(92570),c=r(68710),u=r(19722),d=r(71744),f=r(99981),h=r(20435),p=r(72262),m=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let g=n.forwardRef((e,t)=>{var r,o;let{prefixCls:g,title:v,content:b,overlayClassName:y,placement:w="top",trigger:S="hover",children:_,mouseEnterDelay:k=.1,mouseLeaveDelay:C=.1,onOpenChange:x,overlayStyle:O={},styles:j,classNames:E}=e,R=m(e,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle","styles","classNames"]),{getPrefixCls:z,className:N,style:F,classNames:P,styles:Z}=(0,d.dj)("popover"),L=z("popover",g),[T,I,M]=(0,p.Z)(L),B=z(),A=i()(y,I,M,N,P.root,null==E?void 0:E.root),q=i()(P.body,null==E?void 0:E.body),[W,D]=(0,a.Z)(!1,{value:null!==(r=e.open)&&void 0!==r?r:e.visible,defaultValue:null!==(o=e.defaultOpen)&&void 0!==o?o:e.defaultVisible}),V=(e,t)=>{D(e,!0),null==x||x(e,t)},H=e=>{e.keyCode===s.Z.ESC&&V(!1,e)},G=(0,l.Z)(v),K=(0,l.Z)(b);return T(n.createElement(f.Z,Object.assign({placement:w,trigger:S,mouseEnterDelay:k,mouseLeaveDelay:C},R,{prefixCls:L,classNames:{root:A,body:q},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},Z.root),F),O),null==j?void 0:j.root),body:Object.assign(Object.assign({},Z.body),null==j?void 0:j.body)},ref:t,open:W,onOpenChange:e=>{V(e)},overlay:G||K?n.createElement(h.aV,{prefixCls:L,title:G,content:K}):null,transitionName:(0,c.m)(B,"zoom-big",R.transitionName),"data-popover-inject":!0}),(0,u.Tm)(_,{onKeyDown:e=>{var t,r;(0,n.isValidElement)(_)&&(null===(r=null==_?void 0:(t=_.props).onKeyDown)||void 0===r||r.call(t,e)),H(e)}})))});g._InternalPanelDoNotUseOrYouWillBeFired=h.ZP,t.Z=g},72262:function(e,t,r){"use strict";var n=r(12918),o=r(691),i=r(88260),a=r(34442),s=r(53454),l=r(99320),c=r(71140);let u=e=>{let{componentCls:t,popoverColor:r,titleMinWidth:o,fontWeightStrong:a,innerPadding:s,boxShadowSecondary:l,colorTextHeading:c,borderRadiusLG:u,zIndexPopup:d,titleMarginBottom:f,colorBgElevated:h,popoverBg:p,titleBorderBottom:m,innerContentPadding:g,titlePadding:v}=e;return[{[t]:Object.assign(Object.assign({},(0,n.Wf)(e)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:d,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text","--valid-offset-x":"var(--arrow-offset-horizontal, var(--arrow-x))",transformOrigin:"var(--valid-offset-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":h,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},["".concat(t,"-content")]:{position:"relative"},["".concat(t,"-inner")]:{backgroundColor:p,backgroundClip:"padding-box",borderRadius:u,boxShadow:l,padding:s},["".concat(t,"-title")]:{minWidth:o,marginBottom:f,color:c,fontWeight:a,borderBottom:m,padding:v},["".concat(t,"-inner-content")]:{color:r,padding:g}})},(0,i.ZP)(e,"var(--antd-arrow-background-color)"),{["".concat(t,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow,display:"inline-block",["".concat(t,"-content")]:{display:"inline-block"}}}]},d=e=>{let{componentCls:t}=e;return{[t]:s.i.map(r=>{let n=e["".concat(r,"6")];return{["&".concat(t,"-").concat(r)]:{"--antd-arrow-background-color":n,["".concat(t,"-inner")]:{backgroundColor:n},["".concat(t,"-arrow")]:{background:"transparent"}}}})}};t.Z=(0,l.I$)("Popover",e=>{let{colorBgElevated:t,colorText:r}=e,n=(0,c.IX)(e,{popoverBg:t,popoverColor:r});return[u(n),d(n),(0,o._y)(n,"zoom-big")]},e=>{let{lineWidth:t,controlHeight:r,fontHeight:n,padding:o,wireframe:s,zIndexPopupBase:l,borderRadiusLG:c,marginXS:u,lineType:d,colorSplit:f,paddingSM:h}=e,p=r-n;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:l+30},(0,a.w)(e)),(0,i.wZ)({contentRadius:c,limitVerticalRadius:!0})),{innerPadding:s?0:12,titleMarginBottom:s?0:u,titlePadding:s?"".concat(p/2,"px ").concat(o,"px ").concat(p/2-t,"px"):0,titleBorderBottom:s?"".concat(t,"px ").concat(d," ").concat(f):"none",innerContentPadding:s?"".concat(h,"px ").concat(o,"px"):0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]})},3810:function(e,t,r){"use strict";r.d(t,{Z:function(){return z}});var n=r(2265),o=r(36760),i=r.n(o),a=r(18694),s=r(93350),l=r(53445),c=r(19722),u=r(6694),d=r(71744),f=r(93463),h=r(54558),p=r(12918),m=r(71140),g=r(99320);let v=e=>{let{paddingXXS:t,lineWidth:r,tagPaddingHorizontal:n,componentCls:o,calc:i}=e,a=i(n).sub(r).equal(),s=i(t).sub(r).equal();return{[o]:Object.assign(Object.assign({},(0,p.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:a,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,f.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(o,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(o,"-close-icon")]:{marginInlineStart:s,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(o,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(o,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:a}}),["".concat(o,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},b=e=>{let{lineWidth:t,fontSizeIcon:r,calc:n}=e,o=e.fontSizeSM;return(0,m.IX)(e,{tagFontSize:o,tagLineHeight:(0,f.bf)(n(e.lineHeightSM).mul(o).equal()),tagIconSize:n(r).sub(n(t).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},y=e=>({defaultBg:new h.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var w=(0,g.I$)("Tag",e=>v(b(e)),y),S=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let _=n.forwardRef((e,t)=>{let{prefixCls:r,style:o,className:a,checked:s,children:l,icon:c,onChange:u,onClick:f}=e,h=S(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:p,tag:m}=n.useContext(d.E_),g=p("tag",r),[v,b,y]=w(g),_=i()(g,"".concat(g,"-checkable"),{["".concat(g,"-checkable-checked")]:s},null==m?void 0:m.className,a,b,y);return v(n.createElement("span",Object.assign({},h,{ref:t,style:Object.assign(Object.assign({},o),null==m?void 0:m.style),className:_,onClick:e=>{null==u||u(!s),null==f||f(e)}}),c,n.createElement("span",null,l)))});var k=r(18536);let C=e=>(0,k.Z)(e,(t,r)=>{let{textColor:n,lightBorderColor:o,lightColor:i,darkColor:a}=r;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(t)]:{color:n,background:i,borderColor:o,"&-inverse":{color:e.colorTextLightSolid,background:a,borderColor:a},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var x=(0,g.bk)(["Tag","preset"],e=>C(b(e)),y);let O=(e,t,r)=>{let n="string"!=typeof r?r:r.charAt(0).toUpperCase()+r.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(t)]:{color:e["color".concat(r)],background:e["color".concat(n,"Bg")],borderColor:e["color".concat(n,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var j=(0,g.bk)(["Tag","status"],e=>{let t=b(e);return[O(t,"success","Success"),O(t,"processing","Info"),O(t,"error","Error"),O(t,"warning","Warning")]},y),E=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let R=n.forwardRef((e,t)=>{let{prefixCls:r,className:o,rootClassName:f,style:h,children:p,icon:m,color:g,onClose:v,bordered:b=!0,visible:y}=e,S=E(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:_,direction:k,tag:C}=n.useContext(d.E_),[O,R]=n.useState(!0),z=(0,a.Z)(S,["closeIcon","closable"]);n.useEffect(()=>{void 0!==y&&R(y)},[y]);let N=(0,s.o2)(g),F=(0,s.yT)(g),P=N||F,Z=Object.assign(Object.assign({backgroundColor:g&&!P?g:void 0},null==C?void 0:C.style),h),L=_("tag",r),[T,I,M]=w(L),B=i()(L,null==C?void 0:C.className,{["".concat(L,"-").concat(g)]:P,["".concat(L,"-has-color")]:g&&!P,["".concat(L,"-hidden")]:!O,["".concat(L,"-rtl")]:"rtl"===k,["".concat(L,"-borderless")]:!b},o,f,I,M),A=e=>{e.stopPropagation(),null==v||v(e),e.defaultPrevented||R(!1)},[,q]=(0,l.b)((0,l.w)(e),(0,l.w)(C),{closable:!1,closeIconRender:e=>{let t=n.createElement("span",{className:"".concat(L,"-close-icon"),onClick:A},e);return(0,c.wm)(e,t,e=>({onClick:t=>{var r;null===(r=null==e?void 0:e.onClick)||void 0===r||r.call(e,t),A(t)},className:i()(null==e?void 0:e.className,"".concat(L,"-close-icon"))}))}}),W="function"==typeof S.onClick||p&&"a"===p.type,D=m||null,V=D?n.createElement(n.Fragment,null,D,p&&n.createElement("span",null,p)):p,H=n.createElement("span",Object.assign({},z,{ref:t,className:B,style:Z}),V,q,N&&n.createElement(x,{key:"preset",prefixCls:L}),F&&n.createElement(j,{key:"status",prefixCls:L}));return T(W?n.createElement(u.Z,{component:"Tag"},H):H)});R.CheckableTag=_;var z=R},79205:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(2265);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),i=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),a=e=>{let t=i(e);return t.charAt(0).toUpperCase()+t.slice(1)},s=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let u=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:u="",children:d,iconNode:f,...h}=e;return(0,n.createElement)("svg",{ref:t,...c,width:o,height:o,stroke:r,strokeWidth:a?24*Number(i)/Number(o):i,className:s("lucide",u),...!d&&!l(h)&&{"aria-hidden":"true"},...h},[...f.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(d)?d:[d]])}),d=(e,t)=>{let r=(0,n.forwardRef)((r,i)=>{let{className:l,...c}=r;return(0,n.createElement)(u,{ref:i,iconNode:t,className:s("lucide-".concat(o(a(e))),"lucide-".concat(e),l),...c})});return r.displayName=a(e),r}},30401:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},24601:function(){},18975:function(e,t,r){"use strict";var n=r(40257);r(24601);var o=r(2265),i=o&&"object"==typeof o&&"default"in o?o:{default:o},a=void 0!==n&&n.env&&!0,s=function(e){return"[object String]"===Object.prototype.toString.call(e)},l=function(){function e(e){var t=void 0===e?{}:e,r=t.name,n=void 0===r?"stylesheet":r,o=t.optimizeForSpeed,i=void 0===o?a:o;c(s(n),"`name` must be a string"),this._name=n,this._deletedRulePlaceholder="#"+n+"-deleted-rule____{}",c("boolean"==typeof i,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=i,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var l="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=l?l.getAttribute("content"):null}var t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(a||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,r){return"number"==typeof r?e._serverSheet.cssRules[r]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),r},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t>>0},d={};function f(e,t){if(!t)return"jsx-"+e;var r=String(t),n=e+r;return d[n]||(d[n]="jsx-"+u(e+"-"+r)),d[n]}function h(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var r=e+t;return d[r]||(d[r]=t.replace(/__jsx-style-dynamic-selector/g,e)),d[r]}var p=function(){function e(e){var t=void 0===e?{}:e,r=t.styleSheet,n=void 0===r?null:r,o=t.optimizeForSpeed,i=void 0!==o&&o;this._sheet=n||new l({name:"styled-jsx",optimizeForSpeed:i}),this._sheet.inject(),n&&"boolean"==typeof i&&(this._sheet.setOptimizeForSpeed(i),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var r=this.getIdAndRules(e),n=r.styleId,o=r.rules;if(n in this._instancesCounts){this._instancesCounts[n]+=1;return}var i=o.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[n]=i,this._instancesCounts[n]=1},t.remove=function(e){var t=this,r=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(r in this._instancesCounts,"styleId: `"+r+"` not found"),this._instancesCounts[r]-=1,this._instancesCounts[r]<1){var n=this._fromServer&&this._fromServer[r];n?(n.parentNode.removeChild(n),delete this._fromServer[r]):(this._indices[r].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[r]),delete this._instancesCounts[r]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],r=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return r[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,r;return t=this.cssRules(),void 0===(r=e)&&(r={}),t.map(function(e){var t=e[0],n=e[1];return i.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:r.nonce?r.nonce:void 0,dangerouslySetInnerHTML:{__html:n}})})},t.getIdAndRules=function(e){var t=e.children,r=e.dynamic,n=e.id;if(r){var o=f(n,r);return{styleId:o,rules:Array.isArray(t)?t.map(function(e){return h(o,e)}):[h(o,t)]}}return{styleId:f(n),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),m=o.createContext(null);m.displayName="StyleSheetContext";var g=i.default.useInsertionEffect||i.default.useLayoutEffect,v="undefined"!=typeof window?new p:void 0;function b(e){var t=v||o.useContext(m);return t&&("undefined"==typeof window?t.add(e):g(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}b.dynamic=function(e){return e.map(function(e){return f(e[0],e[1])}).join(" ")},t.style=b},29:function(e,t,r){"use strict";e.exports=r(18975).style},86462:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});t.Z=o},2356:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"}))});t.Z=o},49084:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});t.Z=o}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/6892-194d88168be5145d.js b/litellm/proxy/_experimental/out/_next/static/chunks/6892-194d88168be5145d.js new file mode 100644 index 0000000000..9106cb1649 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/6892-194d88168be5145d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6892,5945],{45246:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"},l=n(55015),i=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},89245:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},l=n(55015),i=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},78355:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},l=n(55015),i=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},8881:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z"}}]},name:"stop",theme:"outlined"},l=n(55015),i=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},59664:function(e,t,n){n.d(t,{Z:function(){return S}});var a=n(5853),o=n(2265),r=n(47625),l=n(93765),i=n(54061),c=n(97059),s=n(62994),d=n(25311),u=(0,l.z)({chartName:"LineChart",GraphicalChild:i.x,axisComponents:[{axisType:"xAxis",AxisComp:c.K},{axisType:"yAxis",AxisComp:s.B}],formatAxisMap:d.t9}),m=n(56940),p=n(26680),f=n(8147),b=n(22190),g=n(81889),h=n(65278),v=n(98593),y=n(92666),x=n(32644),k=n(7084),w=n(26898),E=n(13241),O=n(1153);let S=o.forwardRef((e,t)=>{let{data:n=[],categories:l=[],index:d,colors:S=w.s,valueFormatter:C=O.Cj,startEndOnly:j=!1,showXAxis:L=!0,showYAxis:N=!0,yAxisWidth:z=56,intervalType:T="equidistantPreserveStart",animationDuration:P=900,showAnimation:Z=!1,showTooltip:M=!0,showLegend:R=!0,showGridLines:B=!0,autoMinValue:A=!1,curveType:W="linear",minValue:G,maxValue:I,connectNulls:q=!1,allowDecimals:H=!0,noDataText:D,className:K,onValueChange:F,enableLegendSlider:V=!1,customTooltip:_,rotateLabelX:X,padding:Y=L||N?{left:20,right:20}:{left:0,right:0},tickGap:U=5,xAxisLabel:$,yAxisLabel:Q}=e,J=(0,a._T)(e,["data","categories","index","colors","valueFormatter","startEndOnly","showXAxis","showYAxis","yAxisWidth","intervalType","animationDuration","showAnimation","showTooltip","showLegend","showGridLines","autoMinValue","curveType","minValue","maxValue","connectNulls","allowDecimals","noDataText","className","onValueChange","enableLegendSlider","customTooltip","rotateLabelX","padding","tickGap","xAxisLabel","yAxisLabel"]),[ee,et]=(0,o.useState)(60),[en,ea]=(0,o.useState)(void 0),[eo,er]=(0,o.useState)(void 0),el=(0,x.me)(l,S),ei=(0,x.i4)(A,G,I),ec=!!F;function es(e){ec&&(e===eo&&!en||(0,x.FB)(n,e)&&en&&en.dataKey===e?(er(void 0),null==F||F(null)):(er(e),null==F||F({eventType:"category",categoryClicked:e})),ea(void 0))}return o.createElement("div",Object.assign({ref:t,className:(0,E.q)("w-full h-80",K)},J),o.createElement(r.h,{className:"h-full w-full"},(null==n?void 0:n.length)?o.createElement(u,{data:n,onClick:ec&&(eo||en)?()=>{ea(void 0),er(void 0),null==F||F(null)}:void 0,margin:{bottom:$?30:void 0,left:Q?20:void 0,right:Q?5:void 0,top:5}},B?o.createElement(m.q,{className:(0,E.q)("stroke-1","stroke-tremor-border","dark:stroke-dark-tremor-border"),horizontal:!0,vertical:!1}):null,o.createElement(c.K,{padding:Y,hide:!L,dataKey:d,interval:j?"preserveStartEnd":T,tick:{transform:"translate(0, 6)"},ticks:j?[n[0][d],n[n.length-1][d]]:void 0,fill:"",stroke:"",className:(0,E.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickLine:!1,axisLine:!1,minTickGap:U,angle:null==X?void 0:X.angle,dy:null==X?void 0:X.verticalShift,height:null==X?void 0:X.xAxisHeight},$&&o.createElement(p._,{position:"insideBottom",offset:-20,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},$)),o.createElement(s.B,{width:z,hide:!N,axisLine:!1,tickLine:!1,type:"number",domain:ei,tick:{transform:"translate(-3, 0)"},fill:"",stroke:"",className:(0,E.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickFormatter:C,allowDecimals:H},Q&&o.createElement(p._,{position:"insideLeft",style:{textAnchor:"middle"},angle:-90,offset:-15,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},Q)),o.createElement(f.u,{wrapperStyle:{outline:"none"},isAnimationActive:!1,cursor:{stroke:"#d1d5db",strokeWidth:1},content:M?e=>{let{active:t,payload:n,label:a}=e;return _?o.createElement(_,{payload:null==n?void 0:n.map(e=>{var t;return Object.assign(Object.assign({},e),{color:null!==(t=el.get(e.dataKey))&&void 0!==t?t:k.fr.Gray})}),active:t,label:a}):o.createElement(v.ZP,{active:t,payload:n,label:a,valueFormatter:C,categoryColors:el})}:o.createElement(o.Fragment,null),position:{y:0}}),R?o.createElement(b.D,{verticalAlign:"top",height:ee,content:e=>{let{payload:t}=e;return(0,h.Z)({payload:t},el,et,eo,ec?e=>es(e):void 0,V)}}):null,l.map(e=>{var t;return o.createElement(i.x,{className:(0,E.q)((0,O.bM)(null!==(t=el.get(e))&&void 0!==t?t:k.fr.Gray,w.K.text).strokeColor),strokeOpacity:en||eo&&eo!==e?.3:1,activeDot:e=>{var t;let{cx:a,cy:r,stroke:l,strokeLinecap:i,strokeLinejoin:c,strokeWidth:s,dataKey:d}=e;return o.createElement(g.o,{className:(0,E.q)("stroke-tremor-background dark:stroke-dark-tremor-background",F?"cursor-pointer":"",(0,O.bM)(null!==(t=el.get(d))&&void 0!==t?t:k.fr.Gray,w.K.text).fillColor),cx:a,cy:r,r:5,fill:"",stroke:l,strokeLinecap:i,strokeLinejoin:c,strokeWidth:s,onClick:(t,a)=>{a.stopPropagation(),ec&&(e.index===(null==en?void 0:en.index)&&e.dataKey===(null==en?void 0:en.dataKey)||(0,x.FB)(n,e.dataKey)&&eo&&eo===e.dataKey?(er(void 0),ea(void 0),null==F||F(null)):(er(e.dataKey),ea({index:e.index,dataKey:e.dataKey}),null==F||F(Object.assign({eventType:"dot",categoryClicked:e.dataKey},e.payload))))}})},dot:t=>{var a;let{stroke:r,strokeLinecap:l,strokeLinejoin:i,strokeWidth:c,cx:s,cy:d,dataKey:u,index:m}=t;return(0,x.FB)(n,e)&&!(en||eo&&eo!==e)||(null==en?void 0:en.index)===m&&(null==en?void 0:en.dataKey)===e?o.createElement(g.o,{key:m,cx:s,cy:d,r:5,stroke:r,fill:"",strokeLinecap:l,strokeLinejoin:i,strokeWidth:c,className:(0,E.q)("stroke-tremor-background dark:stroke-dark-tremor-background",F?"cursor-pointer":"",(0,O.bM)(null!==(a=el.get(u))&&void 0!==a?a:k.fr.Gray,w.K.text).fillColor)}):o.createElement(o.Fragment,{key:m})},key:e,name:e,type:W,dataKey:e,stroke:"",strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",isAnimationActive:Z,animationDuration:P,connectNulls:q})}),F?l.map(e=>o.createElement(i.x,{className:(0,E.q)("cursor-pointer"),strokeOpacity:0,key:e,name:e,type:W,dataKey:e,stroke:"transparent",fill:"transparent",legendType:"none",tooltipType:"none",strokeWidth:12,connectNulls:q,onClick:(e,t)=>{t.stopPropagation();let{name:n}=e;es(n)}})):null):o.createElement(y.Z,{noDataText:D})))});S.displayName="LineChart"},59341:function(e,t,n){n.d(t,{Z:function(){return P}});var a=n(5853),o=n(71049),r=n(11323),l=n(2265),i=n(66797),c=n(40099),s=n(74275),d=n(59456),u=n(93980),m=n(65573),p=n(67561),f=n(87550),b=n(628),g=n(80281),h=n(31370),v=n(20131),y=n(38929),x=n(52307),k=n(52724),w=n(7935);let E=(0,l.createContext)(null);E.displayName="GroupContext";let O=l.Fragment,S=Object.assign((0,y.yV)(function(e,t){var n;let a=(0,l.useId)(),O=(0,g.Q)(),S=(0,f.B)(),{id:C=O||"headlessui-switch-".concat(a),disabled:j=S||!1,checked:L,defaultChecked:N,onChange:z,name:T,value:P,form:Z,autoFocus:M=!1,...R}=e,B=(0,l.useContext)(E),[A,W]=(0,l.useState)(null),G=(0,l.useRef)(null),I=(0,p.T)(G,t,null===B?null:B.setSwitch,W),q=(0,s.L)(N),[H,D]=(0,c.q)(L,z,null!=q&&q),K=(0,d.G)(),[F,V]=(0,l.useState)(!1),_=(0,u.z)(()=>{V(!0),null==D||D(!H),K.nextFrame(()=>{V(!1)})}),X=(0,u.z)(e=>{if((0,h.P)(e.currentTarget))return e.preventDefault();e.preventDefault(),_()}),Y=(0,u.z)(e=>{e.key===k.R.Space?(e.preventDefault(),_()):e.key===k.R.Enter&&(0,v.g)(e.currentTarget)}),U=(0,u.z)(e=>e.preventDefault()),$=(0,w.wp)(),Q=(0,x.zH)(),{isFocusVisible:J,focusProps:ee}=(0,o.F)({autoFocus:M}),{isHovered:et,hoverProps:en}=(0,r.X)({isDisabled:j}),{pressed:ea,pressProps:eo}=(0,i.x)({disabled:j}),er=(0,l.useMemo)(()=>({checked:H,disabled:j,hover:et,focus:J,active:ea,autofocus:M,changing:F}),[H,et,J,ea,j,F,M]),el=(0,y.dG)({id:C,ref:I,role:"switch",type:(0,m.f)(e,A),tabIndex:-1===e.tabIndex?0:null!=(n=e.tabIndex)?n:0,"aria-checked":H,"aria-labelledby":$,"aria-describedby":Q,disabled:j||void 0,autoFocus:M,onClick:X,onKeyUp:Y,onKeyPress:U},ee,en,eo),ei=(0,l.useCallback)(()=>{if(void 0!==q)return null==D?void 0:D(q)},[D,q]),ec=(0,y.L6)();return l.createElement(l.Fragment,null,null!=T&&l.createElement(b.Mt,{disabled:j,data:{[T]:P||"on"},overrides:{type:"checkbox",checked:H},form:Z,onReset:ei}),ec({ourProps:el,theirProps:R,slot:er,defaultTag:"button",name:"Switch"}))}),{Group:function(e){var t;let[n,a]=(0,l.useState)(null),[o,r]=(0,w.bE)(),[i,c]=(0,x.fw)(),s=(0,l.useMemo)(()=>({switch:n,setSwitch:a}),[n,a]),d=(0,y.L6)();return l.createElement(c,{name:"Switch.Description",value:i},l.createElement(r,{name:"Switch.Label",value:o,props:{htmlFor:null==(t=s.switch)?void 0:t.id,onClick(e){n&&(e.currentTarget instanceof HTMLLabelElement&&e.preventDefault(),n.click(),n.focus({preventScroll:!0}))}}},l.createElement(E.Provider,{value:s},d({ourProps:{},theirProps:e,slot:{},defaultTag:O,name:"Switch.Group"}))))},Label:w.__,Description:x.dk});var C=n(44140),j=n(26898),L=n(13241),N=n(1153),z=n(47187);let T=(0,N.fn)("Switch"),P=l.forwardRef((e,t)=>{let{checked:n,defaultChecked:o=!1,onChange:r,color:i,name:c,error:s,errorMessage:d,disabled:u,required:m,tooltip:p,id:f}=e,b=(0,a._T)(e,["checked","defaultChecked","onChange","color","name","error","errorMessage","disabled","required","tooltip","id"]),g={bgColor:i?(0,N.bM)(i,j.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",ringColor:i?(0,N.bM)(i,j.K.ring).ringColor:"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"},[h,v]=(0,C.Z)(o,n),[y,x]=(0,l.useState)(!1),{tooltipProps:k,getReferenceProps:w}=(0,z.l)(300);return l.createElement("div",{className:"flex flex-row items-center justify-start"},l.createElement(z.Z,Object.assign({text:p},k)),l.createElement("div",Object.assign({ref:(0,N.lq)([t,k.refs.setReference]),className:(0,L.q)(T("root"),"flex flex-row relative h-5")},b,w),l.createElement("input",{type:"checkbox",className:(0,L.q)(T("input"),"absolute w-5 h-5 cursor-pointer left-0 top-0 opacity-0"),name:c,required:m,checked:h,onChange:e=>{e.preventDefault()}}),l.createElement(S,{checked:h,onChange:e=>{v(e),null==r||r(e)},disabled:u,className:(0,L.q)(T("switch"),"w-10 h-5 group relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-tremor-full","focus:outline-none",u?"cursor-not-allowed":""),onFocus:()=>x(!0),onBlur:()=>x(!1),id:f},l.createElement("span",{className:(0,L.q)(T("sr-only"),"sr-only")},"Switch ",h?"on":"off"),l.createElement("span",{"aria-hidden":"true",className:(0,L.q)(T("background"),h?g.bgColor:"bg-tremor-border dark:bg-dark-tremor-border","pointer-events-none absolute mx-auto h-3 w-9 rounded-tremor-full transition-colors duration-100 ease-in-out")}),l.createElement("span",{"aria-hidden":"true",className:(0,L.q)(T("round"),h?(0,L.q)(g.bgColor,"translate-x-5 border-tremor-background dark:border-dark-tremor-background"):"translate-x-0 bg-tremor-border dark:bg-dark-tremor-border border-tremor-background dark:border-dark-tremor-background","pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-tremor-full border-2 shadow-tremor-input duration-100 ease-in-out transition",y?(0,L.q)("ring-2",g.ringColor):"")}))),s&&d?l.createElement("p",{className:(0,L.q)(T("errorMessage"),"text-sm text-red-500 mt-1 ")},d):null)});P.displayName="Switch"},5945:function(e,t,n){n.d(t,{Z:function(){return T}});var a=n(2265),o=n(36760),r=n.n(o),l=n(18694),i=n(71744),c=n(33759),s=n(50337),d=n(65869),u=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n},m=e=>{var{prefixCls:t,className:n,hoverable:o=!0}=e,l=u(e,["prefixCls","className","hoverable"]);let{getPrefixCls:c}=a.useContext(i.E_),s=c("card",t),d=r()("".concat(s,"-grid"),n,{["".concat(s,"-grid-hoverable")]:o});return a.createElement("div",Object.assign({},l,{className:d}))},p=n(93463),f=n(12918),b=n(99320),g=n(71140);let h=e=>{let{antCls:t,componentCls:n,headerHeight:a,headerPadding:o,tabsMarginBottom:r}=e;return Object.assign(Object.assign({display:"flex",justifyContent:"center",flexDirection:"column",minHeight:a,marginBottom:-1,padding:"0 ".concat((0,p.bf)(o)),color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:e.headerFontSize,background:e.headerBg,borderBottom:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorderSecondary),borderRadius:"".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG)," 0 0")},(0,f.dF)()),{"&-wrapper":{width:"100%",display:"flex",alignItems:"center"},"&-title":Object.assign(Object.assign({display:"inline-block",flex:1},f.vS),{["\n > ".concat(n,"-typography,\n > ").concat(n,"-typography-edit-content\n ")]:{insetInlineStart:0,marginTop:0,marginBottom:0}}),["".concat(t,"-tabs-top")]:{clear:"both",marginBottom:r,color:e.colorText,fontWeight:"normal",fontSize:e.fontSize,"&-bar":{borderBottom:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorderSecondary)}}})},v=e=>{let{cardPaddingBase:t,colorBorderSecondary:n,cardShadow:a,lineWidth:o}=e;return{width:"33.33%",padding:t,border:0,borderRadius:0,boxShadow:"\n ".concat((0,p.bf)(o)," 0 0 0 ").concat(n,",\n 0 ").concat((0,p.bf)(o)," 0 0 ").concat(n,",\n ").concat((0,p.bf)(o)," ").concat((0,p.bf)(o)," 0 0 ").concat(n,",\n ").concat((0,p.bf)(o)," 0 0 0 ").concat(n," inset,\n 0 ").concat((0,p.bf)(o)," 0 0 ").concat(n," inset;\n "),transition:"all ".concat(e.motionDurationMid),"&-hoverable:hover":{position:"relative",zIndex:1,boxShadow:a}}},y=e=>{let{componentCls:t,iconCls:n,actionsLiMargin:a,cardActionsIconSize:o,colorBorderSecondary:r,actionsBg:l}=e;return Object.assign(Object.assign({margin:0,padding:0,listStyle:"none",background:l,borderTop:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(r),display:"flex",borderRadius:"0 0 ".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG))},(0,f.dF)()),{"& > li":{margin:a,color:e.colorTextDescription,textAlign:"center","> span":{position:"relative",display:"block",minWidth:e.calc(e.cardActionsIconSize).mul(2).equal(),fontSize:e.fontSize,lineHeight:e.lineHeight,cursor:"pointer","&:hover":{color:e.colorPrimary,transition:"color ".concat(e.motionDurationMid)},["a:not(".concat(t,"-btn), > ").concat(n)]:{display:"inline-block",width:"100%",color:e.colorIcon,lineHeight:(0,p.bf)(e.fontHeight),transition:"color ".concat(e.motionDurationMid),"&:hover":{color:e.colorPrimary}},["> ".concat(n)]:{fontSize:o,lineHeight:(0,p.bf)(e.calc(o).mul(e.lineHeight).equal())}},"&:not(:last-child)":{borderInlineEnd:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(r)}}})},x=e=>Object.assign(Object.assign({margin:"".concat((0,p.bf)(e.calc(e.marginXXS).mul(-1).equal())," 0"),display:"flex"},(0,f.dF)()),{"&-avatar":{paddingInlineEnd:e.padding},"&-detail":{overflow:"hidden",flex:1,"> div:not(:last-child)":{marginBottom:e.marginXS}},"&-title":Object.assign({color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:e.fontSizeLG},f.vS),"&-description":{color:e.colorTextDescription}}),k=e=>{let{componentCls:t,colorFillAlter:n,headerPadding:a,bodyPadding:o}=e;return{["".concat(t,"-head")]:{padding:"0 ".concat((0,p.bf)(a)),background:n,"&-title":{fontSize:e.fontSize}},["".concat(t,"-body")]:{padding:"".concat((0,p.bf)(e.padding)," ").concat((0,p.bf)(o))}}},w=e=>{let{componentCls:t}=e;return{overflow:"hidden",["".concat(t,"-body")]:{userSelect:"none"}}},E=e=>{let{componentCls:t,cardShadow:n,cardHeadPadding:a,colorBorderSecondary:o,boxShadowTertiary:r,bodyPadding:l,extraColor:i}=e;return{[t]:Object.assign(Object.assign({},(0,f.Wf)(e)),{position:"relative",background:e.colorBgContainer,borderRadius:e.borderRadiusLG,["&:not(".concat(t,"-bordered)")]:{boxShadow:r},["".concat(t,"-head")]:h(e),["".concat(t,"-extra")]:{marginInlineStart:"auto",color:i,fontWeight:"normal",fontSize:e.fontSize},["".concat(t,"-body")]:{padding:l,borderRadius:"0 0 ".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG))},["".concat(t,"-grid")]:v(e),["".concat(t,"-cover")]:{"> *":{display:"block",width:"100%",borderRadius:"".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG)," 0 0")}},["".concat(t,"-actions")]:y(e),["".concat(t,"-meta")]:x(e)}),["".concat(t,"-bordered")]:{border:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(o),["".concat(t,"-cover")]:{marginTop:-1,marginInlineStart:-1,marginInlineEnd:-1}},["".concat(t,"-hoverable")]:{cursor:"pointer",transition:"box-shadow ".concat(e.motionDurationMid,", border-color ").concat(e.motionDurationMid),"&:hover":{borderColor:"transparent",boxShadow:n}},["".concat(t,"-contain-grid")]:{borderRadius:"".concat((0,p.bf)(e.borderRadiusLG)," ").concat((0,p.bf)(e.borderRadiusLG)," 0 0 "),["".concat(t,"-body")]:{display:"flex",flexWrap:"wrap"},["&:not(".concat(t,"-loading) ").concat(t,"-body")]:{marginBlockStart:e.calc(e.lineWidth).mul(-1).equal(),marginInlineStart:e.calc(e.lineWidth).mul(-1).equal(),padding:0}},["".concat(t,"-contain-tabs")]:{["> div".concat(t,"-head")]:{minHeight:0,["".concat(t,"-head-title, ").concat(t,"-extra")]:{paddingTop:a}}},["".concat(t,"-type-inner")]:k(e),["".concat(t,"-loading")]:w(e),["".concat(t,"-rtl")]:{direction:"rtl"}}},O=e=>{let{componentCls:t,bodyPaddingSM:n,headerPaddingSM:a,headerHeightSM:o,headerFontSizeSM:r}=e;return{["".concat(t,"-small")]:{["> ".concat(t,"-head")]:{minHeight:o,padding:"0 ".concat((0,p.bf)(a)),fontSize:r,["> ".concat(t,"-head-wrapper")]:{["> ".concat(t,"-extra")]:{fontSize:e.fontSize}}},["> ".concat(t,"-body")]:{padding:n}},["".concat(t,"-small").concat(t,"-contain-tabs")]:{["> ".concat(t,"-head")]:{["".concat(t,"-head-title, ").concat(t,"-extra")]:{paddingTop:0,display:"flex",alignItems:"center"}}}}};var S=(0,b.I$)("Card",e=>{let t=(0,g.IX)(e,{cardShadow:e.boxShadowCard,cardHeadPadding:e.padding,cardPaddingBase:e.paddingLG,cardActionsIconSize:e.fontSize});return[E(t),O(t)]},e=>{var t,n;return{headerBg:"transparent",headerFontSize:e.fontSizeLG,headerFontSizeSM:e.fontSize,headerHeight:e.fontSizeLG*e.lineHeightLG+2*e.padding,headerHeightSM:e.fontSize*e.lineHeight+2*e.paddingXS,actionsBg:e.colorBgContainer,actionsLiMargin:"".concat(e.paddingSM,"px 0"),tabsMarginBottom:-e.padding-e.lineWidth,extraColor:e.colorText,bodyPaddingSM:12,headerPaddingSM:12,bodyPadding:null!==(t=e.bodyPadding)&&void 0!==t?t:e.paddingLG,headerPadding:null!==(n=e.headerPadding)&&void 0!==n?n:e.paddingLG}}),C=n(56250),j=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let L=e=>{let{actionClasses:t,actions:n=[],actionStyle:o}=e;return a.createElement("ul",{className:t,style:o},n.map((e,t)=>a.createElement("li",{style:{width:"".concat(100/n.length,"%")},key:"action-".concat(t)},a.createElement("span",null,e))))},N=a.forwardRef((e,t)=>{let n;let{prefixCls:o,className:u,rootClassName:p,style:f,extra:b,headStyle:g={},bodyStyle:h={},title:v,loading:y,bordered:x,variant:k,size:w,type:E,cover:O,actions:N,tabList:z,children:T,activeTabKey:P,defaultActiveTabKey:Z,tabBarExtraContent:M,hoverable:R,tabProps:B={},classNames:A,styles:W}=e,G=j(e,["prefixCls","className","rootClassName","style","extra","headStyle","bodyStyle","title","loading","bordered","variant","size","type","cover","actions","tabList","children","activeTabKey","defaultActiveTabKey","tabBarExtraContent","hoverable","tabProps","classNames","styles"]),{getPrefixCls:I,direction:q,card:H}=a.useContext(i.E_),[D]=(0,C.Z)("card",k,x),K=e=>{var t;return r()(null===(t=null==H?void 0:H.classNames)||void 0===t?void 0:t[e],null==A?void 0:A[e])},F=e=>{var t;return Object.assign(Object.assign({},null===(t=null==H?void 0:H.styles)||void 0===t?void 0:t[e]),null==W?void 0:W[e])},V=a.useMemo(()=>{let e=!1;return a.Children.forEach(T,t=>{(null==t?void 0:t.type)===m&&(e=!0)}),e},[T]),_=I("card",o),[X,Y,U]=S(_),$=a.createElement(s.Z,{loading:!0,active:!0,paragraph:{rows:4},title:!1},T),Q=void 0!==P,J=Object.assign(Object.assign({},B),{[Q?"activeKey":"defaultActiveKey"]:Q?P:Z,tabBarExtraContent:M}),ee=(0,c.Z)(w),et=ee&&"default"!==ee?ee:"large",en=z?a.createElement(d.default,Object.assign({size:et},J,{className:"".concat(_,"-head-tabs"),onChange:t=>{var n;null===(n=e.onTabChange)||void 0===n||n.call(e,t)},items:z.map(e=>{var{tab:t}=e;return Object.assign({label:t},j(e,["tab"]))})})):null;if(v||b||en){let e=r()("".concat(_,"-head"),K("header")),t=r()("".concat(_,"-head-title"),K("title")),o=r()("".concat(_,"-extra"),K("extra")),l=Object.assign(Object.assign({},g),F("header"));n=a.createElement("div",{className:e,style:l},a.createElement("div",{className:"".concat(_,"-head-wrapper")},v&&a.createElement("div",{className:t,style:F("title")},v),b&&a.createElement("div",{className:o,style:F("extra")},b)),en)}let ea=r()("".concat(_,"-cover"),K("cover")),eo=O?a.createElement("div",{className:ea,style:F("cover")},O):null,er=r()("".concat(_,"-body"),K("body")),el=Object.assign(Object.assign({},h),F("body")),ei=a.createElement("div",{className:er,style:el},y?$:T),ec=r()("".concat(_,"-actions"),K("actions")),es=(null==N?void 0:N.length)?a.createElement(L,{actionClasses:ec,actionStyle:F("actions"),actions:N}):null,ed=(0,l.Z)(G,["onTabChange"]),eu=r()(_,null==H?void 0:H.className,{["".concat(_,"-loading")]:y,["".concat(_,"-bordered")]:"borderless"!==D,["".concat(_,"-hoverable")]:R,["".concat(_,"-contain-grid")]:V,["".concat(_,"-contain-tabs")]:null==z?void 0:z.length,["".concat(_,"-").concat(ee)]:ee,["".concat(_,"-type-").concat(E)]:!!E,["".concat(_,"-rtl")]:"rtl"===q},u,p,Y,U),em=Object.assign(Object.assign({},null==H?void 0:H.style),f);return X(a.createElement("div",Object.assign({ref:t},ed,{className:eu,style:em}),n,eo,ei,es))});var z=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};N.Grid=m,N.Meta=e=>{let{prefixCls:t,className:n,avatar:o,title:l,description:c}=e,s=z(e,["prefixCls","className","avatar","title","description"]),{getPrefixCls:d}=a.useContext(i.E_),u=d("card",t),m=r()("".concat(u,"-meta"),n),p=o?a.createElement("div",{className:"".concat(u,"-meta-avatar")},o):null,f=l?a.createElement("div",{className:"".concat(u,"-meta-title")},l):null,b=c?a.createElement("div",{className:"".concat(u,"-meta-description")},c):null,g=f||b?a.createElement("div",{className:"".concat(u,"-meta-detail")},f,b):null;return a.createElement("div",Object.assign({},s,{className:m}),p,g)};var T=N},69410:function(e,t,n){var a=n(54998);t.Z=a.Z},867:function(e,t,n){n.d(t,{Z:function(){return S}});var a=n(2265),o=n(54537),r=n(36760),l=n.n(r),i=n(50506),c=n(18694),s=n(71744),d=n(79326),u=n(59367),m=n(92570),p=n(5545),f=n(51248),b=n(55274),g=n(37381),h=n(20435),v=n(99320);let y=e=>{let{componentCls:t,iconCls:n,antCls:a,zIndexPopup:o,colorText:r,colorWarning:l,marginXXS:i,marginXS:c,fontSize:s,fontWeightStrong:d,colorTextHeading:u}=e;return{[t]:{zIndex:o,["&".concat(a,"-popover")]:{fontSize:s},["".concat(t,"-message")]:{marginBottom:c,display:"flex",flexWrap:"nowrap",alignItems:"start",["> ".concat(t,"-message-icon ").concat(n)]:{color:l,fontSize:s,lineHeight:1,marginInlineEnd:c},["".concat(t,"-title")]:{fontWeight:d,color:u,"&:only-child":{fontWeight:"normal"}},["".concat(t,"-description")]:{marginTop:i,color:r}},["".concat(t,"-buttons")]:{textAlign:"end",whiteSpace:"nowrap",button:{marginInlineStart:c}}}}};var x=(0,v.I$)("Popconfirm",e=>y(e),e=>{let{zIndexPopupBase:t}=e;return{zIndexPopup:t+60}},{resetStyle:!1}),k=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let w=e=>{let{prefixCls:t,okButtonProps:n,cancelButtonProps:r,title:l,description:i,cancelText:c,okText:d,okType:h="primary",icon:v=a.createElement(o.Z,null),showCancel:y=!0,close:x,onConfirm:k,onCancel:w,onPopupClick:E}=e,{getPrefixCls:O}=a.useContext(s.E_),[S]=(0,b.Z)("Popconfirm",g.Z.Popconfirm),C=(0,m.Z)(l),j=(0,m.Z)(i);return a.createElement("div",{className:"".concat(t,"-inner-content"),onClick:E},a.createElement("div",{className:"".concat(t,"-message")},v&&a.createElement("span",{className:"".concat(t,"-message-icon")},v),a.createElement("div",{className:"".concat(t,"-message-text")},C&&a.createElement("div",{className:"".concat(t,"-title")},C),j&&a.createElement("div",{className:"".concat(t,"-description")},j))),a.createElement("div",{className:"".concat(t,"-buttons")},y&&a.createElement(p.ZP,Object.assign({onClick:w,size:"small"},r),c||(null==S?void 0:S.cancelText)),a.createElement(u.Z,{buttonProps:Object.assign(Object.assign({size:"small"},(0,f.nx)(h)),n),actionFn:k,close:x,prefixCls:O("btn"),quitOnNullishReturnValue:!0,emitEvent:!0},d||(null==S?void 0:S.okText))))};var E=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let O=a.forwardRef((e,t)=>{var n,r;let{prefixCls:u,placement:m="top",trigger:p="click",okType:f="primary",icon:b=a.createElement(o.Z,null),children:g,overlayClassName:h,onOpenChange:v,onVisibleChange:y,overlayStyle:k,styles:O,classNames:S}=e,C=E(e,["prefixCls","placement","trigger","okType","icon","children","overlayClassName","onOpenChange","onVisibleChange","overlayStyle","styles","classNames"]),{getPrefixCls:j,className:L,style:N,classNames:z,styles:T}=(0,s.dj)("popconfirm"),[P,Z]=(0,i.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(r=e.defaultOpen)&&void 0!==r?r:e.defaultVisible}),M=(e,t)=>{Z(e,!0),null==y||y(e),null==v||v(e,t)},R=j("popconfirm",u),B=l()(R,L,h,z.root,null==S?void 0:S.root),A=l()(z.body,null==S?void 0:S.body),[W]=x(R);return W(a.createElement(d.Z,Object.assign({},(0,c.Z)(C,["title"]),{trigger:p,placement:m,onOpenChange:(t,n)=>{let{disabled:a=!1}=e;a||M(t,n)},open:P,ref:t,classNames:{root:B,body:A},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},T.root),N),k),null==O?void 0:O.root),body:Object.assign(Object.assign({},T.body),null==O?void 0:O.body)},content:a.createElement(w,Object.assign({okType:f,icon:b},e,{prefixCls:R,close:e=>{M(!1,e)},onConfirm:t=>{var n;return null===(n=e.onConfirm)||void 0===n?void 0:n.call(void 0,t)},onCancel:t=>{var n;M(!1,t),null===(n=e.onCancel)||void 0===n||n.call(void 0,t)}})),"data-popover-inject":!0}),g))});O._InternalPanelDoNotUseOrYouWillBeFired=e=>{let{prefixCls:t,placement:n,className:o,style:r}=e,i=k(e,["prefixCls","placement","className","style"]),{getPrefixCls:c}=a.useContext(s.E_),d=c("popconfirm",t),[u]=x(d);return u(a.createElement(h.ZP,{placement:n,className:l()(d,o),style:r,content:a.createElement(w,Object.assign({prefixCls:d},i))}))};var S=O},47451:function(e,t,n){var a=n(77774);t.Z=a.Z},87769:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},42208:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},2356:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"}))});t.Z=o},15731:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},45589:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"}))});t.Z=o},53410:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});t.Z=o},91126:function(e,t,n){var a=n(2265);let o=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/3705-124a560b74decaa8.js b/litellm/proxy/_experimental/out/_next/static/chunks/7138-3126ba26398b066c.js similarity index 79% rename from litellm/proxy/_experimental/out/_next/static/chunks/3705-124a560b74decaa8.js rename to litellm/proxy/_experimental/out/_next/static/chunks/7138-3126ba26398b066c.js index 71279395fe..0dcf7469dc 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/3705-124a560b74decaa8.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/7138-3126ba26398b066c.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3705],{15327:function(e,t,n){n.d(t,{Z:function(){return l}});var o=n(1119),a=n(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},r=n(55015),l=a.forwardRef(function(e,t){return a.createElement(r.Z,(0,o.Z)({},e,{ref:t,icon:c}))})},73705:function(e,t,n){n.d(t,{Z:function(){return _}});var o=n(2265),a=n(15327),c=n(77565),r=n(36760),l=n.n(r),i=n(71030),d=n(58525),s=n(50506),u=n(18694),m=n(62236),p=e=>"object"!=typeof e&&"function"!=typeof e||null===e,g=n(92736),b=n(93942),f=n(19722),v=n(13613),h=n(95140),y=n(71744),I=n(64024),x=n(60985),w=n(88208),S=n(84951),C=n(93463),O=n(12918),B=n(18544),k=n(29382),j=n(691),E=n(88260),z=n(34442),N=n(99320),H=n(71140),T=e=>{let{componentCls:t,menuCls:n,colorError:o,colorTextLightSolid:a}=e,c="".concat(n,"-item");return{["".concat(t,", ").concat(t,"-menu-submenu")]:{["".concat(n," ").concat(c)]:{["&".concat(c,"-danger:not(").concat(c,"-disabled)")]:{color:o,"&:hover":{color:a,backgroundColor:o}}}}}};let P=e=>{let{componentCls:t,menuCls:n,zIndexPopup:o,dropdownArrowDistance:a,sizePopupArrow:c,antCls:r,iconCls:l,motionDurationMid:i,paddingBlock:d,fontSize:s,dropdownEdgeChildPadding:u,colorTextDisabled:m,fontSizeIcon:p,controlPaddingHorizontal:g,colorBgElevated:b}=e;return[{[t]:{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:o,display:"block","&::before":{position:"absolute",insetBlock:e.calc(c).div(2).sub(a).equal(),zIndex:-9999,opacity:1e-4,content:'""'},"&-menu-vertical":{maxHeight:"100vh",overflowY:"auto"},["&-trigger".concat(r,"-btn")]:{["& > ".concat(l,"-down, & > ").concat(r,"-btn-icon > ").concat(l,"-down")]:{fontSize:p}},["".concat(t,"-wrap")]:{position:"relative",["".concat(r,"-btn > ").concat(l,"-down")]:{fontSize:p},["".concat(l,"-down::before")]:{transition:"transform ".concat(i)}},["".concat(t,"-wrap-open")]:{["".concat(l,"-down::before")]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},["&".concat(r,"-slide-down-enter").concat(r,"-slide-down-enter-active").concat(t,"-placement-bottomLeft,\n &").concat(r,"-slide-down-appear").concat(r,"-slide-down-appear-active").concat(t,"-placement-bottomLeft,\n &").concat(r,"-slide-down-enter").concat(r,"-slide-down-enter-active").concat(t,"-placement-bottom,\n &").concat(r,"-slide-down-appear").concat(r,"-slide-down-appear-active").concat(t,"-placement-bottom,\n &").concat(r,"-slide-down-enter").concat(r,"-slide-down-enter-active").concat(t,"-placement-bottomRight,\n &").concat(r,"-slide-down-appear").concat(r,"-slide-down-appear-active").concat(t,"-placement-bottomRight")]:{animationName:B.fJ},["&".concat(r,"-slide-up-enter").concat(r,"-slide-up-enter-active").concat(t,"-placement-topLeft,\n &").concat(r,"-slide-up-appear").concat(r,"-slide-up-appear-active").concat(t,"-placement-topLeft,\n &").concat(r,"-slide-up-enter").concat(r,"-slide-up-enter-active").concat(t,"-placement-top,\n &").concat(r,"-slide-up-appear").concat(r,"-slide-up-appear-active").concat(t,"-placement-top,\n &").concat(r,"-slide-up-enter").concat(r,"-slide-up-enter-active").concat(t,"-placement-topRight,\n &").concat(r,"-slide-up-appear").concat(r,"-slide-up-appear-active").concat(t,"-placement-topRight")]:{animationName:B.Qt},["&".concat(r,"-slide-down-leave").concat(r,"-slide-down-leave-active").concat(t,"-placement-bottomLeft,\n &").concat(r,"-slide-down-leave").concat(r,"-slide-down-leave-active").concat(t,"-placement-bottom,\n &").concat(r,"-slide-down-leave").concat(r,"-slide-down-leave-active").concat(t,"-placement-bottomRight")]:{animationName:B.Uw},["&".concat(r,"-slide-up-leave").concat(r,"-slide-up-leave-active").concat(t,"-placement-topLeft,\n &").concat(r,"-slide-up-leave").concat(r,"-slide-up-leave-active").concat(t,"-placement-top,\n &").concat(r,"-slide-up-leave").concat(r,"-slide-up-leave-active").concat(t,"-placement-topRight")]:{animationName:B.ly}}},(0,E.ZP)(e,b,{arrowPlacement:{top:!0,bottom:!0}}),{["".concat(t," ").concat(n)]:{position:"relative",margin:0},["".concat(n,"-submenu-popup")]:{position:"absolute",zIndex:o,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},["".concat(t,", ").concat(t,"-menu-submenu")]:Object.assign(Object.assign({},(0,O.Wf)(e)),{[n]:Object.assign(Object.assign({padding:u,listStyleType:"none",backgroundColor:b,backgroundClip:"padding-box",borderRadius:e.borderRadiusLG,outline:"none",boxShadow:e.boxShadowSecondary},(0,O.Qy)(e)),{"&:empty":{padding:0,boxShadow:"none"},["".concat(n,"-item-group-title")]:{padding:"".concat((0,C.bf)(d)," ").concat((0,C.bf)(g)),color:e.colorTextDescription,transition:"all ".concat(i)},["".concat(n,"-item")]:{position:"relative",display:"flex",alignItems:"center"},["".concat(n,"-item-icon")]:{minWidth:s,marginInlineEnd:e.marginXS,fontSize:e.fontSizeSM},["".concat(n,"-title-content")]:{flex:"auto","&-with-extra":{display:"inline-flex",alignItems:"center",width:"100%"},"> a":{color:"inherit",transition:"all ".concat(i),"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}},["".concat(n,"-item-extra")]:{paddingInlineStart:e.padding,marginInlineStart:"auto",fontSize:e.fontSizeSM,color:e.colorTextDescription}},["".concat(n,"-item, ").concat(n,"-submenu-title")]:Object.assign(Object.assign({display:"flex",margin:0,padding:"".concat((0,C.bf)(d)," ").concat((0,C.bf)(g)),color:e.colorText,fontWeight:"normal",fontSize:s,lineHeight:e.lineHeight,cursor:"pointer",transition:"all ".concat(i),borderRadius:e.borderRadiusSM,"&:hover, &-active":{backgroundColor:e.controlItemBgHover}},(0,O.Qy)(e)),{"&-selected":{color:e.colorPrimary,backgroundColor:e.controlItemBgActive,"&:hover, &-active":{backgroundColor:e.controlItemBgActiveHover}},"&-disabled":{color:m,cursor:"not-allowed","&:hover":{color:m,backgroundColor:b,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:"".concat((0,C.bf)(e.marginXXS)," 0"),overflow:"hidden",lineHeight:0,backgroundColor:e.colorSplit},["".concat(t,"-menu-submenu-expand-icon")]:{position:"absolute",insetInlineEnd:e.paddingXS,["".concat(t,"-menu-submenu-arrow-icon")]:{marginInlineEnd:"0 !important",color:e.colorIcon,fontSize:p,fontStyle:"normal"}}}),["".concat(n,"-item-group-list")]:{margin:"0 ".concat((0,C.bf)(e.marginXS)),padding:0,listStyle:"none"},["".concat(n,"-submenu-title")]:{paddingInlineEnd:e.calc(g).add(e.fontSizeSM).equal()},["".concat(n,"-submenu-vertical")]:{position:"relative"},["".concat(n,"-submenu").concat(n,"-submenu-disabled ").concat(t,"-menu-submenu-title")]:{["&, ".concat(t,"-menu-submenu-arrow-icon")]:{color:m,backgroundColor:b,cursor:"not-allowed"}},["".concat(n,"-submenu-selected ").concat(t,"-menu-submenu-title")]:{color:e.colorPrimary}})})},[(0,B.oN)(e,"slide-up"),(0,B.oN)(e,"slide-down"),(0,k.Fm)(e,"move-up"),(0,k.Fm)(e,"move-down"),(0,j._y)(e,"zoom-big")]]};var R=(0,N.I$)("Dropdown",e=>{let{marginXXS:t,sizePopupArrow:n,paddingXXS:o,componentCls:a}=e,c=(0,H.IX)(e,{menuCls:"".concat(a,"-menu"),dropdownArrowDistance:e.calc(n).div(2).add(t).equal(),dropdownEdgeChildPadding:o});return[P(c),T(c)]},e=>Object.assign(Object.assign({zIndexPopup:e.zIndexPopupBase+50,paddingBlock:(e.controlHeight-e.fontSize*e.lineHeight)/2},(0,E.wZ)({contentRadius:e.borderRadiusLG,limitVerticalRadius:!0})),(0,z.w)(e)),{resetStyle:!1});let Z=e=>{var t;let{menu:n,arrow:r,prefixCls:b,children:C,trigger:O,disabled:B,dropdownRender:k,popupRender:j,getPopupContainer:E,overlayClassName:z,rootClassName:N,overlayStyle:H,open:T,onOpenChange:P,visible:Z,onVisibleChange:M,mouseEnterDelay:D=.15,mouseLeaveDelay:A=.1,autoAdjustOverflow:W=!0,placement:L="",overlay:G,transitionName:X,destroyOnHidden:_,destroyPopupOnHide:q}=e,{getPopupContainer:F,getPrefixCls:Y,direction:V,dropdown:$}=o.useContext(y.E_),J=j||k;(0,v.ln)("Dropdown");let Q=o.useMemo(()=>{let e=Y();return void 0!==X?X:L.includes("top")?"".concat(e,"-slide-down"):"".concat(e,"-slide-up")},[Y,L,X]),U=o.useMemo(()=>L?L.includes("Center")?L.slice(0,L.indexOf("Center")):L:"rtl"===V?"bottomRight":"bottomLeft",[L,V]),K=Y("dropdown",b),ee=(0,I.Z)(K),[et,en,eo]=R(K,ee),[,ea]=(0,S.ZP)(),ec=o.Children.only(p(C)?o.createElement("span",null,C):C),er=(0,f.Tm)(ec,{className:l()("".concat(K,"-trigger"),{["".concat(K,"-rtl")]:"rtl"===V},ec.props.className),disabled:null!==(t=ec.props.disabled)&&void 0!==t?t:B}),el=B?[]:O,ei=!!(null==el?void 0:el.includes("contextMenu")),[ed,es]=(0,s.Z)(!1,{value:null!=T?T:Z}),eu=(0,d.Z)(e=>{null==P||P(e,{source:"trigger"}),null==M||M(e),es(e)}),em=l()(z,N,en,eo,ee,null==$?void 0:$.className,{["".concat(K,"-rtl")]:"rtl"===V}),ep=(0,g.Z)({arrowPointAtCenter:"object"==typeof r&&r.pointAtCenter,autoAdjustOverflow:W,offset:ea.marginXXS,arrowWidth:r?ea.sizePopupArrow:0,borderRadius:ea.borderRadius}),eg=(0,d.Z)(()=>{null!=n&&n.selectable&&null!=n&&n.multiple||(null==P||P(!1,{source:"menu"}),es(!1))}),[eb,ef]=(0,m.Cn)("Dropdown",null==H?void 0:H.zIndex),ev=o.createElement(i.Z,Object.assign({alignPoint:ei},(0,u.Z)(e,["rootClassName"]),{mouseEnterDelay:D,mouseLeaveDelay:A,visible:ed,builtinPlacements:ep,arrow:!!r,overlayClassName:em,prefixCls:K,getPopupContainer:E||F,transitionName:Q,trigger:el,overlay:()=>{let e;return e=(null==n?void 0:n.items)?o.createElement(x.Z,Object.assign({},n)):"function"==typeof G?G():G,J&&(e=J(e)),e=o.Children.only("string"==typeof e?o.createElement("span",null,e):e),o.createElement(w.J,{prefixCls:"".concat(K,"-menu"),rootClassName:l()(eo,ee),expandIcon:o.createElement("span",{className:"".concat(K,"-menu-submenu-arrow")},"rtl"===V?o.createElement(a.Z,{className:"".concat(K,"-menu-submenu-arrow-icon")}):o.createElement(c.Z,{className:"".concat(K,"-menu-submenu-arrow-icon")})),mode:"vertical",selectable:!1,onClick:eg,validator:e=>{let{mode:t}=e}},e)},placement:U,onVisibleChange:eu,overlayStyle:Object.assign(Object.assign(Object.assign({},null==$?void 0:$.style),H),{zIndex:eb}),autoDestroy:null!=_?_:q}),er);return eb&&(ev=o.createElement(h.Z.Provider,{value:ef},ev)),et(ev)},M=(0,b.Z)(Z,"align",void 0,"dropdown",e=>e);Z._InternalPanelDoNotUseOrYouWillBeFired=e=>o.createElement(M,Object.assign({},e),o.createElement("span",null));var D=n(60440),A=n(5545),W=n(58760),L=n(77685),G=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let X=e=>{let{getPopupContainer:t,getPrefixCls:n,direction:a}=o.useContext(y.E_),{prefixCls:c,type:r="default",danger:i,disabled:d,loading:s,onClick:u,htmlType:m,children:p,className:g,menu:b,arrow:f,autoFocus:v,overlay:h,trigger:I,align:x,open:w,onOpenChange:S,placement:C,getPopupContainer:O,href:B,icon:k=o.createElement(D.Z,null),title:j,buttonsRender:E=e=>e,mouseEnterDelay:z,mouseLeaveDelay:N,overlayClassName:H,overlayStyle:T,destroyOnHidden:P,destroyPopupOnHide:R,dropdownRender:M,popupRender:X}=e,_=G(e,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyOnHidden","destroyPopupOnHide","dropdownRender","popupRender"]),q=n("dropdown",c),F={menu:b,arrow:f,autoFocus:v,align:x,disabled:d,trigger:d?[]:I,onOpenChange:S,getPopupContainer:O||t,mouseEnterDelay:z,mouseLeaveDelay:N,overlayClassName:H,overlayStyle:T,destroyOnHidden:P,popupRender:X||M},{compactSize:Y,compactItemClassnames:V}=(0,L.ri)(q,a),$=l()("".concat(q,"-button"),V,g);"destroyPopupOnHide"in e&&(F.destroyPopupOnHide=R),"overlay"in e&&(F.overlay=h),"open"in e&&(F.open=w),"placement"in e?F.placement=C:F.placement="rtl"===a?"bottomLeft":"bottomRight";let[J,Q]=E([o.createElement(A.ZP,{type:r,danger:i,disabled:d,loading:s,onClick:u,htmlType:m,href:B,title:j},p),o.createElement(A.ZP,{type:r,danger:i,icon:k})]);return o.createElement(W.Z.Compact,Object.assign({className:$,size:Y,block:!0},_),J,o.createElement(Z,Object.assign({},F),Q))};X.__ANT_BUTTON=!0,Z.Button=X;var _=Z},32186:function(e,t,n){let o;n.d(t,{D:function(){return S},Z:function(){return O}});var a=n(2265),c=n(1119),r={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},l=n(55015),i=a.forwardRef(function(e,t){return a.createElement(l.Z,(0,c.Z)({},e,{ref:t,icon:r}))}),d=n(15327),s=n(77565),u=n(36760),m=n.n(u),p=n(18694),g=n(16774),b=n(71744),f=n(80856),v=n(93463),h=n(25437),y=(0,n(99320).I$)(["Layout","Sider"],e=>{let{componentCls:t,siderBg:n,motionDurationMid:o,motionDurationSlow:a,antCls:c,triggerHeight:r,triggerColor:l,triggerBg:i,headerHeight:d,zeroTriggerWidth:s,zeroTriggerHeight:u,borderRadiusLG:m,lightSiderBg:p,lightTriggerColor:g,lightTriggerBg:b,bodyBg:f}=e;return{[t]:{position:"relative",minWidth:0,background:n,transition:"all ".concat(o,", background 0s"),"&-has-trigger":{paddingBottom:r},"&-right":{order:1},["".concat(t,"-children")]:{height:"100%",marginTop:-.1,paddingTop:.1,["".concat(c,"-menu").concat(c,"-menu-inline-collapsed")]:{width:"auto"}},["&-zero-width ".concat(t,"-children")]:{overflow:"hidden"},["".concat(t,"-trigger")]:{position:"fixed",bottom:0,zIndex:1,height:r,color:l,lineHeight:(0,v.bf)(r),textAlign:"center",background:i,cursor:"pointer",transition:"all ".concat(o)},["".concat(t,"-zero-width-trigger")]:{position:"absolute",top:d,insetInlineEnd:e.calc(s).mul(-1).equal(),zIndex:1,width:s,height:u,color:l,fontSize:e.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:n,borderRadius:"0 ".concat((0,v.bf)(m)," ").concat((0,v.bf)(m)," 0"),cursor:"pointer",transition:"background ".concat(a," ease"),"&::after":{position:"absolute",inset:0,background:"transparent",transition:"all ".concat(a),content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:e.calc(s).mul(-1).equal(),borderRadius:"".concat((0,v.bf)(m)," 0 0 ").concat((0,v.bf)(m))}},"&-light":{background:p,["".concat(t,"-trigger")]:{color:g,background:b},["".concat(t,"-zero-width-trigger")]:{color:g,background:b,border:"1px solid ".concat(f),borderInlineStart:0}}}}},h.eh,{deprecatedTokens:h.jn}),I=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let x={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},w=e=>!Number.isNaN(Number.parseFloat(e))&&Number.isFinite(Number(e)),S=a.createContext({}),C=(o=0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return o+=1,"".concat(e).concat(o)});var O=a.forwardRef((e,t)=>{let{prefixCls:n,className:o,trigger:c,children:r,defaultCollapsed:l=!1,theme:u="dark",style:v={},collapsible:h=!1,reverseArrow:O=!1,width:B=200,collapsedWidth:k=80,zeroWidthTriggerStyle:j,breakpoint:E,onCollapse:z,onBreakpoint:N}=e,H=I(e,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:T}=(0,a.useContext)(f.V),[P,R]=(0,a.useState)("collapsed"in e?e.collapsed:l),[Z,M]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"collapsed"in e&&R(e.collapsed)},[e.collapsed]);let D=(t,n)=>{"collapsed"in e||R(t),null==z||z(t,n)},{getPrefixCls:A,direction:W}=(0,a.useContext)(b.E_),L=A("layout-sider",n),[G,X,_]=y(L),q=(0,a.useRef)(null);q.current=e=>{M(e.matches),null==N||N(e.matches),P!==e.matches&&D(e.matches,"responsive")},(0,a.useEffect)(()=>{let e;function t(e){var t;return null===(t=q.current)||void 0===t?void 0:t.call(q,e)}return void 0!==(null==window?void 0:window.matchMedia)&&E&&E in x&&(e=window.matchMedia("screen and (max-width: ".concat(x[E],")")),(0,g.x)(e,t),t(e)),()=>{(0,g.h)(e,t)}},[E]),(0,a.useEffect)(()=>{let e=C("ant-sider-");return T.addSider(e),()=>T.removeSider(e)},[]);let F=()=>{D(!P,"clickTrigger")},Y=(0,p.Z)(H,["collapsed"]),V=P?k:B,$=w(V)?"".concat(V,"px"):String(V),J=0===Number.parseFloat(String(k||0))?a.createElement("span",{onClick:F,className:m()("".concat(L,"-zero-width-trigger"),"".concat(L,"-zero-width-trigger-").concat(O?"right":"left")),style:j},c||a.createElement(i,null)):null,Q="rtl"===W==!O,U={expanded:Q?a.createElement(s.Z,null):a.createElement(d.Z,null),collapsed:Q?a.createElement(d.Z,null):a.createElement(s.Z,null)}[P?"collapsed":"expanded"],K=null!==c?J||a.createElement("div",{className:"".concat(L,"-trigger"),onClick:F,style:{width:$}},c||U):null,ee=Object.assign(Object.assign({},v),{flex:"0 0 ".concat($),maxWidth:$,minWidth:$,width:$}),et=m()(L,"".concat(L,"-").concat(u),{["".concat(L,"-collapsed")]:!!P,["".concat(L,"-has-trigger")]:h&&null!==c&&!J,["".concat(L,"-below")]:!!Z,["".concat(L,"-zero-width")]:0===Number.parseFloat($)},o,X,_),en=a.useMemo(()=>({siderCollapsed:P}),[P]);return G(a.createElement(S.Provider,{value:en},a.createElement("aside",Object.assign({className:et},Y,{style:ee,ref:t}),a.createElement("div",{className:"".concat(L,"-children")},r),h||Z&&J?K:null)))})},80856:function(e,t,n){n.d(t,{V:function(){return o}});let o=n(2265).createContext({siderHook:{addSider:()=>null,removeSider:()=>null}})},25437:function(e,t,n){n.d(t,{eh:function(){return c},jn:function(){return r}});var o=n(93463),a=n(99320);let c=e=>{let{colorBgLayout:t,controlHeight:n,controlHeightLG:o,colorText:a,controlHeightSM:c,marginXXS:r,colorTextLightSolid:l,colorBgContainer:i}=e,d=1.25*o;return{colorBgHeader:"#001529",colorBgBody:t,colorBgTrigger:"#002140",bodyBg:t,headerBg:"#001529",headerHeight:2*n,headerPadding:"0 ".concat(d,"px"),headerColor:a,footerPadding:"".concat(c,"px ").concat(d,"px"),footerBg:t,siderBg:"#001529",triggerHeight:o+2*r,triggerBg:"#002140",triggerColor:l,zeroTriggerWidth:o,zeroTriggerHeight:o,lightSiderBg:i,lightTriggerBg:i,lightTriggerColor:a}},r=[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]];t.ZP=(0,a.I$)("Layout",e=>{let{antCls:t,componentCls:n,colorText:a,footerBg:c,headerHeight:r,headerPadding:l,headerColor:i,footerPadding:d,fontSize:s,bodyBg:u,headerBg:m}=e;return{[n]:{display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:u,"&, *":{boxSizing:"border-box"},["&".concat(n,"-has-sider")]:{flexDirection:"row",["> ".concat(n,", > ").concat(n,"-content")]:{width:0}},["".concat(n,"-header, &").concat(n,"-footer")]:{flex:"0 0 auto"},"&-rtl":{direction:"rtl"}},["".concat(n,"-header")]:{height:r,padding:l,color:i,lineHeight:(0,o.bf)(r),background:m,["".concat(t,"-menu")]:{lineHeight:"inherit"}},["".concat(n,"-footer")]:{padding:d,color:a,fontSize:s,background:c},["".concat(n,"-content")]:{flex:"auto",color:a,minHeight:0}}},c,{deprecatedTokens:r})},88208:function(e,t,n){n.d(t,{J:function(){return i}});var o=n(2265),a=n(28791),c=n(391),r=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let l=o.createContext(null),i=o.forwardRef((e,t)=>{let{children:n}=e,i=r(e,["children"]),d=o.useContext(l),s=o.useMemo(()=>Object.assign(Object.assign({},d),i),[d,i.prefixCls,i.mode,i.selectable,i.rootClassName]),u=(0,a.t4)(n),m=(0,a.x1)(t,u?(0,a.C4)(n):null);return o.createElement(l.Provider,{value:s},o.createElement(c.Z,{space:!0},u?o.cloneElement(n,{ref:m}):n))});t.Z=l},60985:function(e,t,n){n.d(t,{Z:function(){return Y}});var o=n(2265),a=n(33082),c=n(32186),r=n(60440),l=n(36760),i=n.n(l),d=n(58525),s=n(18694),u=n(68710),m=n(19722),p=n(71744),g=n(64024);let b=(0,o.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1});var f=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n},v=e=>{let{prefixCls:t,className:n,dashed:c}=e,r=f(e,["prefixCls","className","dashed"]),{getPrefixCls:l}=o.useContext(p.E_),d=l("menu",t),s=i()({["".concat(d,"-item-divider-dashed")]:!!c},n);return o.createElement(a.iz,Object.assign({className:s},r))},h=n(45287),y=n(99981),I=e=>{var t;let{className:n,children:r,icon:l,title:d,danger:u,extra:p}=e,{prefixCls:g,firstLevel:f,direction:v,disableMenuItemTitleTooltip:I,inlineCollapsed:x}=o.useContext(b),{siderCollapsed:w}=o.useContext(c.D),S=d;void 0===d?S=f?r:"":!1===d&&(S="");let C={title:S};w||x||(C.title=null,C.open=!1);let O=(0,h.Z)(r).length,B=o.createElement(a.ck,Object.assign({},(0,s.Z)(e,["title","icon","danger"]),{className:i()({["".concat(g,"-item-danger")]:u,["".concat(g,"-item-only-child")]:(l?O+1:O)===1},n),title:"string"==typeof d?d:void 0}),(0,m.Tm)(l,{className:i()(o.isValidElement(l)?null===(t=l.props)||void 0===t?void 0:t.className:void 0,"".concat(g,"-item-icon"))}),(e=>{let t=null==r?void 0:r[0],n=o.createElement("span",{className:i()("".concat(g,"-title-content"),{["".concat(g,"-title-content-with-extra")]:!!p||0===p})},r);return(!l||o.isValidElement(r)&&"span"===r.type)&&r&&e&&f&&"string"==typeof t?o.createElement("div",{className:"".concat(g,"-inline-collapsed-noicon")},t.charAt(0)):n})(x));return I||(B=o.createElement(y.Z,Object.assign({},C,{placement:"rtl"===v?"left":"right",classNames:{root:"".concat(g,"-inline-collapsed-tooltip")}}),B)),B},x=n(88208),w=n(93463),S=n(54558),C=n(12918),O=n(63074),B=n(18544),k=n(691),j=n(99320),E=n(71140),z=e=>{let{componentCls:t,motionDurationSlow:n,horizontalLineHeight:o,colorSplit:a,lineWidth:c,lineType:r,itemPaddingInline:l}=e;return{["".concat(t,"-horizontal")]:{lineHeight:o,border:0,borderBottom:"".concat((0,w.bf)(c)," ").concat(r," ").concat(a),boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},["".concat(t,"-item, ").concat(t,"-submenu")]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:l},["> ".concat(t,"-item:hover,\n > ").concat(t,"-item-active,\n > ").concat(t,"-submenu ").concat(t,"-submenu-title:hover")]:{backgroundColor:"transparent"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{transition:["border-color ".concat(n),"background ".concat(n)].join(",")},["".concat(t,"-submenu-arrow")]:{display:"none"}}}},N=e=>{let{componentCls:t,menuArrowOffset:n,calc:o}=e;return{["".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-submenu-rtl")]:{transformOrigin:"100% 0"},["".concat(t,"-rtl").concat(t,"-vertical,\n ").concat(t,"-submenu-rtl ").concat(t,"-vertical")]:{["".concat(t,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateY(".concat((0,w.bf)(o(n).mul(-1).equal()),")")},"&::after":{transform:"rotate(45deg) translateY(".concat((0,w.bf)(n),")")}}}}};let H=e=>(0,C.oN)(e);var T=(e,t)=>{let{componentCls:n,itemColor:o,itemSelectedColor:a,subMenuItemSelectedColor:c,groupTitleColor:r,itemBg:l,subMenuItemBg:i,itemSelectedBg:d,activeBarHeight:s,activeBarWidth:u,activeBarBorderWidth:m,motionDurationSlow:p,motionEaseInOut:g,motionEaseOut:b,itemPaddingInline:f,motionDurationMid:v,itemHoverColor:h,lineType:y,colorSplit:I,itemDisabledColor:x,dangerItemColor:S,dangerItemHoverColor:C,dangerItemSelectedColor:O,dangerItemActiveBg:B,dangerItemSelectedBg:k,popupBg:j,itemHoverBg:E,itemActiveBg:z,menuSubMenuBg:N,horizontalItemSelectedColor:T,horizontalItemSelectedBg:P,horizontalItemBorderRadius:R,horizontalItemHoverBg:Z}=e;return{["".concat(n,"-").concat(t,", ").concat(n,"-").concat(t," > ").concat(n)]:{color:o,background:l,["&".concat(n,"-root:focus-visible")]:Object.assign({},H(e)),["".concat(n,"-item")]:{"&-group-title, &-extra":{color:r}},["".concat(n,"-submenu-selected > ").concat(n,"-submenu-title")]:{color:c},["".concat(n,"-item, ").concat(n,"-submenu-title")]:{color:o,["&:not(".concat(n,"-item-disabled):focus-visible")]:Object.assign({},H(e))},["".concat(n,"-item-disabled, ").concat(n,"-submenu-disabled")]:{color:"".concat(x," !important")},["".concat(n,"-item:not(").concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{["&:hover, > ".concat(n,"-submenu-title:hover")]:{color:h}},["&:not(".concat(n,"-horizontal)")]:{["".concat(n,"-item:not(").concat(n,"-item-selected)")]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:z}},["".concat(n,"-submenu-title")]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:z}}},["".concat(n,"-item-danger")]:{color:S,["&".concat(n,"-item:hover")]:{["&:not(".concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{color:C}},["&".concat(n,"-item:active")]:{background:B}},["".concat(n,"-item a")]:{"&, &:hover":{color:"inherit"}},["".concat(n,"-item-selected")]:{color:a,["&".concat(n,"-item-danger")]:{color:O},"a, a:hover":{color:"inherit"}},["& ".concat(n,"-item-selected")]:{backgroundColor:d,["&".concat(n,"-item-danger")]:{backgroundColor:k}},["&".concat(n,"-submenu > ").concat(n)]:{backgroundColor:N},["&".concat(n,"-popup > ").concat(n)]:{backgroundColor:j},["&".concat(n,"-submenu-popup > ").concat(n)]:{backgroundColor:j},["&".concat(n,"-horizontal")]:Object.assign(Object.assign({},"dark"===t?{borderBottom:0}:{}),{["> ".concat(n,"-item, > ").concat(n,"-submenu")]:{top:m,marginTop:e.calc(m).mul(-1).equal(),marginBottom:0,borderRadius:R,"&::after":{position:"absolute",insetInline:f,bottom:0,borderBottom:"".concat((0,w.bf)(s)," solid transparent"),transition:"border-color ".concat(p," ").concat(g),content:'""'},"&:hover, &-active, &-open":{background:Z,"&::after":{borderBottomWidth:s,borderBottomColor:T}},"&-selected":{color:T,backgroundColor:P,"&:hover":{backgroundColor:P},"&::after":{borderBottomWidth:s,borderBottomColor:T}}}}),["&".concat(n,"-root")]:{["&".concat(n,"-inline, &").concat(n,"-vertical")]:{borderInlineEnd:"".concat((0,w.bf)(m)," ").concat(y," ").concat(I)}},["&".concat(n,"-inline")]:{["".concat(n,"-sub").concat(n,"-inline")]:{background:i},["".concat(n,"-item")]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:"".concat((0,w.bf)(u)," solid ").concat(a),transform:"scaleY(0.0001)",opacity:0,transition:["transform ".concat(v," ").concat(b),"opacity ".concat(v," ").concat(b)].join(","),content:'""'},["&".concat(n,"-item-danger")]:{"&::after":{borderInlineEndColor:O}}},["".concat(n,"-selected, ").concat(n,"-item-selected")]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:["transform ".concat(v," ").concat(g),"opacity ".concat(v," ").concat(g)].join(",")}}}}}};let P=e=>{let{componentCls:t,itemHeight:n,itemMarginInline:o,padding:a,menuArrowSize:c,marginXS:r,itemMarginBlock:l,itemWidth:i,itemPaddingInline:d}=e,s=e.calc(c).add(a).add(r).equal();return{["".concat(t,"-item")]:{position:"relative",overflow:"hidden"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,w.bf)(n),paddingInline:d,overflow:"hidden",textOverflow:"ellipsis",marginInline:o,marginBlock:l,width:i},["> ".concat(t,"-item,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,w.bf)(n)},["".concat(t,"-item-group-list ").concat(t,"-submenu-title,\n ").concat(t,"-submenu-title")]:{paddingInlineEnd:s}}};var R=e=>{let{componentCls:t,iconCls:n,itemHeight:o,colorTextLightSolid:a,dropdownWidth:c,controlHeightLG:r,motionEaseOut:l,paddingXL:i,itemMarginInline:d,fontSizeLG:s,motionDurationFast:u,motionDurationSlow:m,paddingXS:p,boxShadowSecondary:g,collapsedWidth:b,collapsedIconSize:f}=e,v={height:o,lineHeight:(0,w.bf)(o),listStylePosition:"inside",listStyleType:"disc"};return[{[t]:{"&-inline, &-vertical":Object.assign({["&".concat(t,"-root")]:{boxShadow:"none"}},P(e))},["".concat(t,"-submenu-popup")]:{["".concat(t,"-vertical")]:Object.assign(Object.assign({},P(e)),{boxShadow:g})}},{["".concat(t,"-submenu-popup ").concat(t,"-vertical").concat(t,"-sub")]:{minWidth:c,maxHeight:"calc(100vh - ".concat((0,w.bf)(e.calc(r).mul(2.5).equal()),")"),padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{["".concat(t,"-inline")]:{width:"100%",["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{display:"flex",alignItems:"center",transition:["border-color ".concat(m),"background ".concat(m),"padding ".concat(u," ").concat(l)].join(","),["> ".concat(t,"-title-content")]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},["".concat(t,"-sub").concat(t,"-inline")]:{padding:0,border:0,borderRadius:0,boxShadow:"none",["& > ".concat(t,"-submenu > ").concat(t,"-submenu-title")]:v,["& ".concat(t,"-item-group-title")]:{paddingInlineStart:i}},["".concat(t,"-item")]:v}},{["".concat(t,"-inline-collapsed")]:{width:b,["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu ").concat(t,"-submenu-title")]:{["> ".concat(t,"-inline-collapsed-noicon")]:{fontSize:s,textAlign:"center"}}},["> ".concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-submenu > ").concat(t,"-submenu-title,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{insetInlineStart:0,paddingInline:"calc(50% - ".concat((0,w.bf)(e.calc(f).div(2).equal())," - ").concat((0,w.bf)(d),")"),textOverflow:"clip",["\n ".concat(t,"-submenu-arrow,\n ").concat(t,"-submenu-expand-icon\n ")]:{opacity:0},["".concat(t,"-item-icon, ").concat(n)]:{margin:0,fontSize:f,lineHeight:(0,w.bf)(o),"+ span":{display:"inline-block",opacity:0}}},["".concat(t,"-item-icon, ").concat(n)]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",["".concat(t,"-item-icon, ").concat(n)]:{display:"none"},"a, a:hover":{color:a}},["".concat(t,"-item-group-title")]:Object.assign(Object.assign({},C.vS),{paddingInline:p})}}]};let Z=e=>{let{componentCls:t,motionDurationSlow:n,motionDurationMid:o,motionEaseInOut:a,motionEaseOut:c,iconCls:r,iconSize:l,iconMarginInlineEnd:i}=e;return{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:["border-color ".concat(n),"background ".concat(n),"padding calc(".concat(n," + 0.1s) ").concat(a)].join(","),["".concat(t,"-item-icon, ").concat(r)]:{minWidth:l,fontSize:l,transition:["font-size ".concat(o," ").concat(c),"margin ".concat(n," ").concat(a),"color ".concat(n)].join(","),"+ span":{marginInlineStart:i,opacity:1,transition:["opacity ".concat(n," ").concat(a),"margin ".concat(n),"color ".concat(n)].join(",")}},["".concat(t,"-item-icon")]:Object.assign({},(0,C.Ro)()),["&".concat(t,"-item-only-child")]:{["> ".concat(r,", > ").concat(t,"-item-icon")]:{marginInlineEnd:0}}},["".concat(t,"-item-disabled, ").concat(t,"-submenu-disabled")]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important",cursor:"not-allowed",pointerEvents:"none"},["> ".concat(t,"-submenu-title")]:{color:"inherit !important",cursor:"not-allowed"}}}},M=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:o,borderRadius:a,menuArrowSize:c,menuArrowOffset:r}=e;return{["".concat(t,"-submenu")]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:e.margin,width:c,color:"currentcolor",transform:"translateY(-50%)",transition:"transform ".concat(n," ").concat(o,", opacity ").concat(n)},"&-arrow":{"&::before, &::after":{position:"absolute",width:e.calc(c).mul(.6).equal(),height:e.calc(c).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:a,transition:["background ".concat(n," ").concat(o),"transform ".concat(n," ").concat(o),"top ".concat(n," ").concat(o),"color ".concat(n," ").concat(o)].join(","),content:'""'},"&::before":{transform:"rotate(45deg) translateY(".concat((0,w.bf)(e.calc(r).mul(-1).equal()),")")},"&::after":{transform:"rotate(-45deg) translateY(".concat((0,w.bf)(r),")")}}}}},D=e=>{let{antCls:t,componentCls:n,fontSize:o,motionDurationSlow:a,motionDurationMid:c,motionEaseInOut:r,paddingXS:l,padding:i,colorSplit:d,lineWidth:s,zIndexPopup:u,borderRadiusLG:m,subMenuItemBorderRadius:p,menuArrowSize:g,menuArrowOffset:b,lineType:f,groupTitleLineHeight:v,groupTitleFontSize:h}=e;return[{"":{[n]:Object.assign(Object.assign({},(0,C.dF)()),{"&-hidden":{display:"none"}})},["".concat(n,"-submenu-hidden")]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,C.Wf)(e)),(0,C.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:o,lineHeight:0,listStyle:"none",outline:"none",transition:"width ".concat(a," cubic-bezier(0.2, 0, 0, 1) 0s"),"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",["".concat(n,"-item")]:{flex:"none"}},["".concat(n,"-item, ").concat(n,"-submenu, ").concat(n,"-submenu-title")]:{borderRadius:e.itemBorderRadius},["".concat(n,"-item-group-title")]:{padding:"".concat((0,w.bf)(l)," ").concat((0,w.bf)(i)),fontSize:h,lineHeight:v,transition:"all ".concat(a)},["&-horizontal ".concat(n,"-submenu")]:{transition:["border-color ".concat(a," ").concat(r),"background ".concat(a," ").concat(r)].join(",")},["".concat(n,"-submenu, ").concat(n,"-submenu-inline")]:{transition:["border-color ".concat(a," ").concat(r),"background ".concat(a," ").concat(r),"padding ".concat(c," ").concat(r)].join(",")},["".concat(n,"-submenu ").concat(n,"-sub")]:{cursor:"initial",transition:["background ".concat(a," ").concat(r),"padding ".concat(a," ").concat(r)].join(",")},["".concat(n,"-title-content")]:{transition:"color ".concat(a),"&-with-extra":{display:"inline-flex",alignItems:"center",width:"100%"},["> ".concat(t,"-typography-ellipsis-single-line")]:{display:"inline",verticalAlign:"unset"},["".concat(n,"-item-extra")]:{marginInlineStart:"auto",paddingInlineStart:e.padding}},["".concat(n,"-item a")]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},["".concat(n,"-item-divider")]:{overflow:"hidden",lineHeight:0,borderColor:d,borderStyle:f,borderWidth:0,borderTopWidth:s,marginBlock:s,padding:0,"&-dashed":{borderStyle:"dashed"}}}),Z(e)),{["".concat(n,"-item-group")]:{["".concat(n,"-item-group-list")]:{margin:0,padding:0,["".concat(n,"-item, ").concat(n,"-submenu-title")]:{paddingInline:"".concat((0,w.bf)(e.calc(o).mul(2).equal())," ").concat((0,w.bf)(i))}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:u,borderRadius:m,boxShadow:"none",transformOrigin:"0 0",["&".concat(n,"-submenu")]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},["> ".concat(n)]:Object.assign(Object.assign(Object.assign({borderRadius:m},Z(e)),M(e)),{["".concat(n,"-item, ").concat(n,"-submenu > ").concat(n,"-submenu-title")]:{borderRadius:p},["".concat(n,"-submenu-title::after")]:{transition:"transform ".concat(a," ").concat(r)}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:e.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:e.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:e.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:e.paddingXS}}}),M(e)),{["&-inline-collapsed ".concat(n,"-submenu-arrow,\n &-inline ").concat(n,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateX(".concat((0,w.bf)(b),")")},"&::after":{transform:"rotate(45deg) translateX(".concat((0,w.bf)(e.calc(b).mul(-1).equal()),")")}},["".concat(n,"-submenu-open").concat(n,"-submenu-inline > ").concat(n,"-submenu-title > ").concat(n,"-submenu-arrow")]:{transform:"translateY(".concat((0,w.bf)(e.calc(g).mul(.2).mul(-1).equal()),")"),"&::after":{transform:"rotate(-45deg) translateX(".concat((0,w.bf)(e.calc(b).mul(-1).equal()),")")},"&::before":{transform:"rotate(45deg) translateX(".concat((0,w.bf)(b),")")}}})},{["".concat(t,"-layout-header")]:{[n]:{lineHeight:"inherit"}}}]},A=e=>{var t,n,o;let{colorPrimary:a,colorError:c,colorTextDisabled:r,colorErrorBg:l,colorText:i,colorTextDescription:d,colorBgContainer:s,colorFillAlter:u,colorFillContent:m,lineWidth:p,lineWidthBold:g,controlItemBgActive:b,colorBgTextHover:f,controlHeightLG:v,lineHeight:h,colorBgElevated:y,marginXXS:I,padding:x,fontSize:w,controlHeightSM:C,fontSizeLG:O,colorTextLightSolid:B,colorErrorHover:k}=e,j=null!==(t=e.activeBarWidth)&&void 0!==t?t:0,E=null!==(n=e.activeBarBorderWidth)&&void 0!==n?n:p,z=null!==(o=e.itemMarginInline)&&void 0!==o?o:e.marginXXS,N=new S.t(B).setA(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:e.zIndexPopupBase+50,radiusItem:e.borderRadiusLG,itemBorderRadius:e.borderRadiusLG,radiusSubMenuItem:e.borderRadiusSM,subMenuItemBorderRadius:e.borderRadiusSM,colorItemText:i,itemColor:i,colorItemTextHover:i,itemHoverColor:i,colorItemTextHoverHorizontal:a,horizontalItemHoverColor:a,colorGroupTitle:d,groupTitleColor:d,colorItemTextSelected:a,itemSelectedColor:a,subMenuItemSelectedColor:a,colorItemTextSelectedHorizontal:a,horizontalItemSelectedColor:a,colorItemBg:s,itemBg:s,colorItemBgHover:f,itemHoverBg:f,colorItemBgActive:m,itemActiveBg:b,colorSubItemBg:u,subMenuItemBg:u,colorItemBgSelected:b,itemSelectedBg:b,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:j,colorActiveBarHeight:g,activeBarHeight:g,colorActiveBarBorderSize:p,activeBarBorderWidth:E,colorItemTextDisabled:r,itemDisabledColor:r,colorDangerItemText:c,dangerItemColor:c,colorDangerItemTextHover:c,dangerItemHoverColor:c,colorDangerItemTextSelected:c,dangerItemSelectedColor:c,colorDangerItemBgActive:l,dangerItemActiveBg:l,colorDangerItemBgSelected:l,dangerItemSelectedBg:l,itemMarginInline:z,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:v,groupTitleLineHeight:h,collapsedWidth:2*v,popupBg:y,itemMarginBlock:I,itemPaddingInline:x,horizontalLineHeight:"".concat(1.15*v,"px"),iconSize:w,iconMarginInlineEnd:C-w,collapsedIconSize:O,groupTitleFontSize:w,darkItemDisabledColor:new S.t(B).setA(.25).toRgbString(),darkItemColor:N,darkDangerItemColor:c,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:B,darkItemSelectedBg:a,darkDangerItemSelectedBg:c,darkItemHoverBg:"transparent",darkGroupTitleColor:N,darkItemHoverColor:B,darkDangerItemHoverColor:k,darkDangerItemSelectedColor:B,darkDangerItemActiveBg:c,itemWidth:j?"calc(100% + ".concat(E,"px)"):"calc(100% - ".concat(2*z,"px)")}};var W=n(62236),L=e=>{var t;let n;let{popupClassName:c,icon:r,title:l,theme:d}=e,u=o.useContext(b),{prefixCls:p,inlineCollapsed:g,theme:f}=u,v=(0,a.Xl)();if(r){let e=o.isValidElement(l)&&"span"===l.type;n=o.createElement(o.Fragment,null,(0,m.Tm)(r,{className:i()(o.isValidElement(r)?null===(t=r.props)||void 0===t?void 0:t.className:void 0,"".concat(p,"-item-icon"))}),e?l:o.createElement("span",{className:"".concat(p,"-title-content")},l))}else n=g&&!v.length&&l&&"string"==typeof l?o.createElement("div",{className:"".concat(p,"-inline-collapsed-noicon")},l.charAt(0)):o.createElement("span",{className:"".concat(p,"-title-content")},l);let h=o.useMemo(()=>Object.assign(Object.assign({},u),{firstLevel:!1}),[u]),[y]=(0,W.Cn)("Menu");return o.createElement(b.Provider,{value:h},o.createElement(a.Wd,Object.assign({},(0,s.Z)(e,["icon"]),{title:n,popupClassName:i()(p,c,"".concat(p,"-").concat(d||f)),popupStyle:Object.assign({zIndex:y},e.popupStyle)})))},G=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};function X(e){return null===e||!1===e}let _={item:I,submenu:L,divider:v},q=(0,o.forwardRef)((e,t)=>{var n;let c=o.useContext(x.Z),l=c||{},{getPrefixCls:f,getPopupContainer:v,direction:h,menu:y}=o.useContext(p.E_),I=f(),{prefixCls:w,className:S,style:C,theme:H="light",expandIcon:P,_internalDisableMenuItemTitleTooltip:Z,inlineCollapsed:M,siderCollapsed:W,rootClassName:L,mode:q,selectable:F,onClick:Y,overflowedIndicatorPopupClassName:V}=e,$=G(e,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),J=(0,s.Z)($,["collapsedWidth"]);null===(n=l.validator)||void 0===n||n.call(l,{mode:q});let Q=(0,d.Z)(function(){for(var e,t=arguments.length,n=Array(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:e,n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,j.I$)("Menu",e=>{let{colorBgElevated:t,controlHeightLG:n,fontSize:o,darkItemColor:a,darkDangerItemColor:c,darkItemBg:r,darkSubMenuItemBg:l,darkItemSelectedColor:i,darkItemSelectedBg:d,darkDangerItemSelectedBg:s,darkItemHoverBg:u,darkGroupTitleColor:m,darkItemHoverColor:p,darkItemDisabledColor:g,darkDangerItemHoverColor:b,darkDangerItemSelectedColor:f,darkDangerItemActiveBg:v,popupBg:h,darkPopupBg:y}=e,I=e.calc(o).div(7).mul(5).equal(),x=(0,E.IX)(e,{menuArrowSize:I,menuHorizontalHeight:e.calc(n).mul(1.15).equal(),menuArrowOffset:e.calc(I).mul(.25).equal(),menuSubMenuBg:t,calc:e.calc,popupBg:h}),w=(0,E.IX)(x,{itemColor:a,itemHoverColor:p,groupTitleColor:m,itemSelectedColor:i,subMenuItemSelectedColor:i,itemBg:r,popupBg:y,subMenuItemBg:l,itemActiveBg:"transparent",itemSelectedBg:d,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:u,itemDisabledColor:g,dangerItemColor:c,dangerItemHoverColor:b,dangerItemSelectedColor:f,dangerItemActiveBg:v,dangerItemSelectedBg:s,menuSubMenuBg:l,horizontalItemSelectedColor:i,horizontalItemSelectedBg:d});return[D(x),z(x),R(x),T(x,"light"),T(w,"dark"),N(x),(0,O.Z)(x),(0,B.oN)(x,"slide-up"),(0,B.oN)(x,"slide-down"),(0,k._y)(x,"zoom-big")]},A,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(e,t)}(en,eo,!c),el=i()("".concat(en,"-").concat(H),null==y?void 0:y.className,S),ei=o.useMemo(()=>{var e,t;if("function"==typeof P||X(P))return P||null;if("function"==typeof l.expandIcon||X(l.expandIcon))return l.expandIcon||null;if("function"==typeof(null==y?void 0:y.expandIcon)||X(null==y?void 0:y.expandIcon))return(null==y?void 0:y.expandIcon)||null;let n=null!==(e=null!=P?P:null==l?void 0:l.expandIcon)&&void 0!==e?e:null==y?void 0:y.expandIcon;return(0,m.Tm)(n,{className:i()("".concat(en,"-submenu-expand-icon"),o.isValidElement(n)?null===(t=n.props)||void 0===t?void 0:t.className:void 0)})},[P,null==l?void 0:l.expandIcon,null==y?void 0:y.expandIcon,en]),ed=o.useMemo(()=>({prefixCls:en,inlineCollapsed:ee||!1,direction:h,firstLevel:!0,theme:H,mode:U,disableMenuItemTitleTooltip:Z}),[en,ee,h,Z,H]);return ea(o.createElement(x.Z.Provider,{value:null},o.createElement(b.Provider,{value:ed},o.createElement(a.ZP,Object.assign({getPopupContainer:v,overflowedIndicator:o.createElement(r.Z,null),overflowedIndicatorPopupClassName:i()(en,"".concat(en,"-").concat(H),V),mode:U,selectable:K,onClick:Q},J,{inlineCollapsed:ee,style:Object.assign(Object.assign({},null==y?void 0:y.style),C),className:el,prefixCls:en,direction:h,defaultMotions:et,expandIcon:ei,ref:t,rootClassName:i()(L,ec,l.rootClassName,er,eo),_internalComponents:_})))))}),F=(0,o.forwardRef)((e,t)=>{let n=(0,o.useRef)(null),a=o.useContext(c.D);return(0,o.useImperativeHandle)(t,()=>({menu:n.current,focus:e=>{var t;null===(t=n.current)||void 0===t||t.focus(e)}})),o.createElement(q,Object.assign({ref:n},e,a))});F.Item=I,F.SubMenu=L,F.Divider=v,F.ItemGroup=a.BW;var Y=F},58760:function(e,t,n){n.d(t,{Z:function(){return B}});var o=n(2265),a=n(36760),c=n.n(a),r=n(45287);function l(e){return["small","middle","large"].includes(e)}function i(e){return!!e&&"number"==typeof e&&!Number.isNaN(e)}var d=n(71744),s=n(77685),u=n(17691),m=n(99320);let p=e=>{let{componentCls:t,borderRadius:n,paddingSM:o,colorBorder:a,paddingXS:c,fontSizeLG:r,fontSizeSM:l,borderRadiusLG:i,borderRadiusSM:d,colorBgContainerDisabled:s,lineWidth:m}=e;return{[t]:[{display:"inline-flex",alignItems:"center",gap:0,paddingInline:o,margin:0,background:s,borderWidth:m,borderStyle:"solid",borderColor:a,borderRadius:n,"&-large":{fontSize:r,borderRadius:i},"&-small":{paddingInline:c,borderRadius:d,fontSize:l},"&-compact-last-item":{borderEndStartRadius:0,borderStartStartRadius:0},"&-compact-first-item":{borderEndEndRadius:0,borderStartEndRadius:0},"&-compact-item:not(:first-child):not(:last-child)":{borderRadius:0},"&-compact-item:not(:last-child)":{borderInlineEndWidth:0}},(0,u.c)(e,{focus:!1})]}};var g=(0,m.I$)(["Space","Addon"],e=>[p(e)]),b=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let f=o.forwardRef((e,t)=>{let{className:n,children:a,style:r,prefixCls:l}=e,i=b(e,["className","children","style","prefixCls"]),{getPrefixCls:u,direction:m}=o.useContext(d.E_),p=u("space-addon",l),[f,v,h]=g(p),{compactItemClassnames:y,compactSize:I}=(0,s.ri)(p,m),x=c()(p,v,y,h,{["".concat(p,"-").concat(I)]:I},n);return f(o.createElement("div",Object.assign({ref:t,className:x,style:r},i),a))}),v=o.createContext({latestIndex:0}),h=v.Provider;var y=e=>{let{className:t,index:n,children:a,split:c,style:r}=e,{latestIndex:l}=o.useContext(v);return null==a?null:o.createElement(o.Fragment,null,o.createElement("div",{className:t,style:r},a),n{let{componentCls:t,antCls:n}=e;return{[t]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},["".concat(t,"-item:empty")]:{display:"none"},["".concat(t,"-item > ").concat(n,"-badge-not-a-wrapper:only-child")]:{display:"block"}}}},w=e=>{let{componentCls:t}=e;return{[t]:{"&-gap-row-small":{rowGap:e.spaceGapSmallSize},"&-gap-row-middle":{rowGap:e.spaceGapMiddleSize},"&-gap-row-large":{rowGap:e.spaceGapLargeSize},"&-gap-col-small":{columnGap:e.spaceGapSmallSize},"&-gap-col-middle":{columnGap:e.spaceGapMiddleSize},"&-gap-col-large":{columnGap:e.spaceGapLargeSize}}}};var S=(0,m.I$)("Space",e=>{let t=(0,I.IX)(e,{spaceGapSmallSize:e.paddingXS,spaceGapMiddleSize:e.padding,spaceGapLargeSize:e.paddingLG});return[x(t),w(t)]},()=>({}),{resetStyle:!1}),C=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let O=o.forwardRef((e,t)=>{var n;let{getPrefixCls:a,direction:s,size:u,className:m,style:p,classNames:g,styles:b}=(0,d.dj)("space"),{size:f=null!=u?u:"small",align:v,className:I,rootClassName:x,children:w,direction:O="horizontal",prefixCls:B,split:k,style:j,wrap:E=!1,classNames:z,styles:N}=e,H=C(e,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[T,P]=Array.isArray(f)?f:[f,f],R=l(P),Z=l(T),M=i(P),D=i(T),A=(0,r.Z)(w,{keepEmpty:!0}),W=void 0===v&&"horizontal"===O?"center":v,L=a("space",B),[G,X,_]=S(L),q=c()(L,m,X,"".concat(L,"-").concat(O),{["".concat(L,"-rtl")]:"rtl"===s,["".concat(L,"-align-").concat(W)]:W,["".concat(L,"-gap-row-").concat(P)]:R,["".concat(L,"-gap-col-").concat(T)]:Z},I,x,_),F=c()("".concat(L,"-item"),null!==(n=null==z?void 0:z.item)&&void 0!==n?n:g.item),Y=Object.assign(Object.assign({},b.item),null==N?void 0:N.item),V=A.map((e,t)=>{let n=(null==e?void 0:e.key)||"".concat(F,"-").concat(t);return o.createElement(y,{className:F,key:n,index:t,split:k,style:Y},e)}),$=o.useMemo(()=>({latestIndex:A.reduce((e,t,n)=>null!=t?n:e,0)}),[A]);if(0===A.length)return null;let J={};return E&&(J.flexWrap="wrap"),!Z&&D&&(J.columnGap=T),!R&&M&&(J.rowGap=P),G(o.createElement("div",Object.assign({ref:t,className:q,style:Object.assign(Object.assign(Object.assign({},J),p),j)},H),o.createElement(h,{value:$},V)))});O.Compact=s.ZP,O.Addon=f;var B=O}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7138],{15327:function(e,t,n){n.d(t,{Z:function(){return l}});var o=n(1119),a=n(2265),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},r=n(55015),l=a.forwardRef(function(e,t){return a.createElement(r.Z,(0,o.Z)({},e,{ref:t,icon:c}))})},73705:function(e,t,n){n.d(t,{Z:function(){return _}});var o=n(2265),a=n(15327),c=n(77565),r=n(36760),l=n.n(r),i=n(71030),d=n(58525),s=n(50506),u=n(18694),m=n(62236),p=e=>"object"!=typeof e&&"function"!=typeof e||null===e,g=n(92736),b=n(93942),f=n(19722),v=n(13613),h=n(95140),y=n(71744),w=n(64024),I=n(60985),x=n(88208),S=n(84951),C=n(93463),O=n(12918),B=n(18544),k=n(29382),j=n(691),E=n(88260),z=n(34442),N=n(99320),H=n(71140),R=e=>{let{componentCls:t,menuCls:n,colorError:o,colorTextLightSolid:a}=e,c="".concat(n,"-item");return{["".concat(t,", ").concat(t,"-menu-submenu")]:{["".concat(n," ").concat(c)]:{["&".concat(c,"-danger:not(").concat(c,"-disabled)")]:{color:o,"&:hover":{color:a,backgroundColor:o}}}}}};let T=e=>{let{componentCls:t,menuCls:n,zIndexPopup:o,dropdownArrowDistance:a,sizePopupArrow:c,antCls:r,iconCls:l,motionDurationMid:i,paddingBlock:d,fontSize:s,dropdownEdgeChildPadding:u,colorTextDisabled:m,fontSizeIcon:p,controlPaddingHorizontal:g,colorBgElevated:b}=e;return[{[t]:{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:o,display:"block","&::before":{position:"absolute",insetBlock:e.calc(c).div(2).sub(a).equal(),zIndex:-9999,opacity:1e-4,content:'""'},"&-menu-vertical":{maxHeight:"100vh",overflowY:"auto"},["&-trigger".concat(r,"-btn")]:{["& > ".concat(l,"-down, & > ").concat(r,"-btn-icon > ").concat(l,"-down")]:{fontSize:p}},["".concat(t,"-wrap")]:{position:"relative",["".concat(r,"-btn > ").concat(l,"-down")]:{fontSize:p},["".concat(l,"-down::before")]:{transition:"transform ".concat(i)}},["".concat(t,"-wrap-open")]:{["".concat(l,"-down::before")]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},["&".concat(r,"-slide-down-enter").concat(r,"-slide-down-enter-active").concat(t,"-placement-bottomLeft,\n &").concat(r,"-slide-down-appear").concat(r,"-slide-down-appear-active").concat(t,"-placement-bottomLeft,\n &").concat(r,"-slide-down-enter").concat(r,"-slide-down-enter-active").concat(t,"-placement-bottom,\n &").concat(r,"-slide-down-appear").concat(r,"-slide-down-appear-active").concat(t,"-placement-bottom,\n &").concat(r,"-slide-down-enter").concat(r,"-slide-down-enter-active").concat(t,"-placement-bottomRight,\n &").concat(r,"-slide-down-appear").concat(r,"-slide-down-appear-active").concat(t,"-placement-bottomRight")]:{animationName:B.fJ},["&".concat(r,"-slide-up-enter").concat(r,"-slide-up-enter-active").concat(t,"-placement-topLeft,\n &").concat(r,"-slide-up-appear").concat(r,"-slide-up-appear-active").concat(t,"-placement-topLeft,\n &").concat(r,"-slide-up-enter").concat(r,"-slide-up-enter-active").concat(t,"-placement-top,\n &").concat(r,"-slide-up-appear").concat(r,"-slide-up-appear-active").concat(t,"-placement-top,\n &").concat(r,"-slide-up-enter").concat(r,"-slide-up-enter-active").concat(t,"-placement-topRight,\n &").concat(r,"-slide-up-appear").concat(r,"-slide-up-appear-active").concat(t,"-placement-topRight")]:{animationName:B.Qt},["&".concat(r,"-slide-down-leave").concat(r,"-slide-down-leave-active").concat(t,"-placement-bottomLeft,\n &").concat(r,"-slide-down-leave").concat(r,"-slide-down-leave-active").concat(t,"-placement-bottom,\n &").concat(r,"-slide-down-leave").concat(r,"-slide-down-leave-active").concat(t,"-placement-bottomRight")]:{animationName:B.Uw},["&".concat(r,"-slide-up-leave").concat(r,"-slide-up-leave-active").concat(t,"-placement-topLeft,\n &").concat(r,"-slide-up-leave").concat(r,"-slide-up-leave-active").concat(t,"-placement-top,\n &").concat(r,"-slide-up-leave").concat(r,"-slide-up-leave-active").concat(t,"-placement-topRight")]:{animationName:B.ly}}},(0,E.ZP)(e,b,{arrowPlacement:{top:!0,bottom:!0}}),{["".concat(t," ").concat(n)]:{position:"relative",margin:0},["".concat(n,"-submenu-popup")]:{position:"absolute",zIndex:o,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},["".concat(t,", ").concat(t,"-menu-submenu")]:Object.assign(Object.assign({},(0,O.Wf)(e)),{[n]:Object.assign(Object.assign({padding:u,listStyleType:"none",backgroundColor:b,backgroundClip:"padding-box",borderRadius:e.borderRadiusLG,outline:"none",boxShadow:e.boxShadowSecondary},(0,O.Qy)(e)),{"&:empty":{padding:0,boxShadow:"none"},["".concat(n,"-item-group-title")]:{padding:"".concat((0,C.bf)(d)," ").concat((0,C.bf)(g)),color:e.colorTextDescription,transition:"all ".concat(i)},["".concat(n,"-item")]:{position:"relative",display:"flex",alignItems:"center"},["".concat(n,"-item-icon")]:{minWidth:s,marginInlineEnd:e.marginXS,fontSize:e.fontSizeSM},["".concat(n,"-title-content")]:{flex:"auto","&-with-extra":{display:"inline-flex",alignItems:"center",width:"100%"},"> a":{color:"inherit",transition:"all ".concat(i),"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}},["".concat(n,"-item-extra")]:{paddingInlineStart:e.padding,marginInlineStart:"auto",fontSize:e.fontSizeSM,color:e.colorTextDescription}},["".concat(n,"-item, ").concat(n,"-submenu-title")]:Object.assign(Object.assign({display:"flex",margin:0,padding:"".concat((0,C.bf)(d)," ").concat((0,C.bf)(g)),color:e.colorText,fontWeight:"normal",fontSize:s,lineHeight:e.lineHeight,cursor:"pointer",transition:"all ".concat(i),borderRadius:e.borderRadiusSM,"&:hover, &-active":{backgroundColor:e.controlItemBgHover}},(0,O.Qy)(e)),{"&-selected":{color:e.colorPrimary,backgroundColor:e.controlItemBgActive,"&:hover, &-active":{backgroundColor:e.controlItemBgActiveHover}},"&-disabled":{color:m,cursor:"not-allowed","&:hover":{color:m,backgroundColor:b,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:"".concat((0,C.bf)(e.marginXXS)," 0"),overflow:"hidden",lineHeight:0,backgroundColor:e.colorSplit},["".concat(t,"-menu-submenu-expand-icon")]:{position:"absolute",insetInlineEnd:e.paddingXS,["".concat(t,"-menu-submenu-arrow-icon")]:{marginInlineEnd:"0 !important",color:e.colorIcon,fontSize:p,fontStyle:"normal"}}}),["".concat(n,"-item-group-list")]:{margin:"0 ".concat((0,C.bf)(e.marginXS)),padding:0,listStyle:"none"},["".concat(n,"-submenu-title")]:{paddingInlineEnd:e.calc(g).add(e.fontSizeSM).equal()},["".concat(n,"-submenu-vertical")]:{position:"relative"},["".concat(n,"-submenu").concat(n,"-submenu-disabled ").concat(t,"-menu-submenu-title")]:{["&, ".concat(t,"-menu-submenu-arrow-icon")]:{color:m,backgroundColor:b,cursor:"not-allowed"}},["".concat(n,"-submenu-selected ").concat(t,"-menu-submenu-title")]:{color:e.colorPrimary}})})},[(0,B.oN)(e,"slide-up"),(0,B.oN)(e,"slide-down"),(0,k.Fm)(e,"move-up"),(0,k.Fm)(e,"move-down"),(0,j._y)(e,"zoom-big")]]};var P=(0,N.I$)("Dropdown",e=>{let{marginXXS:t,sizePopupArrow:n,paddingXXS:o,componentCls:a}=e,c=(0,H.IX)(e,{menuCls:"".concat(a,"-menu"),dropdownArrowDistance:e.calc(n).div(2).add(t).equal(),dropdownEdgeChildPadding:o});return[T(c),R(c)]},e=>Object.assign(Object.assign({zIndexPopup:e.zIndexPopupBase+50,paddingBlock:(e.controlHeight-e.fontSize*e.lineHeight)/2},(0,E.wZ)({contentRadius:e.borderRadiusLG,limitVerticalRadius:!0})),(0,z.w)(e)),{resetStyle:!1});let Z=e=>{var t;let{menu:n,arrow:r,prefixCls:b,children:C,trigger:O,disabled:B,dropdownRender:k,popupRender:j,getPopupContainer:E,overlayClassName:z,rootClassName:N,overlayStyle:H,open:R,onOpenChange:T,visible:Z,onVisibleChange:A,mouseEnterDelay:M=.15,mouseLeaveDelay:D=.1,autoAdjustOverflow:W=!0,placement:L="",overlay:G,transitionName:X,destroyOnHidden:_,destroyPopupOnHide:q}=e,{getPopupContainer:F,getPrefixCls:Y,direction:V,dropdown:$}=o.useContext(y.E_),U=j||k;(0,v.ln)("Dropdown");let J=o.useMemo(()=>{let e=Y();return void 0!==X?X:L.includes("top")?"".concat(e,"-slide-down"):"".concat(e,"-slide-up")},[Y,L,X]),Q=o.useMemo(()=>L?L.includes("Center")?L.slice(0,L.indexOf("Center")):L:"rtl"===V?"bottomRight":"bottomLeft",[L,V]),K=Y("dropdown",b),ee=(0,w.Z)(K),[et,en,eo]=P(K,ee),[,ea]=(0,S.ZP)(),ec=o.Children.only(p(C)?o.createElement("span",null,C):C),er=(0,f.Tm)(ec,{className:l()("".concat(K,"-trigger"),{["".concat(K,"-rtl")]:"rtl"===V},ec.props.className),disabled:null!==(t=ec.props.disabled)&&void 0!==t?t:B}),el=B?[]:O,ei=!!(null==el?void 0:el.includes("contextMenu")),[ed,es]=(0,s.Z)(!1,{value:null!=R?R:Z}),eu=(0,d.Z)(e=>{null==T||T(e,{source:"trigger"}),null==A||A(e),es(e)}),em=l()(z,N,en,eo,ee,null==$?void 0:$.className,{["".concat(K,"-rtl")]:"rtl"===V}),ep=(0,g.Z)({arrowPointAtCenter:"object"==typeof r&&r.pointAtCenter,autoAdjustOverflow:W,offset:ea.marginXXS,arrowWidth:r?ea.sizePopupArrow:0,borderRadius:ea.borderRadius}),eg=(0,d.Z)(()=>{null!=n&&n.selectable&&null!=n&&n.multiple||(null==T||T(!1,{source:"menu"}),es(!1))}),[eb,ef]=(0,m.Cn)("Dropdown",null==H?void 0:H.zIndex),ev=o.createElement(i.Z,Object.assign({alignPoint:ei},(0,u.Z)(e,["rootClassName"]),{mouseEnterDelay:M,mouseLeaveDelay:D,visible:ed,builtinPlacements:ep,arrow:!!r,overlayClassName:em,prefixCls:K,getPopupContainer:E||F,transitionName:J,trigger:el,overlay:()=>{let e;return e=(null==n?void 0:n.items)?o.createElement(I.Z,Object.assign({},n)):"function"==typeof G?G():G,U&&(e=U(e)),e=o.Children.only("string"==typeof e?o.createElement("span",null,e):e),o.createElement(x.J,{prefixCls:"".concat(K,"-menu"),rootClassName:l()(eo,ee),expandIcon:o.createElement("span",{className:"".concat(K,"-menu-submenu-arrow")},"rtl"===V?o.createElement(a.Z,{className:"".concat(K,"-menu-submenu-arrow-icon")}):o.createElement(c.Z,{className:"".concat(K,"-menu-submenu-arrow-icon")})),mode:"vertical",selectable:!1,onClick:eg,validator:e=>{let{mode:t}=e}},e)},placement:Q,onVisibleChange:eu,overlayStyle:Object.assign(Object.assign(Object.assign({},null==$?void 0:$.style),H),{zIndex:eb}),autoDestroy:null!=_?_:q}),er);return eb&&(ev=o.createElement(h.Z.Provider,{value:ef},ev)),et(ev)},A=(0,b.Z)(Z,"align",void 0,"dropdown",e=>e);Z._InternalPanelDoNotUseOrYouWillBeFired=e=>o.createElement(A,Object.assign({},e),o.createElement("span",null));var M=n(60440),D=n(5545),W=n(58760),L=n(77685),G=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let X=e=>{let{getPopupContainer:t,getPrefixCls:n,direction:a}=o.useContext(y.E_),{prefixCls:c,type:r="default",danger:i,disabled:d,loading:s,onClick:u,htmlType:m,children:p,className:g,menu:b,arrow:f,autoFocus:v,overlay:h,trigger:w,align:I,open:x,onOpenChange:S,placement:C,getPopupContainer:O,href:B,icon:k=o.createElement(M.Z,null),title:j,buttonsRender:E=e=>e,mouseEnterDelay:z,mouseLeaveDelay:N,overlayClassName:H,overlayStyle:R,destroyOnHidden:T,destroyPopupOnHide:P,dropdownRender:A,popupRender:X}=e,_=G(e,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyOnHidden","destroyPopupOnHide","dropdownRender","popupRender"]),q=n("dropdown",c),F={menu:b,arrow:f,autoFocus:v,align:I,disabled:d,trigger:d?[]:w,onOpenChange:S,getPopupContainer:O||t,mouseEnterDelay:z,mouseLeaveDelay:N,overlayClassName:H,overlayStyle:R,destroyOnHidden:T,popupRender:X||A},{compactSize:Y,compactItemClassnames:V}=(0,L.ri)(q,a),$=l()("".concat(q,"-button"),V,g);"destroyPopupOnHide"in e&&(F.destroyPopupOnHide=P),"overlay"in e&&(F.overlay=h),"open"in e&&(F.open=x),"placement"in e?F.placement=C:F.placement="rtl"===a?"bottomLeft":"bottomRight";let[U,J]=E([o.createElement(D.ZP,{type:r,danger:i,disabled:d,loading:s,onClick:u,htmlType:m,href:B,title:j},p),o.createElement(D.ZP,{type:r,danger:i,icon:k})]);return o.createElement(W.Z.Compact,Object.assign({className:$,size:Y,block:!0},_),U,o.createElement(Z,Object.assign({},F),J))};X.__ANT_BUTTON=!0,Z.Button=X;var _=Z},32186:function(e,t,n){let o;n.d(t,{D:function(){return S},Z:function(){return O}});var a=n(2265),c=n(1119),r={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},l=n(55015),i=a.forwardRef(function(e,t){return a.createElement(l.Z,(0,c.Z)({},e,{ref:t,icon:r}))}),d=n(15327),s=n(77565),u=n(36760),m=n.n(u),p=n(18694),g=n(16774),b=n(71744),f=n(80856),v=n(93463),h=n(25437),y=(0,n(99320).I$)(["Layout","Sider"],e=>{let{componentCls:t,siderBg:n,motionDurationMid:o,motionDurationSlow:a,antCls:c,triggerHeight:r,triggerColor:l,triggerBg:i,headerHeight:d,zeroTriggerWidth:s,zeroTriggerHeight:u,borderRadiusLG:m,lightSiderBg:p,lightTriggerColor:g,lightTriggerBg:b,bodyBg:f}=e;return{[t]:{position:"relative",minWidth:0,background:n,transition:"all ".concat(o,", background 0s"),"&-has-trigger":{paddingBottom:r},"&-right":{order:1},["".concat(t,"-children")]:{height:"100%",marginTop:-.1,paddingTop:.1,["".concat(c,"-menu").concat(c,"-menu-inline-collapsed")]:{width:"auto"}},["&-zero-width ".concat(t,"-children")]:{overflow:"hidden"},["".concat(t,"-trigger")]:{position:"fixed",bottom:0,zIndex:1,height:r,color:l,lineHeight:(0,v.bf)(r),textAlign:"center",background:i,cursor:"pointer",transition:"all ".concat(o)},["".concat(t,"-zero-width-trigger")]:{position:"absolute",top:d,insetInlineEnd:e.calc(s).mul(-1).equal(),zIndex:1,width:s,height:u,color:l,fontSize:e.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:n,borderRadius:"0 ".concat((0,v.bf)(m)," ").concat((0,v.bf)(m)," 0"),cursor:"pointer",transition:"background ".concat(a," ease"),"&::after":{position:"absolute",inset:0,background:"transparent",transition:"all ".concat(a),content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:e.calc(s).mul(-1).equal(),borderRadius:"".concat((0,v.bf)(m)," 0 0 ").concat((0,v.bf)(m))}},"&-light":{background:p,["".concat(t,"-trigger")]:{color:g,background:b},["".concat(t,"-zero-width-trigger")]:{color:g,background:b,border:"1px solid ".concat(f),borderInlineStart:0}}}}},h.eh,{deprecatedTokens:h.jn}),w=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let I={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},x=e=>!Number.isNaN(Number.parseFloat(e))&&Number.isFinite(Number(e)),S=a.createContext({}),C=(o=0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return o+=1,"".concat(e).concat(o)});var O=a.forwardRef((e,t)=>{let{prefixCls:n,className:o,trigger:c,children:r,defaultCollapsed:l=!1,theme:u="dark",style:v={},collapsible:h=!1,reverseArrow:O=!1,width:B=200,collapsedWidth:k=80,zeroWidthTriggerStyle:j,breakpoint:E,onCollapse:z,onBreakpoint:N}=e,H=w(e,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:R}=(0,a.useContext)(f.V),[T,P]=(0,a.useState)("collapsed"in e?e.collapsed:l),[Z,A]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"collapsed"in e&&P(e.collapsed)},[e.collapsed]);let M=(t,n)=>{"collapsed"in e||P(t),null==z||z(t,n)},{getPrefixCls:D,direction:W}=(0,a.useContext)(b.E_),L=D("layout-sider",n),[G,X,_]=y(L),q=(0,a.useRef)(null);q.current=e=>{A(e.matches),null==N||N(e.matches),T!==e.matches&&M(e.matches,"responsive")},(0,a.useEffect)(()=>{let e;function t(e){var t;return null===(t=q.current)||void 0===t?void 0:t.call(q,e)}return void 0!==(null==window?void 0:window.matchMedia)&&E&&E in I&&(e=window.matchMedia("screen and (max-width: ".concat(I[E],")")),(0,g.x)(e,t),t(e)),()=>{(0,g.h)(e,t)}},[E]),(0,a.useEffect)(()=>{let e=C("ant-sider-");return R.addSider(e),()=>R.removeSider(e)},[]);let F=()=>{M(!T,"clickTrigger")},Y=(0,p.Z)(H,["collapsed"]),V=T?k:B,$=x(V)?"".concat(V,"px"):String(V),U=0===Number.parseFloat(String(k||0))?a.createElement("span",{onClick:F,className:m()("".concat(L,"-zero-width-trigger"),"".concat(L,"-zero-width-trigger-").concat(O?"right":"left")),style:j},c||a.createElement(i,null)):null,J="rtl"===W==!O,Q={expanded:J?a.createElement(s.Z,null):a.createElement(d.Z,null),collapsed:J?a.createElement(d.Z,null):a.createElement(s.Z,null)}[T?"collapsed":"expanded"],K=null!==c?U||a.createElement("div",{className:"".concat(L,"-trigger"),onClick:F,style:{width:$}},c||Q):null,ee=Object.assign(Object.assign({},v),{flex:"0 0 ".concat($),maxWidth:$,minWidth:$,width:$}),et=m()(L,"".concat(L,"-").concat(u),{["".concat(L,"-collapsed")]:!!T,["".concat(L,"-has-trigger")]:h&&null!==c&&!U,["".concat(L,"-below")]:!!Z,["".concat(L,"-zero-width")]:0===Number.parseFloat($)},o,X,_),en=a.useMemo(()=>({siderCollapsed:T}),[T]);return G(a.createElement(S.Provider,{value:en},a.createElement("aside",Object.assign({className:et},Y,{style:ee,ref:t}),a.createElement("div",{className:"".concat(L,"-children")},r),h||Z&&U?K:null)))})},80856:function(e,t,n){n.d(t,{V:function(){return o}});let o=n(2265).createContext({siderHook:{addSider:()=>null,removeSider:()=>null}})},25437:function(e,t,n){n.d(t,{eh:function(){return c},jn:function(){return r}});var o=n(93463),a=n(99320);let c=e=>{let{colorBgLayout:t,controlHeight:n,controlHeightLG:o,colorText:a,controlHeightSM:c,marginXXS:r,colorTextLightSolid:l,colorBgContainer:i}=e,d=1.25*o;return{colorBgHeader:"#001529",colorBgBody:t,colorBgTrigger:"#002140",bodyBg:t,headerBg:"#001529",headerHeight:2*n,headerPadding:"0 ".concat(d,"px"),headerColor:a,footerPadding:"".concat(c,"px ").concat(d,"px"),footerBg:t,siderBg:"#001529",triggerHeight:o+2*r,triggerBg:"#002140",triggerColor:l,zeroTriggerWidth:o,zeroTriggerHeight:o,lightSiderBg:i,lightTriggerBg:i,lightTriggerColor:a}},r=[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]];t.ZP=(0,a.I$)("Layout",e=>{let{antCls:t,componentCls:n,colorText:a,footerBg:c,headerHeight:r,headerPadding:l,headerColor:i,footerPadding:d,fontSize:s,bodyBg:u,headerBg:m}=e;return{[n]:{display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:u,"&, *":{boxSizing:"border-box"},["&".concat(n,"-has-sider")]:{flexDirection:"row",["> ".concat(n,", > ").concat(n,"-content")]:{width:0}},["".concat(n,"-header, &").concat(n,"-footer")]:{flex:"0 0 auto"},"&-rtl":{direction:"rtl"}},["".concat(n,"-header")]:{height:r,padding:l,color:i,lineHeight:(0,o.bf)(r),background:m,["".concat(t,"-menu")]:{lineHeight:"inherit"}},["".concat(n,"-footer")]:{padding:d,color:a,fontSize:s,background:c},["".concat(n,"-content")]:{flex:"auto",color:a,minHeight:0}}},c,{deprecatedTokens:r})},88208:function(e,t,n){n.d(t,{J:function(){return i}});var o=n(2265),a=n(28791),c=n(391),r=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let l=o.createContext(null),i=o.forwardRef((e,t)=>{let{children:n}=e,i=r(e,["children"]),d=o.useContext(l),s=o.useMemo(()=>Object.assign(Object.assign({},d),i),[d,i.prefixCls,i.mode,i.selectable,i.rootClassName]),u=(0,a.t4)(n),m=(0,a.x1)(t,u?(0,a.C4)(n):null);return o.createElement(l.Provider,{value:s},o.createElement(c.Z,{space:!0},u?o.cloneElement(n,{ref:m}):n))});t.Z=l},60985:function(e,t,n){n.d(t,{Z:function(){return Y}});var o=n(2265),a=n(33082),c=n(32186),r=n(60440),l=n(36760),i=n.n(l),d=n(58525),s=n(18694),u=n(68710),m=n(19722),p=n(71744),g=n(64024);let b=(0,o.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1});var f=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n},v=e=>{let{prefixCls:t,className:n,dashed:c}=e,r=f(e,["prefixCls","className","dashed"]),{getPrefixCls:l}=o.useContext(p.E_),d=l("menu",t),s=i()({["".concat(d,"-item-divider-dashed")]:!!c},n);return o.createElement(a.iz,Object.assign({className:s},r))},h=n(45287),y=n(99981),w=e=>{var t;let{className:n,children:r,icon:l,title:d,danger:u,extra:p}=e,{prefixCls:g,firstLevel:f,direction:v,disableMenuItemTitleTooltip:w,inlineCollapsed:I}=o.useContext(b),{siderCollapsed:x}=o.useContext(c.D),S=d;void 0===d?S=f?r:"":!1===d&&(S="");let C={title:S};x||I||(C.title=null,C.open=!1);let O=(0,h.Z)(r).length,B=o.createElement(a.ck,Object.assign({},(0,s.Z)(e,["title","icon","danger"]),{className:i()({["".concat(g,"-item-danger")]:u,["".concat(g,"-item-only-child")]:(l?O+1:O)===1},n),title:"string"==typeof d?d:void 0}),(0,m.Tm)(l,{className:i()(o.isValidElement(l)?null===(t=l.props)||void 0===t?void 0:t.className:void 0,"".concat(g,"-item-icon"))}),(e=>{let t=null==r?void 0:r[0],n=o.createElement("span",{className:i()("".concat(g,"-title-content"),{["".concat(g,"-title-content-with-extra")]:!!p||0===p})},r);return(!l||o.isValidElement(r)&&"span"===r.type)&&r&&e&&f&&"string"==typeof t?o.createElement("div",{className:"".concat(g,"-inline-collapsed-noicon")},t.charAt(0)):n})(I));return w||(B=o.createElement(y.Z,Object.assign({},C,{placement:"rtl"===v?"left":"right",classNames:{root:"".concat(g,"-inline-collapsed-tooltip")}}),B)),B},I=n(88208),x=n(93463),S=n(54558),C=n(12918),O=n(63074),B=n(18544),k=n(691),j=n(99320),E=n(71140),z=e=>{let{componentCls:t,motionDurationSlow:n,horizontalLineHeight:o,colorSplit:a,lineWidth:c,lineType:r,itemPaddingInline:l}=e;return{["".concat(t,"-horizontal")]:{lineHeight:o,border:0,borderBottom:"".concat((0,x.bf)(c)," ").concat(r," ").concat(a),boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},["".concat(t,"-item, ").concat(t,"-submenu")]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:l},["> ".concat(t,"-item:hover,\n > ").concat(t,"-item-active,\n > ").concat(t,"-submenu ").concat(t,"-submenu-title:hover")]:{backgroundColor:"transparent"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{transition:["border-color ".concat(n),"background ".concat(n)].join(",")},["".concat(t,"-submenu-arrow")]:{display:"none"}}}},N=e=>{let{componentCls:t,menuArrowOffset:n,calc:o}=e;return{["".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-submenu-rtl")]:{transformOrigin:"100% 0"},["".concat(t,"-rtl").concat(t,"-vertical,\n ").concat(t,"-submenu-rtl ").concat(t,"-vertical")]:{["".concat(t,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateY(".concat((0,x.bf)(o(n).mul(-1).equal()),")")},"&::after":{transform:"rotate(45deg) translateY(".concat((0,x.bf)(n),")")}}}}};let H=e=>(0,C.oN)(e);var R=(e,t)=>{let{componentCls:n,itemColor:o,itemSelectedColor:a,subMenuItemSelectedColor:c,groupTitleColor:r,itemBg:l,subMenuItemBg:i,itemSelectedBg:d,activeBarHeight:s,activeBarWidth:u,activeBarBorderWidth:m,motionDurationSlow:p,motionEaseInOut:g,motionEaseOut:b,itemPaddingInline:f,motionDurationMid:v,itemHoverColor:h,lineType:y,colorSplit:w,itemDisabledColor:I,dangerItemColor:S,dangerItemHoverColor:C,dangerItemSelectedColor:O,dangerItemActiveBg:B,dangerItemSelectedBg:k,popupBg:j,itemHoverBg:E,itemActiveBg:z,menuSubMenuBg:N,horizontalItemSelectedColor:R,horizontalItemSelectedBg:T,horizontalItemBorderRadius:P,horizontalItemHoverBg:Z}=e;return{["".concat(n,"-").concat(t,", ").concat(n,"-").concat(t," > ").concat(n)]:{color:o,background:l,["&".concat(n,"-root:focus-visible")]:Object.assign({},H(e)),["".concat(n,"-item")]:{"&-group-title, &-extra":{color:r}},["".concat(n,"-submenu-selected > ").concat(n,"-submenu-title")]:{color:c},["".concat(n,"-item, ").concat(n,"-submenu-title")]:{color:o,["&:not(".concat(n,"-item-disabled):focus-visible")]:Object.assign({},H(e))},["".concat(n,"-item-disabled, ").concat(n,"-submenu-disabled")]:{color:"".concat(I," !important")},["".concat(n,"-item:not(").concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{["&:hover, > ".concat(n,"-submenu-title:hover")]:{color:h}},["&:not(".concat(n,"-horizontal)")]:{["".concat(n,"-item:not(").concat(n,"-item-selected)")]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:z}},["".concat(n,"-submenu-title")]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:z}}},["".concat(n,"-item-danger")]:{color:S,["&".concat(n,"-item:hover")]:{["&:not(".concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{color:C}},["&".concat(n,"-item:active")]:{background:B}},["".concat(n,"-item a")]:{"&, &:hover":{color:"inherit"}},["".concat(n,"-item-selected")]:{color:a,["&".concat(n,"-item-danger")]:{color:O},"a, a:hover":{color:"inherit"}},["& ".concat(n,"-item-selected")]:{backgroundColor:d,["&".concat(n,"-item-danger")]:{backgroundColor:k}},["&".concat(n,"-submenu > ").concat(n)]:{backgroundColor:N},["&".concat(n,"-popup > ").concat(n)]:{backgroundColor:j},["&".concat(n,"-submenu-popup > ").concat(n)]:{backgroundColor:j},["&".concat(n,"-horizontal")]:Object.assign(Object.assign({},"dark"===t?{borderBottom:0}:{}),{["> ".concat(n,"-item, > ").concat(n,"-submenu")]:{top:m,marginTop:e.calc(m).mul(-1).equal(),marginBottom:0,borderRadius:P,"&::after":{position:"absolute",insetInline:f,bottom:0,borderBottom:"".concat((0,x.bf)(s)," solid transparent"),transition:"border-color ".concat(p," ").concat(g),content:'""'},"&:hover, &-active, &-open":{background:Z,"&::after":{borderBottomWidth:s,borderBottomColor:R}},"&-selected":{color:R,backgroundColor:T,"&:hover":{backgroundColor:T},"&::after":{borderBottomWidth:s,borderBottomColor:R}}}}),["&".concat(n,"-root")]:{["&".concat(n,"-inline, &").concat(n,"-vertical")]:{borderInlineEnd:"".concat((0,x.bf)(m)," ").concat(y," ").concat(w)}},["&".concat(n,"-inline")]:{["".concat(n,"-sub").concat(n,"-inline")]:{background:i},["".concat(n,"-item")]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:"".concat((0,x.bf)(u)," solid ").concat(a),transform:"scaleY(0.0001)",opacity:0,transition:["transform ".concat(v," ").concat(b),"opacity ".concat(v," ").concat(b)].join(","),content:'""'},["&".concat(n,"-item-danger")]:{"&::after":{borderInlineEndColor:O}}},["".concat(n,"-selected, ").concat(n,"-item-selected")]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:["transform ".concat(v," ").concat(g),"opacity ".concat(v," ").concat(g)].join(",")}}}}}};let T=e=>{let{componentCls:t,itemHeight:n,itemMarginInline:o,padding:a,menuArrowSize:c,marginXS:r,itemMarginBlock:l,itemWidth:i,itemPaddingInline:d}=e,s=e.calc(c).add(a).add(r).equal();return{["".concat(t,"-item")]:{position:"relative",overflow:"hidden"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,x.bf)(n),paddingInline:d,overflow:"hidden",textOverflow:"ellipsis",marginInline:o,marginBlock:l,width:i},["> ".concat(t,"-item,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,x.bf)(n)},["".concat(t,"-item-group-list ").concat(t,"-submenu-title,\n ").concat(t,"-submenu-title")]:{paddingInlineEnd:s}}};var P=e=>{let{componentCls:t,iconCls:n,itemHeight:o,colorTextLightSolid:a,dropdownWidth:c,controlHeightLG:r,motionEaseOut:l,paddingXL:i,itemMarginInline:d,fontSizeLG:s,motionDurationFast:u,motionDurationSlow:m,paddingXS:p,boxShadowSecondary:g,collapsedWidth:b,collapsedIconSize:f}=e,v={height:o,lineHeight:(0,x.bf)(o),listStylePosition:"inside",listStyleType:"disc"};return[{[t]:{"&-inline, &-vertical":Object.assign({["&".concat(t,"-root")]:{boxShadow:"none"}},T(e))},["".concat(t,"-submenu-popup")]:{["".concat(t,"-vertical")]:Object.assign(Object.assign({},T(e)),{boxShadow:g})}},{["".concat(t,"-submenu-popup ").concat(t,"-vertical").concat(t,"-sub")]:{minWidth:c,maxHeight:"calc(100vh - ".concat((0,x.bf)(e.calc(r).mul(2.5).equal()),")"),padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{["".concat(t,"-inline")]:{width:"100%",["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{display:"flex",alignItems:"center",transition:["border-color ".concat(m),"background ".concat(m),"padding ".concat(u," ").concat(l)].join(","),["> ".concat(t,"-title-content")]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},["".concat(t,"-sub").concat(t,"-inline")]:{padding:0,border:0,borderRadius:0,boxShadow:"none",["& > ".concat(t,"-submenu > ").concat(t,"-submenu-title")]:v,["& ".concat(t,"-item-group-title")]:{paddingInlineStart:i}},["".concat(t,"-item")]:v}},{["".concat(t,"-inline-collapsed")]:{width:b,["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu ").concat(t,"-submenu-title")]:{["> ".concat(t,"-inline-collapsed-noicon")]:{fontSize:s,textAlign:"center"}}},["> ".concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-submenu > ").concat(t,"-submenu-title,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{insetInlineStart:0,paddingInline:"calc(50% - ".concat((0,x.bf)(e.calc(f).div(2).equal())," - ").concat((0,x.bf)(d),")"),textOverflow:"clip",["\n ".concat(t,"-submenu-arrow,\n ").concat(t,"-submenu-expand-icon\n ")]:{opacity:0},["".concat(t,"-item-icon, ").concat(n)]:{margin:0,fontSize:f,lineHeight:(0,x.bf)(o),"+ span":{display:"inline-block",opacity:0}}},["".concat(t,"-item-icon, ").concat(n)]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",["".concat(t,"-item-icon, ").concat(n)]:{display:"none"},"a, a:hover":{color:a}},["".concat(t,"-item-group-title")]:Object.assign(Object.assign({},C.vS),{paddingInline:p})}}]};let Z=e=>{let{componentCls:t,motionDurationSlow:n,motionDurationMid:o,motionEaseInOut:a,motionEaseOut:c,iconCls:r,iconSize:l,iconMarginInlineEnd:i}=e;return{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:["border-color ".concat(n),"background ".concat(n),"padding calc(".concat(n," + 0.1s) ").concat(a)].join(","),["".concat(t,"-item-icon, ").concat(r)]:{minWidth:l,fontSize:l,transition:["font-size ".concat(o," ").concat(c),"margin ".concat(n," ").concat(a),"color ".concat(n)].join(","),"+ span":{marginInlineStart:i,opacity:1,transition:["opacity ".concat(n," ").concat(a),"margin ".concat(n),"color ".concat(n)].join(",")}},["".concat(t,"-item-icon")]:Object.assign({},(0,C.Ro)()),["&".concat(t,"-item-only-child")]:{["> ".concat(r,", > ").concat(t,"-item-icon")]:{marginInlineEnd:0}}},["".concat(t,"-item-disabled, ").concat(t,"-submenu-disabled")]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important",cursor:"not-allowed",pointerEvents:"none"},["> ".concat(t,"-submenu-title")]:{color:"inherit !important",cursor:"not-allowed"}}}},A=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:o,borderRadius:a,menuArrowSize:c,menuArrowOffset:r}=e;return{["".concat(t,"-submenu")]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:e.margin,width:c,color:"currentcolor",transform:"translateY(-50%)",transition:"transform ".concat(n," ").concat(o,", opacity ").concat(n)},"&-arrow":{"&::before, &::after":{position:"absolute",width:e.calc(c).mul(.6).equal(),height:e.calc(c).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:a,transition:["background ".concat(n," ").concat(o),"transform ".concat(n," ").concat(o),"top ".concat(n," ").concat(o),"color ".concat(n," ").concat(o)].join(","),content:'""'},"&::before":{transform:"rotate(45deg) translateY(".concat((0,x.bf)(e.calc(r).mul(-1).equal()),")")},"&::after":{transform:"rotate(-45deg) translateY(".concat((0,x.bf)(r),")")}}}}},M=e=>{let{antCls:t,componentCls:n,fontSize:o,motionDurationSlow:a,motionDurationMid:c,motionEaseInOut:r,paddingXS:l,padding:i,colorSplit:d,lineWidth:s,zIndexPopup:u,borderRadiusLG:m,subMenuItemBorderRadius:p,menuArrowSize:g,menuArrowOffset:b,lineType:f,groupTitleLineHeight:v,groupTitleFontSize:h}=e;return[{"":{[n]:Object.assign(Object.assign({},(0,C.dF)()),{"&-hidden":{display:"none"}})},["".concat(n,"-submenu-hidden")]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,C.Wf)(e)),(0,C.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:o,lineHeight:0,listStyle:"none",outline:"none",transition:"width ".concat(a," cubic-bezier(0.2, 0, 0, 1) 0s"),"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",["".concat(n,"-item")]:{flex:"none"}},["".concat(n,"-item, ").concat(n,"-submenu, ").concat(n,"-submenu-title")]:{borderRadius:e.itemBorderRadius},["".concat(n,"-item-group-title")]:{padding:"".concat((0,x.bf)(l)," ").concat((0,x.bf)(i)),fontSize:h,lineHeight:v,transition:"all ".concat(a)},["&-horizontal ".concat(n,"-submenu")]:{transition:["border-color ".concat(a," ").concat(r),"background ".concat(a," ").concat(r)].join(",")},["".concat(n,"-submenu, ").concat(n,"-submenu-inline")]:{transition:["border-color ".concat(a," ").concat(r),"background ".concat(a," ").concat(r),"padding ".concat(c," ").concat(r)].join(",")},["".concat(n,"-submenu ").concat(n,"-sub")]:{cursor:"initial",transition:["background ".concat(a," ").concat(r),"padding ".concat(a," ").concat(r)].join(",")},["".concat(n,"-title-content")]:{transition:"color ".concat(a),"&-with-extra":{display:"inline-flex",alignItems:"center",width:"100%"},["> ".concat(t,"-typography-ellipsis-single-line")]:{display:"inline",verticalAlign:"unset"},["".concat(n,"-item-extra")]:{marginInlineStart:"auto",paddingInlineStart:e.padding}},["".concat(n,"-item a")]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},["".concat(n,"-item-divider")]:{overflow:"hidden",lineHeight:0,borderColor:d,borderStyle:f,borderWidth:0,borderTopWidth:s,marginBlock:s,padding:0,"&-dashed":{borderStyle:"dashed"}}}),Z(e)),{["".concat(n,"-item-group")]:{["".concat(n,"-item-group-list")]:{margin:0,padding:0,["".concat(n,"-item, ").concat(n,"-submenu-title")]:{paddingInline:"".concat((0,x.bf)(e.calc(o).mul(2).equal())," ").concat((0,x.bf)(i))}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:u,borderRadius:m,boxShadow:"none",transformOrigin:"0 0",["&".concat(n,"-submenu")]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},["> ".concat(n)]:Object.assign(Object.assign(Object.assign({borderRadius:m},Z(e)),A(e)),{["".concat(n,"-item, ").concat(n,"-submenu > ").concat(n,"-submenu-title")]:{borderRadius:p},["".concat(n,"-submenu-title::after")]:{transition:"transform ".concat(a," ").concat(r)}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:e.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:e.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:e.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:e.paddingXS}}}),A(e)),{["&-inline-collapsed ".concat(n,"-submenu-arrow,\n &-inline ").concat(n,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateX(".concat((0,x.bf)(b),")")},"&::after":{transform:"rotate(45deg) translateX(".concat((0,x.bf)(e.calc(b).mul(-1).equal()),")")}},["".concat(n,"-submenu-open").concat(n,"-submenu-inline > ").concat(n,"-submenu-title > ").concat(n,"-submenu-arrow")]:{transform:"translateY(".concat((0,x.bf)(e.calc(g).mul(.2).mul(-1).equal()),")"),"&::after":{transform:"rotate(-45deg) translateX(".concat((0,x.bf)(e.calc(b).mul(-1).equal()),")")},"&::before":{transform:"rotate(45deg) translateX(".concat((0,x.bf)(b),")")}}})},{["".concat(t,"-layout-header")]:{[n]:{lineHeight:"inherit"}}}]},D=e=>{var t,n,o;let{colorPrimary:a,colorError:c,colorTextDisabled:r,colorErrorBg:l,colorText:i,colorTextDescription:d,colorBgContainer:s,colorFillAlter:u,colorFillContent:m,lineWidth:p,lineWidthBold:g,controlItemBgActive:b,colorBgTextHover:f,controlHeightLG:v,lineHeight:h,colorBgElevated:y,marginXXS:w,padding:I,fontSize:x,controlHeightSM:C,fontSizeLG:O,colorTextLightSolid:B,colorErrorHover:k}=e,j=null!==(t=e.activeBarWidth)&&void 0!==t?t:0,E=null!==(n=e.activeBarBorderWidth)&&void 0!==n?n:p,z=null!==(o=e.itemMarginInline)&&void 0!==o?o:e.marginXXS,N=new S.t(B).setA(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:e.zIndexPopupBase+50,radiusItem:e.borderRadiusLG,itemBorderRadius:e.borderRadiusLG,radiusSubMenuItem:e.borderRadiusSM,subMenuItemBorderRadius:e.borderRadiusSM,colorItemText:i,itemColor:i,colorItemTextHover:i,itemHoverColor:i,colorItemTextHoverHorizontal:a,horizontalItemHoverColor:a,colorGroupTitle:d,groupTitleColor:d,colorItemTextSelected:a,itemSelectedColor:a,subMenuItemSelectedColor:a,colorItemTextSelectedHorizontal:a,horizontalItemSelectedColor:a,colorItemBg:s,itemBg:s,colorItemBgHover:f,itemHoverBg:f,colorItemBgActive:m,itemActiveBg:b,colorSubItemBg:u,subMenuItemBg:u,colorItemBgSelected:b,itemSelectedBg:b,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:j,colorActiveBarHeight:g,activeBarHeight:g,colorActiveBarBorderSize:p,activeBarBorderWidth:E,colorItemTextDisabled:r,itemDisabledColor:r,colorDangerItemText:c,dangerItemColor:c,colorDangerItemTextHover:c,dangerItemHoverColor:c,colorDangerItemTextSelected:c,dangerItemSelectedColor:c,colorDangerItemBgActive:l,dangerItemActiveBg:l,colorDangerItemBgSelected:l,dangerItemSelectedBg:l,itemMarginInline:z,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:v,groupTitleLineHeight:h,collapsedWidth:2*v,popupBg:y,itemMarginBlock:w,itemPaddingInline:I,horizontalLineHeight:"".concat(1.15*v,"px"),iconSize:x,iconMarginInlineEnd:C-x,collapsedIconSize:O,groupTitleFontSize:x,darkItemDisabledColor:new S.t(B).setA(.25).toRgbString(),darkItemColor:N,darkDangerItemColor:c,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:B,darkItemSelectedBg:a,darkDangerItemSelectedBg:c,darkItemHoverBg:"transparent",darkGroupTitleColor:N,darkItemHoverColor:B,darkDangerItemHoverColor:k,darkDangerItemSelectedColor:B,darkDangerItemActiveBg:c,itemWidth:j?"calc(100% + ".concat(E,"px)"):"calc(100% - ".concat(2*z,"px)")}};var W=n(62236),L=e=>{var t;let n;let{popupClassName:c,icon:r,title:l,theme:d}=e,u=o.useContext(b),{prefixCls:p,inlineCollapsed:g,theme:f}=u,v=(0,a.Xl)();if(r){let e=o.isValidElement(l)&&"span"===l.type;n=o.createElement(o.Fragment,null,(0,m.Tm)(r,{className:i()(o.isValidElement(r)?null===(t=r.props)||void 0===t?void 0:t.className:void 0,"".concat(p,"-item-icon"))}),e?l:o.createElement("span",{className:"".concat(p,"-title-content")},l))}else n=g&&!v.length&&l&&"string"==typeof l?o.createElement("div",{className:"".concat(p,"-inline-collapsed-noicon")},l.charAt(0)):o.createElement("span",{className:"".concat(p,"-title-content")},l);let h=o.useMemo(()=>Object.assign(Object.assign({},u),{firstLevel:!1}),[u]),[y]=(0,W.Cn)("Menu");return o.createElement(b.Provider,{value:h},o.createElement(a.Wd,Object.assign({},(0,s.Z)(e,["icon"]),{title:n,popupClassName:i()(p,c,"".concat(p,"-").concat(d||f)),popupStyle:Object.assign({zIndex:y},e.popupStyle)})))},G=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};function X(e){return null===e||!1===e}let _={item:w,submenu:L,divider:v},q=(0,o.forwardRef)((e,t)=>{var n;let c=o.useContext(I.Z),l=c||{},{getPrefixCls:f,getPopupContainer:v,direction:h,menu:y}=o.useContext(p.E_),w=f(),{prefixCls:x,className:S,style:C,theme:H="light",expandIcon:T,_internalDisableMenuItemTitleTooltip:Z,inlineCollapsed:A,siderCollapsed:W,rootClassName:L,mode:q,selectable:F,onClick:Y,overflowedIndicatorPopupClassName:V}=e,$=G(e,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),U=(0,s.Z)($,["collapsedWidth"]);null===(n=l.validator)||void 0===n||n.call(l,{mode:q});let J=(0,d.Z)(function(){for(var e,t=arguments.length,n=Array(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:e,n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,j.I$)("Menu",e=>{let{colorBgElevated:t,controlHeightLG:n,fontSize:o,darkItemColor:a,darkDangerItemColor:c,darkItemBg:r,darkSubMenuItemBg:l,darkItemSelectedColor:i,darkItemSelectedBg:d,darkDangerItemSelectedBg:s,darkItemHoverBg:u,darkGroupTitleColor:m,darkItemHoverColor:p,darkItemDisabledColor:g,darkDangerItemHoverColor:b,darkDangerItemSelectedColor:f,darkDangerItemActiveBg:v,popupBg:h,darkPopupBg:y}=e,w=e.calc(o).div(7).mul(5).equal(),I=(0,E.IX)(e,{menuArrowSize:w,menuHorizontalHeight:e.calc(n).mul(1.15).equal(),menuArrowOffset:e.calc(w).mul(.25).equal(),menuSubMenuBg:t,calc:e.calc,popupBg:h}),x=(0,E.IX)(I,{itemColor:a,itemHoverColor:p,groupTitleColor:m,itemSelectedColor:i,subMenuItemSelectedColor:i,itemBg:r,popupBg:y,subMenuItemBg:l,itemActiveBg:"transparent",itemSelectedBg:d,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:u,itemDisabledColor:g,dangerItemColor:c,dangerItemHoverColor:b,dangerItemSelectedColor:f,dangerItemActiveBg:v,dangerItemSelectedBg:s,menuSubMenuBg:l,horizontalItemSelectedColor:i,horizontalItemSelectedBg:d});return[M(I),z(I),P(I),R(I,"light"),R(x,"dark"),N(I),(0,O.Z)(I),(0,B.oN)(I,"slide-up"),(0,B.oN)(I,"slide-down"),(0,k._y)(I,"zoom-big")]},D,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(e,t)}(en,eo,!c),el=i()("".concat(en,"-").concat(H),null==y?void 0:y.className,S),ei=o.useMemo(()=>{var e,t;if("function"==typeof T||X(T))return T||null;if("function"==typeof l.expandIcon||X(l.expandIcon))return l.expandIcon||null;if("function"==typeof(null==y?void 0:y.expandIcon)||X(null==y?void 0:y.expandIcon))return(null==y?void 0:y.expandIcon)||null;let n=null!==(e=null!=T?T:null==l?void 0:l.expandIcon)&&void 0!==e?e:null==y?void 0:y.expandIcon;return(0,m.Tm)(n,{className:i()("".concat(en,"-submenu-expand-icon"),o.isValidElement(n)?null===(t=n.props)||void 0===t?void 0:t.className:void 0)})},[T,null==l?void 0:l.expandIcon,null==y?void 0:y.expandIcon,en]),ed=o.useMemo(()=>({prefixCls:en,inlineCollapsed:ee||!1,direction:h,firstLevel:!0,theme:H,mode:Q,disableMenuItemTitleTooltip:Z}),[en,ee,h,Z,H]);return ea(o.createElement(I.Z.Provider,{value:null},o.createElement(b.Provider,{value:ed},o.createElement(a.ZP,Object.assign({getPopupContainer:v,overflowedIndicator:o.createElement(r.Z,null),overflowedIndicatorPopupClassName:i()(en,"".concat(en,"-").concat(H),V),mode:Q,selectable:K,onClick:J},U,{inlineCollapsed:ee,style:Object.assign(Object.assign({},null==y?void 0:y.style),C),className:el,prefixCls:en,direction:h,defaultMotions:et,expandIcon:ei,ref:t,rootClassName:i()(L,ec,l.rootClassName,er,eo),_internalComponents:_})))))}),F=(0,o.forwardRef)((e,t)=>{let n=(0,o.useRef)(null),a=o.useContext(c.D);return(0,o.useImperativeHandle)(t,()=>({menu:n.current,focus:e=>{var t;null===(t=n.current)||void 0===t||t.focus(e)}})),o.createElement(q,Object.assign({ref:n},e,a))});F.Item=w,F.SubMenu=L,F.Divider=v,F.ItemGroup=a.BW;var Y=F},58760:function(e,t,n){n.d(t,{Z:function(){return B}});var o=n(2265),a=n(36760),c=n.n(a),r=n(45287);function l(e){return["small","middle","large"].includes(e)}function i(e){return!!e&&"number"==typeof e&&!Number.isNaN(e)}var d=n(71744),s=n(77685),u=n(17691),m=n(99320);let p=e=>{let{componentCls:t,borderRadius:n,paddingSM:o,colorBorder:a,paddingXS:c,fontSizeLG:r,fontSizeSM:l,borderRadiusLG:i,borderRadiusSM:d,colorBgContainerDisabled:s,lineWidth:m}=e;return{[t]:[{display:"inline-flex",alignItems:"center",gap:0,paddingInline:o,margin:0,background:s,borderWidth:m,borderStyle:"solid",borderColor:a,borderRadius:n,"&-large":{fontSize:r,borderRadius:i},"&-small":{paddingInline:c,borderRadius:d,fontSize:l},"&-compact-last-item":{borderEndStartRadius:0,borderStartStartRadius:0},"&-compact-first-item":{borderEndEndRadius:0,borderStartEndRadius:0},"&-compact-item:not(:first-child):not(:last-child)":{borderRadius:0},"&-compact-item:not(:last-child)":{borderInlineEndWidth:0}},(0,u.c)(e,{focus:!1})]}};var g=(0,m.I$)(["Space","Addon"],e=>[p(e)]),b=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let f=o.forwardRef((e,t)=>{let{className:n,children:a,style:r,prefixCls:l}=e,i=b(e,["className","children","style","prefixCls"]),{getPrefixCls:u,direction:m}=o.useContext(d.E_),p=u("space-addon",l),[f,v,h]=g(p),{compactItemClassnames:y,compactSize:w}=(0,s.ri)(p,m),I=c()(p,v,y,h,{["".concat(p,"-").concat(w)]:w},n);return f(o.createElement("div",Object.assign({ref:t,className:I,style:r},i),a))}),v=o.createContext({latestIndex:0}),h=v.Provider;var y=e=>{let{className:t,index:n,children:a,split:c,style:r}=e,{latestIndex:l}=o.useContext(v);return null==a?null:o.createElement(o.Fragment,null,o.createElement("div",{className:t,style:r},a),n{let{componentCls:t,antCls:n}=e;return{[t]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},["".concat(t,"-item:empty")]:{display:"none"},["".concat(t,"-item > ").concat(n,"-badge-not-a-wrapper:only-child")]:{display:"block"}}}},x=e=>{let{componentCls:t}=e;return{[t]:{"&-gap-row-small":{rowGap:e.spaceGapSmallSize},"&-gap-row-middle":{rowGap:e.spaceGapMiddleSize},"&-gap-row-large":{rowGap:e.spaceGapLargeSize},"&-gap-col-small":{columnGap:e.spaceGapSmallSize},"&-gap-col-middle":{columnGap:e.spaceGapMiddleSize},"&-gap-col-large":{columnGap:e.spaceGapLargeSize}}}};var S=(0,m.I$)("Space",e=>{let t=(0,w.IX)(e,{spaceGapSmallSize:e.paddingXS,spaceGapMiddleSize:e.padding,spaceGapLargeSize:e.paddingLG});return[I(t),x(t)]},()=>({}),{resetStyle:!1}),C=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let O=o.forwardRef((e,t)=>{var n;let{getPrefixCls:a,direction:s,size:u,className:m,style:p,classNames:g,styles:b}=(0,d.dj)("space"),{size:f=null!=u?u:"small",align:v,className:w,rootClassName:I,children:x,direction:O="horizontal",prefixCls:B,split:k,style:j,wrap:E=!1,classNames:z,styles:N}=e,H=C(e,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[R,T]=Array.isArray(f)?f:[f,f],P=l(T),Z=l(R),A=i(T),M=i(R),D=(0,r.Z)(x,{keepEmpty:!0}),W=void 0===v&&"horizontal"===O?"center":v,L=a("space",B),[G,X,_]=S(L),q=c()(L,m,X,"".concat(L,"-").concat(O),{["".concat(L,"-rtl")]:"rtl"===s,["".concat(L,"-align-").concat(W)]:W,["".concat(L,"-gap-row-").concat(T)]:P,["".concat(L,"-gap-col-").concat(R)]:Z},w,I,_),F=c()("".concat(L,"-item"),null!==(n=null==z?void 0:z.item)&&void 0!==n?n:g.item),Y=Object.assign(Object.assign({},b.item),null==N?void 0:N.item),V=D.map((e,t)=>{let n=(null==e?void 0:e.key)||"".concat(F,"-").concat(t);return o.createElement(y,{className:F,key:n,index:t,split:k,style:Y},e)}),$=o.useMemo(()=>({latestIndex:D.reduce((e,t,n)=>null!=t?n:e,0)}),[D]);if(0===D.length)return null;let U={};return E&&(U.flexWrap="wrap"),!Z&&M&&(U.columnGap=R),!P&&A&&(U.rowGap=T),G(o.createElement("div",Object.assign({ref:t,className:q,style:Object.assign(Object.assign(Object.assign({},U),p),j)},H),o.createElement(h,{value:$},V)))});O.Compact=s.ZP,O.Addon=f;var B=O},79205:function(e,t,n){n.d(t,{Z:function(){return u}});var o=n(2265);let a=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),r=e=>{let t=c(e);return t.charAt(0).toUpperCase()+t.slice(1)},l=function(){for(var e=arguments.length,t=Array(e),n=0;n!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()},i=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,o.forwardRef)((e,t)=>{let{color:n="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:r,className:s="",children:u,iconNode:m,...p}=e;return(0,o.createElement)("svg",{ref:t,...d,width:a,height:a,stroke:n,strokeWidth:r?24*Number(c)/Number(a):c,className:l("lucide",s),...!u&&!i(p)&&{"aria-hidden":"true"},...p},[...m.map(e=>{let[t,n]=e;return(0,o.createElement)(t,n)}),...Array.isArray(u)?u:[u]])}),u=(e,t)=>{let n=(0,o.forwardRef)((n,c)=>{let{className:i,...d}=n;return(0,o.createElement)(s,{ref:c,iconNode:t,className:l("lucide-".concat(a(r(e))),"lucide-".concat(e),i),...d})});return n.displayName=r(e),n}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/7140-937050711ba264d3.js b/litellm/proxy/_experimental/out/_next/static/chunks/7140-937050711ba264d3.js deleted file mode 100644 index 5381a575d6..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/7140-937050711ba264d3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7140],{46346:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z"}}]},name:"crown",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},40428:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z"}}]},name:"logout",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},91870:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z"}}]},name:"mail",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},45524:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 000 13.8z"}}]},name:"menu-fold",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},83884:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 000-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0014.4 7z"}}]},name:"menu-unfold",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},57400:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z"}},{tag:"path",attrs:{d:"M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z"}}]},name:"safety",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},15883:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},79205:function(e,t,n){n.d(t,{Z:function(){return f}});var r=n(2265);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),i=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},u=function(){for(var e=arguments.length,t=Array(e),n=0;n!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()},l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,r.forwardRef)((e,t)=>{let{color:n="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:s="",children:f,iconNode:d,...p}=e;return(0,r.createElement)("svg",{ref:t,...c,width:o,height:o,stroke:n,strokeWidth:i?24*Number(a)/Number(o):a,className:u("lucide",s),...!f&&!l(p)&&{"aria-hidden":"true"},...p},[...d.map(e=>{let[t,n]=e;return(0,r.createElement)(t,n)}),...Array.isArray(f)?f:[f]])}),f=(e,t)=>{let n=(0,r.forwardRef)((n,a)=>{let{className:l,...c}=n;return(0,r.createElement)(s,{ref:a,iconNode:t,className:u("lucide-".concat(o(i(e))),"lucide-".concat(e),l),...c})});return n.displayName=i(e),n}},27648:function(e,t,n){n.d(t,{default:function(){return o.a}});var r=n(72972),o=n.n(r)},55449:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return r}}),n(33068);let r=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;ra?e.prefetch(t,o):e.prefetch(t,n,r))().catch(e=>{})}}function R(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let v=a.default.forwardRef(function(e,t){let n,r;let{href:l,as:_,children:v,prefetch:y=null,passHref:S,replace:b,shallow:P,scroll:A,locale:O,onClick:N,onMouseEnter:T,onTouchStart:I,legacyBehavior:C=!1,...x}=e;n=v,C&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let w=a.default.useContext(f.RouterContext),M=a.default.useContext(d.AppRouterContext),L=null!=w?w:M,j=!w,D=!1!==y,U=null===y?g.PrefetchKind.AUTO:g.PrefetchKind.FULL,{href:k,as:H}=a.default.useMemo(()=>{if(!w){let e=R(l);return{href:e,as:_?R(_):e}}let[e,t]=(0,i.resolveHref)(w,l,!0);return{href:e,as:_?(0,i.resolveHref)(w,_):t||e}},[w,l,_]),z=a.default.useRef(k),F=a.default.useRef(H);C&&(r=a.default.Children.only(n));let X=C?r&&"object"==typeof r&&r.ref:t,[W,B,G]=(0,p.useIntersection)({rootMargin:"200px"}),Z=a.default.useCallback(e=>{(F.current!==H||z.current!==k)&&(G(),F.current=H,z.current=k),W(e),X&&("function"==typeof X?X(e):"object"==typeof X&&(X.current=e))},[H,X,k,G,W]);a.default.useEffect(()=>{L&&B&&D&&E(L,k,H,{locale:O},{kind:U},j)},[H,k,B,O,D,null==w?void 0:w.locale,L,j,U]);let V={ref:Z,onClick(e){C||"function"!=typeof N||N(e),C&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),L&&!e.defaultPrevented&&function(e,t,n,r,o,i,l,c,s){let{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!s&&!(0,u.isLocalURL)(n)))return;e.preventDefault();let d=()=>{let e=null==l||l;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:i,locale:c,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};s?a.default.startTransition(d):d()}(e,L,k,H,b,P,A,O,j)},onMouseEnter(e){C||"function"!=typeof T||T(e),C&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),L&&(D||!j)&&E(L,k,H,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:U},j)},onTouchStart:function(e){C||"function"!=typeof I||I(e),C&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),L&&(D||!j)&&E(L,k,H,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:U},j)}};if((0,c.isAbsoluteUrl)(H))V.href=H;else if(!C||S||"a"===r.type&&!("href"in r.props)){let e=void 0!==O?O:null==w?void 0:w.locale,t=(null==w?void 0:w.isLocaleDomain)&&(0,h.getDomainLocale)(H,e,null==w?void 0:w.locales,null==w?void 0:w.domainLocales);V.href=t||(0,m.addBasePath)((0,s.addLocale)(H,e,null==w?void 0:w.defaultLocale))}return C?a.default.cloneElement(r,V):(0,o.jsx)("a",{...x,...V,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63515:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},25246:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let r=n(48637),o=n(57497),a=n(17053),i=n(3987),u=n(33068),l=n(53552),c=n(86279),s=n(37205);function f(e,t,n){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,l.isLocalURL)(d))return n?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,c.isDynamicRoute)(e.pathname)&&e.searchParams&&n){let n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:i,params:u}=(0,s.interpolateAs)(e.pathname,e.pathname,n);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(n,u)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return n?[i,t||i]:i}catch(e){return n?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},16081:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let r=n(2265),o=n(63515),a="function"==typeof IntersectionObserver,i=new Map,u=[];function l(e){let{rootRef:t,rootMargin:n,disabled:l}=e,c=l||!a,[s,f]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(a){if(c||s)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:a}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=u.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=i.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},u.push(n),i.set(n,t),t}(n);return a.set(e,t),o.observe(e),function(){if(a.delete(e),o.unobserve(e),0===a.size){o.disconnect(),i.delete(r);let e=u.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&u.splice(e,1)}}}(e,e=>e&&f(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!s){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[c,n,t,s,d.current]),[p,s,(0,r.useCallback)(()=>{f(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19259:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_SUFFIX:function(){return l},APP_DIR_ALIAS:function(){return N},CACHE_ONE_YEAR:function(){return v},DOT_NEXT_ALIAS:function(){return A},ESLINT_DEFAULT_DIRS:function(){return G},GSP_NO_RETURNED_VALUE:function(){return H},GSSP_COMPONENT_MEMBER_ERROR:function(){return X},GSSP_NO_RETURNED_VALUE:function(){return z},INSTRUMENTATION_HOOK_FILENAME:function(){return b},MIDDLEWARE_FILENAME:function(){return y},MIDDLEWARE_LOCATION_REGEXP:function(){return S},NEXT_BODY_SUFFIX:function(){return f},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return R},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return m},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return E},NEXT_CACHE_TAGS_HEADER:function(){return d},NEXT_CACHE_TAG_MAX_ITEMS:function(){return g},NEXT_CACHE_TAG_MAX_LENGTH:function(){return _},NEXT_DATA_SUFFIX:function(){return c},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return r},NEXT_META_SUFFIX:function(){return s},NEXT_QUERY_PARAM_PREFIX:function(){return n},NON_STANDARD_NODE_ENV:function(){return W},PAGES_DIR_ALIAS:function(){return P},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return M},ROOT_DIR_ALIAS:function(){return O},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return w},RSC_ACTION_ENCRYPTION_ALIAS:function(){return x},RSC_ACTION_PROXY_ALIAS:function(){return C},RSC_ACTION_VALIDATE_ALIAS:function(){return I},RSC_MOD_REF_PROXY_ALIAS:function(){return T},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return u},SERVER_PROPS_EXPORT_ERROR:function(){return k},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return j},SERVER_PROPS_SSG_CONFLICT:function(){return D},SERVER_RUNTIME:function(){return Z},SSG_FALLBACK_EXPORT_ERROR:function(){return B},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return L},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return U},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return F},WEBPACK_LAYERS:function(){return Y},WEBPACK_RESOURCE_QUERIES:function(){return K}});let n="nxtP",r="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",u=".rsc",l=".action",c=".json",s=".meta",f=".body",d="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",m="x-next-revalidate-tag-token",g=128,_=256,E=1024,R="_N_T_",v=31536e3,y="middleware",S=`(?:src/)?${y}`,b="instrumentation",P="private-next-pages",A="private-dot-next",O="private-next-root-dir",N="private-next-app-dir",T="private-next-rsc-mod-ref-proxy",I="private-next-rsc-action-validate",C="private-next-rsc-server-reference",x="private-next-rsc-action-encryption",w="private-next-rsc-action-client-wrapper",M="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",L="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",j="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",D="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",U="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",k="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",H="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",z="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",F="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",X="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",W='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',B="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",G=["app","pages","components","lib","src"],Z={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},V={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},Y={...V,GROUP:{serverOnly:[V.reactServerComponents,V.actionBrowser,V.appMetadataRoute,V.appRouteHandler,V.instrument],clientOnly:[V.serverSideRendering,V.appPagesBrowser],nonClientServerTarget:[V.middleware,V.api],app:[V.reactServerComponents,V.actionBrowser,V.appMetadataRoute,V.appRouteHandler,V.serverSideRendering,V.appPagesBrowser,V.shared,V.instrument]}},K={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},90042:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let n=/[|\\{}()[\]^$+*?.-]/,r=/[|\\{}()[\]^$+*?.-]/g;function o(e){return n.test(e)?e.replace(r,"\\$&"):e}},25523:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext(null)},57497:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});let r=n(53099)._(n(48637)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:n}=e,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(r.urlQueryToSearchParams(l)));let s=e.search||l&&"?"+l||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),i&&"/"!==i[0]&&(i="/"+i)):c||(c=""),u&&"#"!==u[0]&&(u="#"+u),s&&"?"!==s[0]&&(s="?"+s),""+a+c+(i=i.replace(/[?#]/g,encodeURIComponent))+(s=s.replace("#","%23"))+u}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},86279:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let r=n(14777),o=n(38104)},37205:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let r=n(4199),o=n(9964);function a(e,t,n){let a="",i=(0,o.getRouteRegex)(e),u=i.groups,l=(t!==e?(0,r.getRouteMatcher)(i)(t):"")||n;a=e;let c=Object.keys(u);return c.every(e=>{let t=l[e]||"",{repeat:n,optional:r}=u[e],o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in l)&&(a=a.replace(o,n?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:c,result:a}}},38104:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let r=n(91182),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},53552:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let r=n(3987),o=n(11283);function a(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},17053:function(e,t){function n(e,t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},48637:function(e,t){function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}})},4199:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let r=n(3987);function o(e){let{re:t,groups:n}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},i={};return Object.keys(n).forEach(e=>{let t=n[e],r=o[t.pos];void 0!==r&&(i[e]=~r.indexOf("/")?r.split("/").map(e=>a(e)):t.repeat?[a(r)]:a(r))}),i}}},9964:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return d},getRouteRegex:function(){return c},parseParameter:function(){return u}});let r=n(19259),o=n(91182),a=n(90042),i=n(26674);function u(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function l(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={},r=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:o,repeat:l}=u(i[1]);return n[e]={pos:r++,repeat:l,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=u(i[1]);return n[e]={pos:r++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:n}}function c(e){let{parameterizedRoute:t,groups:n}=l(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:n}}function s(e){let{interceptionMarker:t,getSafeRouteKey:n,segment:r,routeKeys:o,keyPrefix:i}=e,{key:l,optional:c,repeat:s}=u(r),f=l.replace(/\W/g,"");i&&(f=""+i+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=n()),i?o[f]=""+i+l:o[f]=l;let p=t?(0,a.escapeStringRegexp)(t):"";return s?c?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function f(e,t){let n;let u=(0,i.removeTrailingSlash)(e).slice(1).split("/"),l=(n=0,()=>{let e="",t=++n;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),c={};return{namedParameterizedRoute:u.map(e=>{let n=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(n&&i){let[n]=e.split(i[0]);return s({getSafeRouteKey:l,interceptionMarker:n,segment:i[1],routeKeys:c,keyPrefix:t?r.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?s({getSafeRouteKey:l,segment:i[1],routeKeys:c,keyPrefix:t?r.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:c}}function d(e,t){let n=f(e,t);return{...c(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function p(e,t){let{parameterizedRoute:n}=l(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};let{namedParameterizedRoute:o}=f(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},14777:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let n=o.slice(1,-1),i=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),i=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function a(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,n),this.optionalRestSlugName=n,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,n),this.restSlugName=n,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,n),this.slugName=n,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},3987:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return _},NormalizeError:function(){return m},PageNotFoundError:function(){return g},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return l},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return a},isResSent:function(){return c},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return s},stringifyError:function(){return R}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function s(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&c(n))return r;if(!r)throw Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class m extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class _ extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function R(e){return JSON.stringify({message:e.message,stack:e.stack})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/7526-ab47cb48a5195ec6.js b/litellm/proxy/_experimental/out/_next/static/chunks/7526-fb065faf5cf04772.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/7526-ab47cb48a5195ec6.js rename to litellm/proxy/_experimental/out/_next/static/chunks/7526-fb065faf5cf04772.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/7641-6613f1d24df5049d.js b/litellm/proxy/_experimental/out/_next/static/chunks/7641-c24fc7cf92d8a6c5.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/7641-6613f1d24df5049d.js rename to litellm/proxy/_experimental/out/_next/static/chunks/7641-c24fc7cf92d8a6c5.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/7685-6ed8af603a89fd74.js b/litellm/proxy/_experimental/out/_next/static/chunks/7685-6ed8af603a89fd74.js new file mode 100644 index 0000000000..c7416c6a10 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/7685-6ed8af603a89fd74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7685,1623],{30150:function(e,t,r){r.d(t,{Z:function(){return h}});var n=r(5853),s=r(2265);let a=e=>{var t=(0,n._T)(e,[]);return s.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),s.createElement("path",{d:"M12 4v16m8-8H4"}))},i=e=>{var t=(0,n._T)(e,[]);return s.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),s.createElement("path",{d:"M20 12H4"}))};var o=r(13241),u=r(1153),l=r(69262);let c="flex mx-auto text-tremor-content-subtle dark:text-dark-tremor-content-subtle",d="cursor-pointer hover:text-tremor-content dark:hover:text-dark-tremor-content",h=s.forwardRef((e,t)=>{let{onSubmit:r,enableStepper:h=!0,disabled:p,onValueChange:f,onChange:m}=e,y=(0,n._T)(e,["onSubmit","enableStepper","disabled","onValueChange","onChange"]),g=(0,s.useRef)(null),[b,v]=s.useState(!1),x=s.useCallback(()=>{v(!0)},[]),w=s.useCallback(()=>{v(!1)},[]),[E,C]=s.useState(!1),k=s.useCallback(()=>{C(!0)},[]),P=s.useCallback(()=>{C(!1)},[]);return s.createElement(l.Z,Object.assign({type:"number",ref:(0,u.lq)([g,t]),disabled:p,makeInputClassName:(0,u.fn)("NumberInput"),onKeyDown:e=>{var t;if("Enter"===e.key&&!e.ctrlKey&&!e.altKey&&!e.shiftKey){let e=null===(t=g.current)||void 0===t?void 0:t.value;null==r||r(parseFloat(null!=e?e:""))}"ArrowDown"===e.key&&x(),"ArrowUp"===e.key&&k()},onKeyUp:e=>{"ArrowDown"===e.key&&w(),"ArrowUp"===e.key&&P()},onChange:e=>{p||(null==f||f(parseFloat(e.target.value)),null==m||m(e))},stepper:h?s.createElement("div",{className:(0,o.q)("flex justify-center align-middle")},s.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;p||(null===(e=g.current)||void 0===e||e.stepDown(),null===(t=g.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,o.q)(!p&&d,c,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},s.createElement(i,{"data-testid":"step-down",className:(b?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"})),s.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;p||(null===(e=g.current)||void 0===e||e.stepUp(),null===(t=g.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,o.q)(!p&&d,c,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},s.createElement(a,{"data-testid":"step-up",className:(E?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"}))):null},y))});h.displayName="NumberInput"},16853:function(e,t,r){r.d(t,{Z:function(){return c}});var n=r(5853),s=r(96398),a=r(44140),i=r(2265),o=r(13241),u=r(1153);let l=(0,u.fn)("Textarea"),c=i.forwardRef((e,t)=>{let{value:r,defaultValue:c="",placeholder:d="Type...",error:h=!1,errorMessage:p,disabled:f=!1,className:m,onChange:y,onValueChange:g,autoHeight:b=!1}=e,v=(0,n._T)(e,["value","defaultValue","placeholder","error","errorMessage","disabled","className","onChange","onValueChange","autoHeight"]),[x,w]=(0,a.Z)(c,r),E=(0,i.useRef)(null),C=(0,s.Uh)(x);return(0,i.useEffect)(()=>{let e=E.current;if(b&&e){e.style.height="60px";let t=e.scrollHeight;e.style.height=t+"px"}},[b,E,x]),i.createElement(i.Fragment,null,i.createElement("textarea",Object.assign({ref:(0,u.lq)([E,t]),value:x,placeholder:d,disabled:f,className:(0,o.q)(l("Textarea"),"w-full flex items-center outline-none rounded-tremor-default px-3 py-2 text-tremor-default focus:ring-2 transition duration-100 border","shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:shadow-dark-tremor-input focus:dark:border-dark-tremor-brand-subtle focus:dark:ring-dark-tremor-brand-muted",(0,s.um)(C,f,h),f?"placeholder:text-tremor-content-subtle dark:placeholder:text-dark-tremor-content-subtle":"placeholder:text-tremor-content dark:placeholder:text-dark-tremor-content",m),"data-testid":"text-area",onChange:e=>{null==y||y(e),w(e.target.value),null==g||g(e.target.value)}},v)),h&&p?i.createElement("p",{className:(0,o.q)(l("errorMessage"),"text-sm text-red-500 mt-1")},p):null)});c.displayName="Textarea"},87452:function(e,t,r){r.d(t,{Z:function(){return d},r:function(){return c}});var n=r(5853),s=r(91054);r(42698),r(64016);var a=r(8710);r(33232);var i=r(13241),o=r(1153),u=r(2265);let l=(0,o.fn)("Accordion"),c=(0,u.createContext)({isOpen:!1}),d=u.forwardRef((e,t)=>{var r;let{defaultOpen:o=!1,children:d,className:h}=e,p=(0,n._T)(e,["defaultOpen","children","className"]),f=null!==(r=(0,u.useContext)(a.Z))&&void 0!==r?r:(0,i.q)("rounded-tremor-default border");return u.createElement(s.pJ,Object.assign({as:"div",ref:t,className:(0,i.q)(l("root"),"overflow-hidden","bg-tremor-background border-tremor-border","dark:bg-dark-tremor-background dark:border-dark-tremor-border",f,h),defaultOpen:o},p),e=>{let{open:t}=e;return u.createElement(c.Provider,{value:{isOpen:t}},d)})});d.displayName="Accordion"},88829:function(e,t,r){r.d(t,{Z:function(){return u}});var n=r(5853),s=r(2265),a=r(91054),i=r(13241);let o=(0,r(1153).fn)("AccordionBody"),u=s.forwardRef((e,t)=>{let{children:r,className:u}=e,l=(0,n._T)(e,["children","className"]);return s.createElement(a.pJ.Panel,Object.assign({ref:t,className:(0,i.q)(o("root"),"w-full text-tremor-default px-4 pb-3","text-tremor-content","dark:text-dark-tremor-content",u)},l),r)});u.displayName="AccordionBody"},72208:function(e,t,r){r.d(t,{Z:function(){return c}});var n=r(5853),s=r(2265),a=r(91054);let i=e=>{var t=(0,n._T)(e,[]);return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),s.createElement("path",{d:"M11.9999 10.8284L7.0502 15.7782L5.63599 14.364L11.9999 8L18.3639 14.364L16.9497 15.7782L11.9999 10.8284Z"}))};var o=r(87452),u=r(13241);let l=(0,r(1153).fn)("AccordionHeader"),c=s.forwardRef((e,t)=>{let{children:r,className:c}=e,d=(0,n._T)(e,["children","className"]),{isOpen:h}=(0,s.useContext)(o.r);return s.createElement(a.pJ.Button,Object.assign({ref:t,className:(0,u.q)(l("root"),"w-full flex items-center justify-between px-4 py-3","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis",c)},d),s.createElement("div",{className:(0,u.q)(l("children"),"flex flex-1 text-inherit mr-4")},r),s.createElement("div",null,s.createElement(i,{className:(0,u.q)(l("arrowIcon"),"h-5 w-5 -mr-1","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle",h?"transition-all":"transition-all -rotate-180")})))});c.displayName="AccordionHeader"},67982:function(e,t,r){r.d(t,{Z:function(){return u}});var n=r(5853),s=r(13241),a=r(1153),i=r(2265);let o=(0,a.fn)("Divider"),u=i.forwardRef((e,t)=>{let{className:r,children:a}=e,u=(0,n._T)(e,["className","children"]);return i.createElement("div",Object.assign({ref:t,className:(0,s.q)(o("root"),"w-full mx-auto my-6 flex justify-between gap-3 items-center text-tremor-default","text-tremor-content","dark:text-dark-tremor-content",r)},u),a?i.createElement(i.Fragment,null,i.createElement("div",{className:(0,s.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")}),i.createElement("div",{className:(0,s.q)("text-inherit whitespace-nowrap")},a),i.createElement("div",{className:(0,s.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")})):i.createElement("div",{className:(0,s.q)("w-full h-[1px] bg-tremor-border dark:bg-dark-tremor-border")}))});u.displayName="Divider"},23628:function(e,t,r){var n=r(2265);let s=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});t.Z=s},2894:function(e,t,r){r.d(t,{R:function(){return o},m:function(){return i}});var n=r(18238),s=r(7989),a=r(11255),i=class extends s.F{#e;#t;#r;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||o(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#s({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=(0,a.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#s({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#s({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let n="pending"===this.state.status,s=!this.#n.canStart();try{if(n)t();else{this.#s({type:"pending",variables:e,isPaused:s}),await this.#r.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#s({type:"pending",context:t,variables:e,isPaused:s})}let a=await this.#n.start();return await this.#r.config.onSuccess?.(a,e,this.state.context,this,r),await this.options.onSuccess?.(a,e,this.state.context,r),await this.#r.config.onSettled?.(a,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(a,null,e,this.state.context,r),this.#s({type:"success",data:a}),a}catch(t){try{throw await this.#r.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#s({type:"error",error:t})}}finally{this.#r.runNext(this)}}#s(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21623:function(e,t,r){r.d(t,{S:function(){return m}});var n=r(45345),s=r(21733),a=r(18238),i=r(24112),o=class extends i.l{constructor(e={}){super(),this.config=e,this.#a=new Map}#a;build(e,t,r){let a=t.queryKey,i=t.queryHash??(0,n.Rm)(a,t),o=this.get(i);return o||(o=new s.A({client:e,queryKey:a,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(a)}),this.add(o)),o}add(e){this.#a.has(e.queryHash)||(this.#a.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#a.get(e.queryHash);t&&(e.destroy(),t===e&&this.#a.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){a.Vr.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#a.get(e)}getAll(){return[...this.#a.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n._x)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n._x)(e,t)):t}notify(e){a.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){a.Vr.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){a.Vr.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},u=r(2894),l=class extends i.l{constructor(e={}){super(),this.config=e,this.#i=new Set,this.#o=new Map,this.#u=0}#i;#o;#u;build(e,t,r){let n=new u.m({client:e,mutationCache:this,mutationId:++this.#u,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#i.add(e);let t=c(e);if("string"==typeof t){let r=this.#o.get(t);r?r.push(e):this.#o.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#i.delete(e)){let t=c(e);if("string"==typeof t){let r=this.#o.get(t);if(r){if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#o.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=c(e);if("string"!=typeof t)return!0;{let r=this.#o.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=c(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#o.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){a.Vr.batch(()=>{this.#i.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#i.clear(),this.#o.clear()})}getAll(){return Array.from(this.#i)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.X7)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.X7)(e,t))}notify(e){a.Vr.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return a.Vr.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.ZT))))}};function c(e){return e.options.scope?.id}var d=r(87045),h=r(57853);function p(e){return{onFetch:(t,r)=>{let s=t.options,a=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],o=t.state.data?.pageParams||[],u={pages:[],pageParams:[]},l=0,c=async()=>{let r=!1,c=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)})},d=(0,n.cG)(t.options,t.fetchOptions),h=async(e,s,a)=>{if(r)return Promise.reject();if(null==s&&e.pages.length)return Promise.resolve(e);let i=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:s,direction:a?"backward":"forward",meta:t.options.meta};return c(e),e})(),o=await d(i),{maxPages:u}=t.options,l=a?n.Ht:n.VX;return{pages:l(e.pages,o,u),pageParams:l(e.pageParams,s,u)}};if(a&&i.length){let e="backward"===a,t={pages:i,pageParams:o},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:f)(s,t);u=await h(t,r,e)}else{let t=e??i.length;do{let e=0===l?o[0]??s.initialPageParam:f(s,u);if(l>0&&null==e)break;u=await h(u,e),l++}while(lt.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=c}}}function f(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var m=class{#l;#r;#c;#d;#h;#p;#f;#m;constructor(e={}){this.#l=e.queryCache||new o,this.#r=e.mutationCache||new l,this.#c=e.defaultOptions||{},this.#d=new Map,this.#h=new Map,this.#p=0}mount(){this.#p++,1===this.#p&&(this.#f=d.j.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#l.onFocus())}),this.#m=h.N.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#l.onOnline())}))}unmount(){this.#p--,0===this.#p&&(this.#f?.(),this.#f=void 0,this.#m?.(),this.#m=void 0)}isFetching(e){return this.#l.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#r.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#l.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#l.build(this,t),s=r.state.data;return void 0===s?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.KC)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return this.#l.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let s=this.defaultQueryOptions({queryKey:e}),a=this.#l.get(s.queryHash),i=a?.state.data,o=(0,n.SE)(t,i);if(void 0!==o)return this.#l.build(this,s).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return a.Vr.batch(()=>this.#l.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#l.get(t.queryHash)?.state}removeQueries(e){let t=this.#l;a.Vr.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#l;return a.Vr.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(a.Vr.batch(()=>this.#l.findAll(e).map(e=>e.cancel(r)))).then(n.ZT).catch(n.ZT)}invalidateQueries(e,t={}){return a.Vr.batch(()=>(this.#l.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(a.Vr.batch(()=>this.#l.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.ZT)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.ZT)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#l.build(this,t);return r.isStaleByTime((0,n.KC)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.ZT).catch(n.ZT)}fetchInfiniteQuery(e){return e.behavior=p(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.ZT).catch(n.ZT)}ensureInfiniteQueryData(e){return e.behavior=p(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return h.N.isOnline()?this.#r.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#l}getMutationCache(){return this.#r}getDefaultOptions(){return this.#c}setDefaultOptions(e){this.#c=e}setQueryDefaults(e,t){this.#d.set((0,n.Ym)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#d.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#h.set((0,n.Ym)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#h.values()],r={};return t.forEach(t=>{(0,n.to)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#c.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.Rm)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.CN&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#c.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#l.clear(),this.#r.clear()}}},19616:function(e,t,r){r.d(t,{G:function(){return i}});var n=r(2265);let s={enabled:!0,leading:!1,trailing:!0,wait:0,onExecute:()=>{}};class a{constructor(e,t){this.fn=e,this._canLeadingExecute=!0,this._isPending=!1,this._executionCount=0,this._options={...s,...t}}setOptions(e){return this._options={...this._options,...e},this._options.enabled||(this._isPending=!1),this._options}getOptions(){return this._options}maybeExecute(...e){this._options.leading&&this._canLeadingExecute&&(this.executeFunction(...e),this._canLeadingExecute=!1),(this._options.leading||this._options.trailing)&&(this._isPending=!0),this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=setTimeout(()=>{this._canLeadingExecute=!0,this._isPending=!1,this._options.trailing&&this.executeFunction(...e)},this._options.wait)}executeFunction(...e){this._options.enabled&&(this.fn(...e),this._executionCount++,this._options.onExecute(this))}cancel(){this._timeoutId&&(clearTimeout(this._timeoutId),this._canLeadingExecute=!0,this._isPending=!1)}getExecutionCount(){return this._executionCount}getIsPending(){return this._options.enabled&&this._isPending}}function i(e,t){let[r,s]=(0,n.useState)(e),i=function(e,t){let[r]=(0,n.useState)(()=>{var r;return Object.getOwnPropertyNames(Object.getPrototypeOf(r=new a(e,t))).filter(e=>"function"==typeof r[e]).reduce((e,t)=>{let n=r[t];return"function"==typeof n&&(e[t]=n.bind(r)),e},{})});return r.setOptions(t),r}(s,t);return[r,i.maybeExecute,i]}},91054:function(e,t,r){let n,s;r.d(t,{pJ:function(){return N}});var a,i=r(71049),o=r(11323),u=r(2265),l=r(66797),c=r(93980),d=r(65573),h=r(67561),p=r(98218),f=r(33443),m=r(28294),y=r(31370),g=r(72468),b=r(5664),v=r(38929);let x=null!=(a=u.startTransition)?a:function(e){e()};var w=r(52724),E=((n=E||{})[n.Open=0]="Open",n[n.Closed=1]="Closed",n),C=((s=C||{})[s.ToggleDisclosure=0]="ToggleDisclosure",s[s.CloseDisclosure=1]="CloseDisclosure",s[s.SetButtonId=2]="SetButtonId",s[s.SetPanelId=3]="SetPanelId",s[s.SetButtonElement=4]="SetButtonElement",s[s.SetPanelElement=5]="SetPanelElement",s);let k={0:e=>({...e,disclosureState:(0,g.E)(e.disclosureState,{0:1,1:0})}),1:e=>1===e.disclosureState?e:{...e,disclosureState:1},2:(e,t)=>e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId},3:(e,t)=>e.panelId===t.panelId?e:{...e,panelId:t.panelId},4:(e,t)=>e.buttonElement===t.element?e:{...e,buttonElement:t.element},5:(e,t)=>e.panelElement===t.element?e:{...e,panelElement:t.element}},P=(0,u.createContext)(null);function O(e){let t=(0,u.useContext)(P);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,O),t}return t}P.displayName="DisclosureContext";let q=(0,u.createContext)(null);q.displayName="DisclosureAPIContext";let D=(0,u.createContext)(null);function S(e,t){return(0,g.E)(t.type,k,e,t)}D.displayName="DisclosurePanelContext";let T=u.Fragment,_=v.VN.RenderStrategy|v.VN.Static,N=Object.assign((0,v.yV)(function(e,t){let{defaultOpen:r=!1,...n}=e,s=(0,u.useRef)(null),a=(0,h.T)(t,(0,h.h)(e=>{s.current=e},void 0===e.as||e.as===u.Fragment)),i=(0,u.useReducer)(S,{disclosureState:r?0:1,buttonElement:null,panelElement:null,buttonId:null,panelId:null}),[{disclosureState:o,buttonId:l},d]=i,p=(0,c.z)(e=>{d({type:1});let t=(0,b.r)(s);if(!t||!l)return;let r=e?e instanceof HTMLElement?e:e.current instanceof HTMLElement?e.current:t.getElementById(l):t.getElementById(l);null==r||r.focus()}),y=(0,u.useMemo)(()=>({close:p}),[p]),x=(0,u.useMemo)(()=>({open:0===o,close:p}),[o,p]),w=(0,v.L6)();return u.createElement(P.Provider,{value:i},u.createElement(q.Provider,{value:y},u.createElement(f.Z,{value:p},u.createElement(m.up,{value:(0,g.E)(o,{0:m.ZM.Open,1:m.ZM.Closed})},w({ourProps:{ref:a},theirProps:n,slot:x,defaultTag:T,name:"Disclosure"})))))}),{Button:(0,v.yV)(function(e,t){let r=(0,u.useId)(),{id:n="headlessui-disclosure-button-".concat(r),disabled:s=!1,autoFocus:a=!1,...p}=e,[f,m]=O("Disclosure.Button"),g=(0,u.useContext)(D),b=null!==g&&g===f.panelId,x=(0,u.useRef)(null),E=(0,h.T)(x,t,(0,c.z)(e=>{if(!b)return m({type:4,element:e})}));(0,u.useEffect)(()=>{if(!b)return m({type:2,buttonId:n}),()=>{m({type:2,buttonId:null})}},[n,m,b]);let C=(0,c.z)(e=>{var t;if(b){if(1===f.disclosureState)return;switch(e.key){case w.R.Space:case w.R.Enter:e.preventDefault(),e.stopPropagation(),m({type:0}),null==(t=f.buttonElement)||t.focus()}}else switch(e.key){case w.R.Space:case w.R.Enter:e.preventDefault(),e.stopPropagation(),m({type:0})}}),k=(0,c.z)(e=>{e.key===w.R.Space&&e.preventDefault()}),P=(0,c.z)(e=>{var t;(0,y.P)(e.currentTarget)||s||(b?(m({type:0}),null==(t=f.buttonElement)||t.focus()):m({type:0}))}),{isFocusVisible:q,focusProps:S}=(0,i.F)({autoFocus:a}),{isHovered:T,hoverProps:_}=(0,o.X)({isDisabled:s}),{pressed:N,pressProps:I}=(0,l.x)({disabled:s}),M=(0,u.useMemo)(()=>({open:0===f.disclosureState,hover:T,active:N,disabled:s,focus:q,autofocus:a}),[f,T,N,q,s,a]),A=(0,d.f)(e,f.buttonElement),Q=b?(0,v.dG)({ref:E,type:A,disabled:s||void 0,autoFocus:a,onKeyDown:C,onClick:P},S,_,I):(0,v.dG)({ref:E,id:n,type:A,"aria-expanded":0===f.disclosureState,"aria-controls":f.panelElement?f.panelId:void 0,disabled:s||void 0,autoFocus:a,onKeyDown:C,onKeyUp:k,onClick:P},S,_,I);return(0,v.L6)()({ourProps:Q,theirProps:p,slot:M,defaultTag:"button",name:"Disclosure.Button"})}),Panel:(0,v.yV)(function(e,t){let r=(0,u.useId)(),{id:n="headlessui-disclosure-panel-".concat(r),transition:s=!1,...a}=e,[i,o]=O("Disclosure.Panel"),{close:l}=function e(t){let r=(0,u.useContext)(q);if(null===r){let r=Error("<".concat(t," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(r,e),r}return r}("Disclosure.Panel"),[d,f]=(0,u.useState)(null),y=(0,h.T)(t,(0,c.z)(e=>{x(()=>o({type:5,element:e}))}),f);(0,u.useEffect)(()=>(o({type:3,panelId:n}),()=>{o({type:3,panelId:null})}),[n,o]);let g=(0,m.oJ)(),[b,w]=(0,p.Y)(s,d,null!==g?(g&m.ZM.Open)===m.ZM.Open:0===i.disclosureState),E=(0,u.useMemo)(()=>({open:0===i.disclosureState,close:l}),[i.disclosureState,l]),C={ref:y,id:n,...(0,p.X)(w)},k=(0,v.L6)();return u.createElement(m.uu,null,u.createElement(D.Provider,{value:i.panelId},k({ourProps:C,theirProps:a,slot:E,defaultTag:"div",features:_,visible:b,name:"Disclosure.Panel"})))})})},33443:function(e,t,r){r.d(t,{Z:function(){return a}});var n=r(2265);let s=(0,n.createContext)(()=>{});function a(e){let{value:t,children:r}=e;return n.createElement(s.Provider,{value:t},r)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/7975-39f70ddf71d76c23.js b/litellm/proxy/_experimental/out/_next/static/chunks/7975-eda86d953898c390.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/7975-39f70ddf71d76c23.js rename to litellm/proxy/_experimental/out/_next/static/chunks/7975-eda86d953898c390.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8049-68c6cf5a8366c026.js b/litellm/proxy/_experimental/out/_next/static/chunks/8049-68c6cf5a8366c026.js deleted file mode 100644 index 2d9810b396..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/8049-68c6cf5a8366c026.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8049],{31283:function(e,t,o){o.d(t,{o:function(){return a.Z}});var a=o(49566)},63610:function(e,t,o){o.d(t,{d:function(){return g}});var a=o(57437),r=o(2265),n=o(4260),c=o(37592),l=o(19015),i=o(10032),s=o(31283),d=o(15424),u=o(99981),h=o(19250),p=o(9309);let g=["metadata","config","enforced_params","aliases"],f=(e,t)=>g.includes(e)||"json"===t.format,m=e=>{if(!e)return!0;try{return JSON.parse(e),!0}catch(e){return!1}},w=(e,t,o)=>{let a={max_budget:"Enter maximum budget in USD (e.g., 100.50)",budget_duration:"Select a time period for budget reset",tpm_limit:"Enter maximum tokens per minute (whole number)",rpm_limit:"Enter maximum requests per minute (whole number)",duration:"Enter duration (e.g., 30s, 24h, 7d)",metadata:'Enter JSON object with key-value pairs\nExample: {"team": "research", "project": "nlp"}',config:'Enter configuration as JSON object\nExample: {"setting": "value"}',permissions:"Enter comma-separated permission strings",enforced_params:'Enter parameters as JSON object\nExample: {"param": "value"}',blocked:"Enter true/false or specific block conditions",aliases:'Enter aliases as JSON object\nExample: {"alias1": "value1", "alias2": "value2"}',models:"Select one or more model names",key_alias:"Enter a unique identifier for this key",tags:"Enter comma-separated tag strings"}[e]||({string:"Text input",number:"Numeric input",integer:"Whole number input",boolean:"True/False value"})[o]||"Text input";return f(e,t)?"".concat(a,"\nMust be valid JSON format"):t.enum?"Select from available options\nAllowed values: ".concat(t.enum.join(", ")):a};t.Z=e=>{let{schemaComponent:t,excludedFields:o=[],form:g,overrideLabels:y={},overrideTooltips:j={},customValidation:_={},defaultValues:v={}}=e,[C,k]=(0,r.useState)(null),[T,E]=(0,r.useState)(null);(0,r.useEffect)(()=>{(async()=>{try{let e=(await (0,h.getOpenAPISchema)()).components.schemas[t];if(!e)throw Error('Schema component "'.concat(t,'" not found'));k(e);let a={};Object.keys(e.properties).filter(e=>!o.includes(e)&&void 0!==v[e]).forEach(e=>{a[e]=v[e]}),g.setFieldsValue(a)}catch(e){console.error("Schema fetch error:",e),E(e instanceof Error?e.message:"Failed to fetch schema")}})()},[t,g,o]);let S=e=>{if(e.type)return e.type;if(e.anyOf){let t=e.anyOf.map(e=>e.type);if(t.includes("number")||t.includes("integer"))return"number";t.includes("string")}return"string"},b=(e,t)=>{var o;let r;let h=S(t),g=null==C?void 0:null===(o=C.required)||void 0===o?void 0:o.includes(e),k=y[e]||t.title||(0,p.N4)(e),T=j[e]||t.description,E=[];g&&E.push({required:!0,message:"".concat(k," is required")}),_[e]&&E.push({validator:_[e]}),f(e,t)&&E.push({validator:async(e,t)=>{if(t&&!m(t))throw Error("Please enter valid JSON")}});let b=T?(0,a.jsxs)("span",{children:[k," ",(0,a.jsx)(u.Z,{title:T,children:(0,a.jsx)(d.Z,{style:{marginLeft:"4px"}})})]}):k;return r=f(e,t)?(0,a.jsx)(n.default.TextArea,{rows:4,placeholder:"Enter as JSON",className:"font-mono"}):t.enum?(0,a.jsx)(c.default,{children:t.enum.map(e=>(0,a.jsx)(c.default.Option,{value:e,children:e},e))}):"number"===h||"integer"===h?(0,a.jsx)(l.Z,{style:{width:"100%"},precision:"integer"===h?0:void 0}):"duration"===e?(0,a.jsx)(s.o,{placeholder:"eg: 30s, 30h, 30d"}):(0,a.jsx)(s.o,{placeholder:T||""}),(0,a.jsx)(i.Z.Item,{label:b,name:e,className:"mt-8",rules:E,initialValue:v[e],help:(0,a.jsx)("div",{className:"text-xs text-gray-500",children:w(e,t,h)}),children:r},e)};return T?(0,a.jsxs)("div",{className:"text-red-500",children:["Error: ",T]}):(null==C?void 0:C.properties)?(0,a.jsx)("div",{children:Object.entries(C.properties).filter(e=>{let[t]=e;return!o.includes(t)}).map(e=>{let[t,o]=e;return b(t,o)})}):null}},9114:function(e,t,o){var a=o(2265),r=o(57271),n=o(85968);function c(){return"topRight"}function l(e,t){var o;return"string"==typeof e?{message:t,description:e}:{message:null!==(o=e.message)&&void 0!==o?o:t,...e}}function i(e){return"number"==typeof e?e:"string"==typeof e&&/^\d+$/.test(e)?parseInt(e,10):void 0}let s=["invalid api key","invalid authorization header format","authentication error","invalid proxy server token","invalid jwt token","invalid jwt submitted","unauthorized access to metrics endpoint"],d=["admin-only endpoint","not allowed to access model","user does not have permission","access forbidden","invalid credentials used to access ui","user not allowed to access proxy"],u=["db not connected","database not initialized","no db connected","prisma client not initialized","service unhealthy"],h=["no models configured on proxy","llm router not initialized","no deployments available","no healthy deployment available","not allowed to access model due to tags configuration","invalid model name passed in"],p=["deployment over user-defined ratelimit","crossed tpm / rpm / max parallel request limit","max parallel request limit"],g=["budget exceeded","crossed budget","provider budget"],f=["must be a litellm enterprise user","only be available for liteLLM enterprise users","missing litellm-enterprise package","only available on the docker image","enterprise feature","premium user"],m=["invalid json payload","invalid request type","invalid key format","invalid hash key","invalid sort column","invalid sort order","invalid limit","invalid file type","invalid field","invalid date format"],w=["model not found","model with id","credential not found","user not found","team not found","organization not found","mcp server with id","tool '"],y=["already exists","team member is already in team","user already exists"],j=["violated openai moderation policy","violated jailbreak threshold","violated prompt_injection threshold","violated content safety policy","violated lasso guardrail policy","blocked by pillar security guardrail","violated azure prompt shield guardrail policy","content blocked by model armor","response blocked by model armor","streaming response blocked by model armor","guardrail","moderation"],_=["invalid purpose","service must be specified","invalid response - response.response is none"],v=["cloudzero settings not configured","failed to decrypt cloudzero api key","cloudzero settings not found"],C=["created successfully","updated successfully","deleted successfully","credential created successfully","model added successfully","team created successfully","user created successfully","organization created successfully","cloudzero settings initialized successfully","cloudzero settings updated successfully","cloudzero export completed successfully","mock llm request made","mock slack alert sent","mock email alert sent","spend for all api keys and teams reset successfully","monthlyglobalspend view refreshed","cache cleared successfully","cache set successfully","ip ","deleted successfully"],k=["rate limit reached for deployment","deployment cooldown period active"],T=["this feature is only available for litellm enterprise users","enterprise features are not available","regenerating virtual keys is an enterprise feature","trying to set allowed_routes. this is an enterprise feature"],E=["invalid maximum_spend_logs_retention_interval value","error has invalid or non-convertible code","failed to save health check to database"],S={showProgress:!0,pauseOnHover:!0};t.Z={error(e){var t,o;let a=l(e,"Error");r.ZP.error({...S,...a,placement:null!==(t=a.placement)&&void 0!==t?t:c(),duration:null!==(o=a.duration)&&void 0!==o?o:6})},warning(e){var t,o;let a=l(e,"Warning");r.ZP.warning({...S,...a,placement:null!==(t=a.placement)&&void 0!==t?t:c(),duration:null!==(o=a.duration)&&void 0!==o?o:5})},info(e){var t,o;let a=l(e,"Info");r.ZP.info({...S,...a,placement:null!==(t=a.placement)&&void 0!==t?t:c(),duration:null!==(o=a.duration)&&void 0!==o?o:4})},success(e){var t,o;if(a.isValidElement(e)){r.ZP.success({...S,message:"Success",description:e,placement:c(),duration:3.5});return}let n=l(e,"Success");r.ZP.success({...S,...n,placement:null!==(t=n.placement)&&void 0!==t?t:c(),duration:null!==(o=n.duration)&&void 0!==o?o:3.5})},fromBackend(e,t){var o,a,l,b,F,P,O,B,N,x,A,J;let G=null!==(J=null!==(A=i(null==e?void 0:null===(x=e.response)||void 0===x?void 0:x.status))&&void 0!==A?A:i(null==e?void 0:e.status_code))&&void 0!==J?J:i(null==e?void 0:e.code),U=function(e){var t,o,a,r,c,l,i,s,d,u,h,p;if("string"==typeof e)return e;let g=null!==(p=null!==(h=null!==(u=null!==(d=null!==(s=null==e?void 0:null===(a=e.response)||void 0===a?void 0:null===(o=a.data)||void 0===o?void 0:null===(t=o.error)||void 0===t?void 0:t.message)&&void 0!==s?s:null==e?void 0:null===(c=e.response)||void 0===c?void 0:null===(r=c.data)||void 0===r?void 0:r.message)&&void 0!==d?d:null==e?void 0:null===(i=e.response)||void 0===i?void 0:null===(l=i.data)||void 0===l?void 0:l.error)&&void 0!==u?u:null==e?void 0:e.detail)&&void 0!==h?h:null==e?void 0:e.message)&&void 0!==p?p:e;return(0,n.O)(g)}(e),I={...null!=t?t:{},description:U,placement:null!==(o=null==t?void 0:t.placement)&&void 0!==o?o:c()};if(void 0!==G||e instanceof Error||"string"==typeof e||e&&"object"==typeof e&&("error"in e||"detail"in e)){let e=function(e,t){var o,a,r,n,c;let l=(t||"").toLowerCase();return s.some(e=>l.includes(e))?"Authentication Error":d.some(e=>l.includes(e))?"Access Denied":(null==u?void 0:null===(o=u.some)||void 0===o?void 0:o.call(u,e=>l.includes(e)))||503===e?"Service Unavailable":(null==g?void 0:null===(a=g.some)||void 0===a?void 0:a.call(g,e=>l.includes(e)))?"Budget Exceeded":(null==f?void 0:null===(r=f.some)||void 0===r?void 0:r.call(f,e=>l.includes(e)))?"Feature Unavailable":(null==h?void 0:null===(n=h.some)||void 0===n?void 0:n.call(h,e=>l.includes(e)))?"Routing Error":y.some(e=>l.includes(e))?"Already Exists":j.some(e=>l.includes(e))?"Content Blocked":_.some(e=>l.includes(e))?"Validation Error":v.some(e=>l.includes(e))?"Integration Error":m.some(e=>l.includes(e))?"Validation Error":404===e||l.includes("not found")||w.some(e=>l.includes(e))?"Not Found":429===e||l.includes("rate limit")||l.includes("tpm")||l.includes("rpm")||(null==p?void 0:null===(c=p.some)||void 0===c?void 0:c.call(p,e=>l.includes(e)))?"Rate Limit Exceeded":e&&e>=500?"Server Error":401===e?"Authentication Error":403===e?"Access Denied":l.includes("enterprise")||l.includes("premium")?"Info":e&&e>=400?"Request Error":"Error"}(G,U),o={...I,message:e};if("Rate Limit Exceeded"===e||"Info"===e||"Budget Exceeded"===e||"Feature Unavailable"===e||"Content Blocked"===e||"Integration Error"===e){r.ZP.warning({...S,...o,duration:null!==(a=null==t?void 0:t.duration)&&void 0!==a?a:7});return}if("Server Error"===e){r.ZP.error({...S,...o,duration:null!==(l=null==t?void 0:t.duration)&&void 0!==l?l:8});return}if("Request Error"===e||"Authentication Error"===e||"Access Denied"===e||"Not Found"===e||"Error"===e||"Already Exists"===e){r.ZP.error({...S,...o,duration:null!==(b=null==t?void 0:t.duration)&&void 0!==b?b:6});return}r.ZP.info({...S,...o,duration:null!==(F=null==t?void 0:t.duration)&&void 0!==F?F:4});return}let R=function(e){let t=(e||"").toLowerCase();return C.some(e=>t.includes(e))?{kind:"success",title:"Success"}:T.some(e=>t.includes(e))?{kind:"warning",title:"Feature Notice"}:E.some(e=>t.includes(e))?{kind:"warning",title:"Configuration Warning"}:k.some(e=>t.includes(e))?{kind:"warning",title:"Rate Limit"}:null}(U),M={...I,message:null!==(P=null==R?void 0:R.title)&&void 0!==P?P:"Info"};if((null==R?void 0:R.kind)==="success"){r.ZP.success({...S,...M,duration:null!==(O=null==t?void 0:t.duration)&&void 0!==O?O:3.5});return}if((null==R?void 0:R.kind)==="warning"){r.ZP.warning({...S,...M,duration:null!==(B=null==t?void 0:t.duration)&&void 0!==B?B:6});return}r.ZP.info({...S,...M,duration:null!==(N=null==t?void 0:t.duration)&&void 0!==N?N:4})},clear(){r.ZP.destroy()}}},19250:function(e,t,o){o.r(t),o.d(t,{DEFAULT_ORGANIZATION:function(){return m},PredictedSpendLogsCall:function(){return tj},addAllowedIP:function(){return eb},adminGlobalActivity:function(){return eH},adminGlobalActivityExceptions:function(){return eQ},adminGlobalActivityExceptionsPerDeployment:function(){return eK},adminGlobalActivityPerModel:function(){return eY},adminGlobalCacheActivity:function(){return eW},adminSpendLogsCall:function(){return eD},adminTopEndUsersCall:function(){return eq},adminTopKeysCall:function(){return eV},adminTopModelsCall:function(){return e$},adminspendByProvider:function(){return eZ},agentDailyActivityCall:function(){return ep},agentHubPublicModelsCall:function(){return ek},alertingSettingsCall:function(){return M},allEndUsersCall:function(){return eR},allTagNamesCall:function(){return eI},applyGuardrail:function(){return oI},availableTeamListCall:function(){return $},budgetCreateCall:function(){return G},budgetDeleteCall:function(){return J},budgetUpdateCall:function(){return U},buildMcpOAuthAuthorizeUrl:function(){return o$},cacheTemporaryMcpServer:function(){return oQ},cachingHealthCheckCall:function(){return tM},callMCPTool:function(){return ol},cancelModelCostMapReload:function(){return O},claimOnboardingToken:function(){return em},convertPromptFileToJson:function(){return tK},createAgentCall:function(){return tX},createGuardrailCall:function(){return t0},createMCPServer:function(){return t9},createPassThroughEndpoint:function(){return tx},createPromptCall:function(){return tW},createSearchTool:function(){return ot},credentialCreateCall:function(){return tt},credentialDeleteCall:function(){return tr},credentialGetCall:function(){return ta},credentialListCall:function(){return to},credentialUpdateCall:function(){return tn},customerDailyActivityCall:function(){return eh},defaultProxyBaseUrl:function(){return s},deleteAgentCall:function(){return oS},deleteAllowedIP:function(){return eF},deleteCallback:function(){return oZ},deleteConfigFieldSetting:function(){return tJ},deleteGuardrailCall:function(){return oO},deleteMCPServer:function(){return t8},deletePassThroughEndpointsCall:function(){return tG},deletePromptCall:function(){return tQ},deleteSearchTool:function(){return oa},exchangeMcpOAuthToken:function(){return oX},fetchAvailableSearchProviders:function(){return or},fetchMCPAccessGroups:function(){return t5},fetchMCPServers:function(){return t2},fetchSearchToolById:function(){return oe},fetchSearchTools:function(){return t7},formatDate:function(){return l},getAgentCreateMetadata:function(){return _},getAgentInfo:function(){return oA},getAgentsList:function(){return ox},getAllowedIPs:function(){return eS},getBudgetList:function(){return tC},getBudgetSettings:function(){return tk},getCacheSettingsCall:function(){return tb},getCallbackConfigsCall:function(){return i},getCallbacksCall:function(){return tT},getConfigFieldSetting:function(){return tB},getDefaultTeamSettings:function(){return op},getEmailEventSettings:function(){return ok},getGeneralSettingsCall:function(){return tE},getGuardrailInfo:function(){return oJ},getGuardrailProviderSpecificParams:function(){return oN},getGuardrailUISettings:function(){return oB},getGuardrailsList:function(){return tV},getInternalUserSettings:function(){return t4},getModelCostMapReloadStatus:function(){return B},getOnboardingCredentials:function(){return ef},getOpenAPISchema:function(){return S},getPassThroughEndpointInfo:function(){return oq},getPassThroughEndpointsCall:function(){return tO},getPossibleUserRoles:function(){return e7},getPromptInfo:function(){return tZ},getPromptVersions:function(){return tH},getPromptsList:function(){return tq},getProviderCreateMetadata:function(){return j},getProxyBaseUrl:function(){return g},getProxyUISettings:function(){return tD},getPublicModelHubInfo:function(){return E},getRemainingUsers:function(){return oD},getRouterSettingsCall:function(){return tS},getSSOSettings:function(){return oM},getTeamPermissionsCall:function(){return of},getTotalSpendCall:function(){return eg},getUiConfig:function(){return T},getUiSettings:function(){return at},healthCheckCall:function(){return tI},healthCheckHistoryCall:function(){return tz},individualModelHealthCheckCall:function(){return tR},invitationClaimCall:function(){return R},invitationCreateCall:function(){return I},keyAliasesCall:function(){return e3},keyCreateCall:function(){return L},keyCreateServiceAccountCall:function(){return z},keyDeleteCall:function(){return V},keyInfoCall:function(){return eX},keyInfoV1Call:function(){return e1},keyListCall:function(){return e4},keySpendLogsCall:function(){return eJ},keyUpdateCall:function(){return tc},latestHealthChecksCall:function(){return tL},listMCPTools:function(){return oc},loginCall:function(){return ae},makeAgentPublicCall:function(){return ob},makeAgentsPublicCall:function(){return oF},makeMCPPublicCall:function(){return oP},makeModelGroupPublic:function(){return k},mcpHubPublicServersCall:function(){return eT},mcpToolsCall:function(){return oH},modelAvailableCall:function(){return eA},modelCostMap:function(){return b},modelCreateCall:function(){return N},modelDeleteCall:function(){return A},modelExceptionsCall:function(){return eN},modelHubCall:function(){return eE},modelHubPublicModelsCall:function(){return eC},modelInfoCall:function(){return e_},modelInfoV1Call:function(){return ev},modelMetricsCall:function(){return eP},modelMetricsSlowResponsesCall:function(){return eB},modelPatchUpdateCall:function(){return ti},modelSettingsCall:function(){return x},modelUpdateCall:function(){return ts},organizationCreateCall:function(){return et},organizationDailyActivityCall:function(){return eu},organizationDeleteCall:function(){return ea},organizationInfoCall:function(){return ee},organizationListCall:function(){return X},organizationMemberAddCall:function(){return tg},organizationMemberDeleteCall:function(){return tf},organizationMemberUpdateCall:function(){return tm},organizationUpdateCall:function(){return eo},patchAgentCall:function(){return oG},patchPromptCall:function(){return t$},perUserAnalyticsCall:function(){return o8},proxyBaseUrl:function(){return u},regenerateKeyCall:function(){return ew},registerMcpOAuthClient:function(){return oK},reloadModelCostMap:function(){return F},resetEmailEventSettings:function(){return oE},scheduleModelCostMapReload:function(){return P},searchToolQueryCall:function(){return o1},serverRootPath:function(){return d},serviceHealthCheck:function(){return tv},sessionSpendLogsCall:function(){return ow},setCallbacksCall:function(){return tU},setGlobalLitellmHeaderName:function(){return C},slackBudgetAlertsHealthCheck:function(){return t_},spendUsersCall:function(){return e2},streamingModelMetricsCall:function(){return eO},tagCreateCall:function(){return oi},tagDailyActivityCall:function(){return es},tagDauCall:function(){return o3},tagDeleteCall:function(){return oh},tagDistinctCall:function(){return o9},tagInfoCall:function(){return od},tagListCall:function(){return ou},tagMauCall:function(){return o5},tagUpdateCall:function(){return os},tagWauCall:function(){return o2},tagsSpendLogsCall:function(){return eU},teamBulkMemberAddCall:function(){return tu},teamCreateCall:function(){return te},teamDailyActivityCall:function(){return ed},teamDeleteCall:function(){return Z},teamInfoCall:function(){return Y},teamListCall:function(){return K},teamMemberAddCall:function(){return td},teamMemberDeleteCall:function(){return tp},teamMemberUpdateCall:function(){return th},teamPermissionsUpdateCall:function(){return om},teamSpendLogsCall:function(){return eG},teamUpdateCall:function(){return tl},testCacheConnectionCall:function(){return tF},testConnectionRequest:function(){return e0},testMCPConnectionRequest:function(){return oW},testMCPToolsListRequest:function(){return oY},testSearchToolConnection:function(){return on},transformRequestCall:function(){return er},uiAuditLogsCall:function(){return oL},uiSpendLogDetailsCall:function(){return t1},uiSpendLogsCall:function(){return eL},updateCacheSettingsCall:function(){return tP},updateConfigFieldSetting:function(){return tA},updateDefaultTeamSettings:function(){return og},updateEmailEventSettings:function(){return oT},updateGuardrailCall:function(){return oU},updateInternalUserSettings:function(){return t3},updateMCPServer:function(){return t6},updatePassThroughEndpoint:function(){return oV},updatePassThroughFieldSetting:function(){return tN},updatePromptCall:function(){return tY},updateSSOSettings:function(){return oz},updateSearchTool:function(){return oo},updateUiSettings:function(){return ao},updateUsefulLinksCall:function(){return ex},userAgentAnalyticsCall:function(){return o4},userAgentSummaryCall:function(){return o6},userBulkUpdateUserCall:function(){return ty},userCreateCall:function(){return D},userDailyActivityAggregatedCall:function(){return e6},userDailyActivityCall:function(){return ei},userDeleteCall:function(){return q},userFilterUICall:function(){return eM},userGetAllUsersCall:function(){return e8},userGetRequesedtModelsCall:function(){return e9},userInfoCall:function(){return W},userListCall:function(){return H},userRequestModelCall:function(){return e5},userSpendLogsCall:function(){return ez},userUpdateUserCall:function(){return tw},v2TeamListCall:function(){return Q},validateBlockedWordsFile:function(){return oR},vectorStoreCreateCall:function(){return oy},vectorStoreDeleteCall:function(){return o_},vectorStoreInfoCall:function(){return ov},vectorStoreListCall:function(){return oj},vectorStoreSearchCall:function(){return o0},vectorStoreUpdateCall:function(){return oC}});var a=o(42264),r=o(3914),n=o(63610),c=o(9114);let l=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)},i=async e=>{try{let t=u?"".concat(u,"/callbacks/configs"):"/callbacks/configs",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},s=null,d="/",u=null;console.log=function(){};let h=()=>window.location,p=function(e){var t;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=h(),r=null!==(t=null==a?void 0:a.origin)&&void 0!==t?t:null,n=o||r;if(console.log("proxyBaseUrl:",u),console.log("serverRootPath:",e),!n){console.log("Updated proxyBaseUrl:",u=null!=u?u:null);return}e.length>0&&!n.endsWith(e)&&"/"!=e&&(n+=e),console.log("Updated proxyBaseUrl:",u=n)},g=()=>{var e;if(u)return u;let t=h();return null!==(e=null==t?void 0:t.origin)&&void 0!==e?e:""},f={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE"},m="default_organization",w=0,y=async e=>{let t=Date.now();if(t-w>6e4){if(("string"==typeof e?e:JSON.stringify(e)).includes("Authentication Error - Expired Key")){c.Z.info("UI Session Expired. Logging out."),w=t,(0,r.b)();let e=h();e&&(window.location.href=e.pathname)}w=t}else console.log("Error suppressed to prevent spam:",e)},j=async()=>{let e=u?"".concat(u,"/public/providers/fields"):"/public/providers/fields",t=await fetch(e,{method:"GET"});if(!t.ok){let e=await t.text();throw console.error("Failed to fetch provider create metadata:",t.status,e),Error("Failed to load provider configuration")}return await t.json()},_=async()=>{let e=u?"".concat(u,"/public/agents/fields"):"/public/agents/fields",t=await fetch(e,{method:"GET"});if(!t.ok){let e=await t.text();throw console.error("Failed to fetch agent create metadata:",t.status,e),Error("Failed to load agent configuration")}return await t.json()},v="Authorization";function C(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),v=e}let k=async(e,t)=>{let o=u?"".concat(u,"/model_group/make_public"):"/model_group/make_public";return(await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({model_groups:t})})).json()},T=async()=>{console.log("Getting UI config");let e=await fetch(s?"".concat(s,"/litellm/.well-known/litellm-ui-config"):"/litellm/.well-known/litellm-ui-config"),t=await e.json();return console.log("jsonData in getUiConfig:",t),p(t.server_root_path,t.proxy_base_url),t},E=async()=>{let e=u?"".concat(u,"/public/model_hub/info"):"/public/model_hub/info",t=await fetch(e);return await t.json()},S=async()=>{let e=u?"".concat(u,"/openapi.json"):"/openapi.json",t=await fetch(e);return await t.json()},b=async()=>{try{let e=u?"".concat(u,"/public/litellm_model_cost_map"):"/public/litellm_model_cost_map",t=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}}),o=await t.json();return console.log("received litellm model cost data: ".concat(o)),o}catch(e){throw console.error("Failed to get model cost map:",e),e}},F=async e=>{try{let t=u?"".concat(u,"/reload/model_cost_map"):"/reload/model_cost_map",o=await fetch(t,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}}),a=await o.json();return console.log("Model cost map reload response: ".concat(a)),a}catch(e){throw console.error("Failed to reload model cost map:",e),e}},P=async(e,t)=>{try{let o=u?"".concat(u,"/schedule/model_cost_map_reload?hours=").concat(t):"/schedule/model_cost_map_reload?hours=".concat(t),a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}}),r=await a.json();return console.log("Schedule model cost map reload response: ".concat(r)),r}catch(e){throw console.error("Failed to schedule model cost map reload:",e),e}},O=async e=>{try{let t=u?"".concat(u,"/schedule/model_cost_map_reload"):"/schedule/model_cost_map_reload",o=await fetch(t,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}}),a=await o.json();return console.log("Cancel model cost map reload response: ".concat(a)),a}catch(e){throw console.error("Failed to cancel model cost map reload:",e),e}},B=async e=>{try{let t=u?"".concat(u,"/schedule/model_cost_map_reload/status"):"/schedule/model_cost_map_reload/status";console.log("Fetching status from URL:",t);let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){console.error("Status request failed with status: ".concat(o.status));let e=await o.text();throw console.error("Error response:",e),Error("HTTP ".concat(o.status,": ").concat(e))}let a=await o.json();return console.log("Model cost map reload status:",a),a}catch(e){throw console.error("Failed to get model cost map reload status:",e),e}},N=async(e,t)=>{try{let o=u?"".concat(u,"/model/new"):"/model/new",r=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),a.ZP.destroy(),c.Z.success("Model ".concat(t.model_name," created successfully")),n}catch(e){throw console.error("Failed to create key:",e),e}},x=async e=>{try{let t=u?"".concat(u,"/model/settings"):"/model/settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){console.error("Failed to get model settings:",e)}},A=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=u?"".concat(u,"/model/delete"):"/model/delete",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=u?"".concat(u,"/budget/delete"):"/budget/delete",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},G=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=u?"".concat(u,"/budget/new"):"/budget/new",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},U=async(e,t)=>{try{console.log("Form Values in budgetUpdateCall:",t),console.log("Form Values after check:",t);let o=u?"".concat(u,"/budget/update"):"/budget/update",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t)=>{try{let o=u?"".concat(u,"/invitation/new"):"/invitation/new",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},R=async(e,t)=>{try{console.log("Form Values in invitationCreateCall:",t),console.log("Form Values after check:",t);let o=u?"".concat(u,"/invitation/claim"):"/invitation/claim",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=u?"".concat(u,"/alerting/settings"):"/alerting/settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},z=async(e,t)=>{try{for(let e of(console.log("Form Values in keyCreateServiceAccountCall:",t),t.description&&(t.metadata||(t.metadata={}),t.metadata.description=t.description,delete t.description,t.metadata=JSON.stringify(t.metadata)),n.d))if(t[e]){console.log("formValues.".concat(e,":"),t[e]);try{t[e]=JSON.parse(t[e])}catch(t){throw Error("Failed to parse ".concat(e,": ")+t)}}console.log("Form Values after check:",t);let o=u?"".concat(u,"/key/service-account/generate"):"/key/service-account/generate",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},L=async(e,t,o)=>{try{for(let e of(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)),n.d))if(o[e]){console.log("formValues.".concat(e,":"),o[e]);try{o[e]=JSON.parse(o[e])}catch(t){throw Error("Failed to parse ".concat(e,": ")+t)}}console.log("Form Values after check:",o);let a=u?"".concat(u,"/key/generate"):"/key/generate",r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let c=await r.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},D=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=u?"".concat(u,"/user/new"):"/user/new",r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},V=async(e,t)=>{try{let o=u?"".concat(u,"/key/delete"):"/key/delete";console.log("in keyDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},q=async(e,t)=>{try{let o=u?"".concat(u,"/user/delete"):"/user/delete";console.log("in userDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_ids:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to delete user(s):",e),e}},Z=async(e,t)=>{try{let o=u?"".concat(u,"/team/delete"):"/team/delete";console.log("in teamDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},H=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,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,i=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,s=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let d=u?"".concat(u,"/user/list"):"/user/list";console.log("in userListCall");let h=new URLSearchParams;if(t&&t.length>0){let e=t.join(",");h.append("user_ids",e)}o&&h.append("page",o.toString()),a&&h.append("page_size",a.toString()),r&&h.append("user_email",r),n&&h.append("role",n),c&&h.append("team",c),l&&h.append("sso_user_ids",l),i&&h.append("sort_by",i),s&&h.append("sort_order",s);let p=h.toString();p&&(d+="?".concat(p));let g=await fetch(d,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!g.ok){let e=await g.json(),t=o7(e);throw y(t),Error(t)}let f=await g.json();return console.log("/user/list API Response:",f),f}catch(e){throw console.error("Failed to create key:",e),e}},W=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];console.log("userInfoCall: ".concat(t,", ").concat(o,", ").concat(a,", ").concat(r,", ").concat(n,", ").concat(c));try{let l;if(a){l=u?"".concat(u,"/user/list"):"/user/list";let e=new URLSearchParams;null!=r&&e.append("page",r.toString()),null!=n&&e.append("page_size",n.toString()),l+="?".concat(e.toString())}else l=u?"".concat(u,"/user/info"):"/user/info",("Admin"!==o&&"Admin Viewer"!==o||c)&&t&&(l+="?user_id=".concat(t));console.log("Requesting user data from:",l);let i=await fetch(l,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=o7(e);throw y(t),Error(t)}let s=await i.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to fetch user data:",e),e}},Y=async(e,t)=>{try{let o=u?"".concat(u,"/team/info"):"/team/info";t&&(o="".concat(o,"?team_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},Q=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,r=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 n=u?"".concat(u,"/v2/team/list"):"/v2/team/list";console.log("in teamInfoCall");let c=new URLSearchParams;o&&c.append("user_id",o.toString()),t&&c.append("organization_id",t.toString()),a&&c.append("team_id",a.toString()),r&&c.append("team_alias",r.toString());let l=c.toString();l&&(n+="?".concat(l));let i=await fetch(n,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=o7(e);throw y(t),Error(t)}let s=await i.json();return console.log("/v2/team/list API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},K=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,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let n=u?"".concat(u,"/team/list"):"/team/list";console.log("in teamInfoCall");let c=new URLSearchParams;o&&c.append("user_id",o.toString()),t&&c.append("organization_id",t.toString()),a&&c.append("team_id",a.toString()),r&&c.append("team_alias",r.toString());let l=c.toString();l&&(n+="?".concat(l));let i=await fetch(n,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=o7(e);throw y(t),Error(t)}let s=await i.json();return console.log("/team/list API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},$=async e=>{try{let t=u?"".concat(u,"/team/available"):"/team/available";console.log("in availableTeamListCall");let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("/team/available_teams API Response:",a),a}catch(e){throw e}},X=async e=>{try{let t=u?"".concat(u,"/organization/list"):"/organization/list",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ee=async(e,t)=>{try{let o=u?"".concat(u,"/organization/info"):"/organization/info";t&&(o="".concat(o,"?organization_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},et=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=u?"".concat(u,"/organization/new"):"/organization/new",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t)=>{try{console.log("Form Values in organizationUpdateCall:",t);let o=u?"".concat(u,"/organization/update"):"/organization/update",a=await fetch(o,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},ea=async(e,t)=>{try{let o=u?"".concat(u,"/organization/delete"):"/organization/delete",a=await fetch(o,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_ids:[t]})});if(!a.ok){let e=await a.text();throw y(e),Error("Error deleting organization: ".concat(e))}return await a.json()}catch(e){throw console.error("Failed to delete organization:",e),e}},er=async(e,t)=>{try{let o=u?"".concat(u,"/utils/transform_request"):"/utils/transform_request",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},en=(e,t,o)=>{if(null!=o){if(Array.isArray(o)){o.length>0&&e.append(t,o.join(","));return}e.append(t,"".concat(o))}},ec=(e,t,o,a,r)=>{let n=e.startsWith("/")?e:"/".concat(e),c=u?"".concat(u).concat(n):n,i=new URLSearchParams;i.append("start_date",l(t)),i.append("end_date",l(o)),i.append("page_size","1000"),i.append("page",a.toString()),r&&Object.entries(r).forEach(e=>{let[t,o]=e;en(i,t,o)});let s=i.toString();return s?"".concat(c,"?").concat(s):c},el=async e=>{let{accessToken:t,endpoint:o,startTime:a,endTime:r,page:n=1,extraQueryParams:c}=e;try{let e=ec(o,a,r,n,c),l=await fetch(e,{method:"GET",headers:{[v]:"Bearer ".concat(t),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch daily activity (".concat(o,"):"),e),e}},ei=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return el({accessToken:e,endpoint:"/user/daily/activity",startTime:t,endTime:o,page:a})},es=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/tag/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{tags:r}})},ed=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/team/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{team_ids:r,exclude_team_ids:"litellm-dashboard"}})},eu=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/organization/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{organization_ids:r}})},eh=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/customer/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{end_user_ids:r}})},ep=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/agent/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{agent_ids:r}})},eg=async e=>{try{let t=u?"".concat(u,"/global/spend"):"/global/spend",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ef=async e=>{try{let t=u?"".concat(u,"/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.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},em=async(e,t,o,a)=>{let r=u?"".concat(u,"/onboarding/claim_token"):"/onboarding/claim_token";try{let n=await fetch(r,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:a})});if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to delete key:",e),e}},ew=async(e,t,o)=>{try{let a=u?"".concat(u,"/key/").concat(t,"/regenerate"):"/key/".concat(t,"/regenerate"),r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("Regenerate key Response:",n),n}catch(e){throw console.error("Failed to regenerate key:",e),e}},ey=!1,ej=null,e_=async(e,t,o)=>{try{console.log("modelInfoCall:",e,t,o);let a=u?"".concat(u,"/v2/model/info"):"/v2/model/info",r=new URLSearchParams;r.append("include_team_models","true"),r.toString()&&(a+="?".concat(r.toString()));let n=await fetch(a,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw e+="error shown=".concat(ey),ey||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),c.Z.info(e),ey=!0,ej&&clearTimeout(ej),ej=setTimeout(()=>{ey=!1},1e4)),Error("Network response was not ok")}let l=await n.json();return console.log("modelInfoCall:",l),l}catch(e){throw console.error("Failed to create key:",e),e}},ev=async(e,t)=>{try{let o=u?"".concat(u,"/v1/model/info"):"/v1/model/info";o+="?litellm_model_id=".concat(t);let a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("modelInfoV1Call:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},eC=async()=>{let e=u?"".concat(u,"/public/model_hub"):"/public/model_hub";return(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json()},ek=async()=>{let e=u?"".concat(u,"/public/agent_hub"):"/public/agent_hub";return(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json()},eT=async()=>{let e=u?"".concat(u,"/public/mcp_hub"):"/public/mcp_hub";return(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json()},eE=async e=>{try{let t=u?"".concat(u,"/model_group/info"):"/model_group/info",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("modelHubCall:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},eS=async e=>{try{let t=u?"".concat(u,"/get/allowed_ips"):"/get/allowed_ips",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("getAllowedIPs:",a),a.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},eb=async(e,t)=>{try{let o=u?"".concat(u,"/add/allowed_ip"):"/add/allowed_ip",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("addAllowedIP:",r),r}catch(e){throw console.error("Failed to add allowed IP:",e),e}},eF=async(e,t)=>{try{let o=u?"".concat(u,"/delete/allowed_ip"):"/delete/allowed_ip",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("deleteAllowedIP:",r),r}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},eP=async(e,t,o,a,r,n,c,l)=>{try{let t=u?"".concat(u,"/model/metrics"):"/model/metrics";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(r,"&endTime=").concat(n,"&api_key=").concat(c,"&customer=").concat(l));let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},eO=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/model/streaming_metrics"):"/model/streaming_metrics";t&&(r="".concat(r,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(a));let n=await fetch(r,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}return await n.json()}catch(e){throw console.error("Failed to create key:",e),e}},eB=async(e,t,o,a,r,n,c,l)=>{try{let t=u?"".concat(u,"/model/metrics/slow_responses"):"/model/metrics/slow_responses";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(r,"&endTime=").concat(n,"&api_key=").concat(c,"&customer=").concat(l));let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},eN=async(e,t,o,a,r,n,c,l)=>{try{let t=u?"".concat(u,"/model/metrics/exceptions"):"/model/metrics/exceptions";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(r,"&endTime=").concat(n,"&api_key=").concat(c,"&customer=").concat(l));let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ex=async(e,t)=>{try{let o=u?"".concat(u,"/model_hub/update_useful_links"):"/model_hub/update_useful_links",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({useful_links:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},eA=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=(arguments.length>5&&void 0!==arguments[5]&&arguments[5],arguments.length>6&&void 0!==arguments[6]&&arguments[6]);console.log("in /models calls, globalLitellmHeaderName",v);try{let t=u?"".concat(u,"/models"):"/models",o=new URLSearchParams;o.append("include_model_access_groups","True"),!0===a&&o.append("return_wildcard_routes","True"),!0===n&&o.append("only_model_access_groups","True"),r&&o.append("team_id",r.toString()),o.toString()&&(t+="?".concat(o.toString()));let c=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}return await c.json()}catch(e){throw console.error("Failed to create key:",e),e}},eJ=async(e,t)=>{try{let o=u?"".concat(u,"/global/spend/logs"):"/global/spend/logs";console.log("in keySpendLogsCall:",o);let a=await fetch("".concat(o,"?api_key=").concat(t),{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},eG=async e=>{try{let t=u?"".concat(u,"/global/spend/teams"):"/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eU=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/spend/tags"):"/global/spend/tags";t&&o&&(r="".concat(r,"?start_date=").concat(t,"&end_date=").concat(o)),a&&(r+="".concat(r,"&tags=").concat(a.join(","))),console.log("in tagsSpendLogsCall:",r);let n=await fetch("".concat(r),{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},eI=async e=>{try{let t=u?"".concat(u,"/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:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eR=async e=>{try{let t=u?"".concat(u,"/customer/list"):"/customer/list";console.log("in customer/list",t);let o=await fetch("".concat(t),{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to fetch end users:",e),e}},eM=async(e,t)=>{try{let o=u?"".concat(u,"/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:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},ez=async(e,t,o,a,r,n)=>{try{console.log("user role in spend logs call: ".concat(o));let t=u?"".concat(u,"/spend/logs"):"/spend/logs";t="App Owner"==o?"".concat(t,"?user_id=").concat(a,"&start_date=").concat(r,"&end_date=").concat(n):"".concat(t,"?start_date=").concat(r,"&end_date=").concat(n);let c=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to create key:",e),e}},eL=async(e,t,o,a,r,n,c,l,i,s,d,h,p)=>{try{let g=u?"".concat(u,"/spend/logs/ui"):"/spend/logs/ui",f=new URLSearchParams;t&&f.append("api_key",t),o&&f.append("team_id",o),a&&f.append("request_id",a),r&&f.append("start_date",r),n&&f.append("end_date",n),c&&f.append("page",c.toString()),l&&f.append("page_size",l.toString()),i&&f.append("user_id",i),s&&f.append("end_user",s),d&&f.append("status_filter",d),h&&f.append("model",h),p&&f.append("key_alias",p);let m=f.toString();m&&(g+="?".concat(m));let w=await fetch(g,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!w.ok){let e=await w.json(),t=o7(e);throw y(t),Error(t)}let j=await w.json();return console.log("Spend Logs Response:",j),j}catch(e){throw console.error("Failed to fetch spend logs:",e),e}},eD=async e=>{try{let t=u?"".concat(u,"/global/spend/logs"):"/global/spend/logs",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eV=async e=>{try{let t=u?"".concat(u,"/global/spend/keys?limit=5"):"/global/spend/keys?limit=5",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eq=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/spend/end_users"):"/global/spend/end_users",n="";n=t?JSON.stringify({api_key:t,startTime:o,endTime:a}):JSON.stringify({startTime:o,endTime:a});let c={method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:n},l=await fetch(r,c);if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to create key:",e),e}},eZ=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/spend/provider"):"/global/spend/provider";o&&a&&(r+="?start_date=".concat(o,"&end_date=").concat(a)),t&&(r+="&api_key=".concat(t));let n={method:"GET",headers:{[v]:"Bearer ".concat(e)}},c=await fetch(r,n);if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eH=async(e,t,o)=>{try{let a=u?"".concat(u,"/global/activity"):"/global/activity";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let r={method:"GET",headers:{[v]:"Bearer ".concat(e)}},n=await fetch(a,r);if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eW=async(e,t,o)=>{try{let a=u?"".concat(u,"/global/activity/cache_hits"):"/global/activity/cache_hits";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let r={method:"GET",headers:{[v]:"Bearer ".concat(e)}},n=await fetch(a,r);if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eY=async(e,t,o)=>{try{let a=u?"".concat(u,"/global/activity/model"):"/global/activity/model";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let r={method:"GET",headers:{[v]:"Bearer ".concat(e)}},n=await fetch(a,r);if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eQ=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/activity/exceptions"):"/global/activity/exceptions";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(r+="&model_group=".concat(a));let n={method:"GET",headers:{[v]:"Bearer ".concat(e)}},c=await fetch(r,n);if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eK=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/activity/exceptions/deployment"):"/global/activity/exceptions/deployment";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(r+="&model_group=".concat(a));let n={method:"GET",headers:{[v]:"Bearer ".concat(e)}},c=await fetch(r,n);if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},e$=async e=>{try{let t=u?"".concat(u,"/global/spend/models?limit=5"):"/global/spend/models?limit=5",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eX=async(e,t)=>{try{let o=u?"".concat(u,"/v2/key/info"):"/v2/key/info",a=await fetch(o,{method:"POST",headers:{[v]:"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 y(e),Error("Network response was not ok")}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},e0=async(e,t,o,a)=>{try{console.log("Sending model connection test request:",JSON.stringify(t));let n=u?"".concat(u,"/health/test_connection"):"/health/test_connection",c=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[v]:"Bearer ".concat(e)},body:JSON.stringify({litellm_params:t,model_info:o,mode:a})}),l=c.headers.get("content-type");if(!l||!l.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 r;return{status:"error",message:(null===(r=i.error)||void 0===r?void 0:r.message)||"Connection test failed: ".concat(c.status," ").concat(c.statusText)}}}return i}catch(e){throw console.error("Model connection test error:",e),e}},e1=async(e,t)=>{try{console.log("entering keyInfoV1Call");let o=u?"".concat(u,"/key/info"):"/key/info";o="".concat(o,"?key=").concat(t);let a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(console.log("response",a),!a.ok){let e=await a.text();y(e),c.Z.fromBackend("Failed to fetch key info - "+e)}let r=await a.json();return console.log("data",r),r}catch(e){throw console.error("Failed to fetch key info:",e),e}},e4=async function(e,t,o,a,r,n,c,l){let i=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,s=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let d=u?"".concat(u,"/key/list"):"/key/list";console.log("in keyListCall");let h=new URLSearchParams;o&&h.append("team_id",o.toString()),t&&h.append("organization_id",t.toString()),a&&h.append("key_alias",a),n&&h.append("key_hash",n),r&&h.append("user_id",r.toString()),c&&h.append("page",c.toString()),l&&h.append("size",l.toString()),i&&h.append("sort_by",i),s&&h.append("sort_order",s),h.append("return_full_object","true"),h.append("include_team_keys","true"),h.append("include_created_by_keys","true");let p=h.toString();p&&(d+="?".concat(p));let g=await fetch(d,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!g.ok){let e=await g.json(),t=o7(e);throw y(t),Error(t)}let f=await g.json();return console.log("/team/list API Response:",f),f}catch(e){throw console.error("Failed to create key:",e),e}},e3=async e=>{try{let t=u?"".concat(u,"/key/aliases"):"/key/aliases";console.log("in keyAliasesCall");let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("/key/aliases API Response:",a),a}catch(e){throw console.error("Failed to fetch key aliases:",e),e}},e2=async(e,t)=>{try{let o=u?"".concat(u,"/spend/users"):"/spend/users";console.log("in spendUsersCall:",o);let a=await fetch("".concat(o,"?user_id=").concat(t),{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to get spend for user",e),e}},e5=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/user/request_model"):"/user/request_model",n=await fetch(r,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({models:[t],user_id:o,justification:a})});if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},e9=async e=>{try{let t=u?"".concat(u,"/user/get_requests"):"/user/get_requests";console.log("in userGetRequesedtModelsCall:",t);let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to get requested models:",e),e}},e6=async(e,t,o)=>{try{let a=u?"".concat(u,"/user/daily/activity/aggregated"):"/user/daily/activity/aggregated",r=new URLSearchParams,n=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)};r.append("start_date",n(t)),r.append("end_date",n(o));let c=r.toString();c&&(a+="?".concat(c));let l=await fetch(a,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch aggregated user daily activity:",e),e}},e8=async(e,t)=>{try{let o=u?"".concat(u,"/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:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to get requested models:",e),e}},e7=async e=>{try{let t=u?"".concat(u,"/user/available_roles"):"/user/available_roles",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("response from user/available_role",a),a}catch(e){throw e}},te=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=u?"".concat(u,"/team/new"):"/team/new",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},tt=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=u?"".concat(u,"/credentials"):"/credentials",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},to=async e=>{try{let t=u?"".concat(u,"/credentials"):"/credentials";console.log("in credentialListCall");let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("/credentials API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},ta=async(e,t,o)=>{try{let a=u?"".concat(u,"/credentials"):"/credentials";t?a+="/by_name/".concat(t):o&&(a+="/by_model/".concat(o)),console.log("in credentialListCall");let r=await fetch(a,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("/credentials API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},tr=async(e,t)=>{try{let o=u?"".concat(u,"/credentials/").concat(t):"/credentials/".concat(t);console.log("in credentialDeleteCall:",t);let a=await fetch(o,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},tn=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=u?"".concat(u,"/credentials/").concat(t):"/credentials/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...o})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},tc=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=u?"".concat(u,"/key/update"):"/key/update",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let r=await a.json();return console.log("Update key Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},tl=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=u?"".concat(u,"/team/update"):"/team/update",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error response from the server:",e),c.Z.fromBackend("Failed to update team settings: "+e),Error(e)}let r=await a.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to update team:",e),e}},ti=async(e,t,o)=>{try{console.log("Form Values in modelUpateCall:",t);let a=u?"".concat(u,"/model/").concat(o,"/update"):"/model/".concat(o,"/update"),r=await fetch(a,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let n=await r.json();return console.log("Update model Response:",n),n}catch(e){throw console.error("Failed to update model:",e),e}},ts=async(e,t)=>{try{console.log("Form Values in modelUpateCall:",t);let o=u?"".concat(u,"/model/update"):"/model/update",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let r=await a.json();return console.log("Update model Response:",r),r}catch(e){throw console.error("Failed to update model:",e),e}},td=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let r=u?"".concat(u,"/team/member_add"):"/team/member_add",n=await fetch(r,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!n.ok){var a;let e=await n.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 c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},tu=async(e,t,o,a,r)=>{try{console.log("Bulk add team members:",{teamId:t,members:o,maxBudgetInTeam:a});let c=u?"".concat(u,"/team/bulk_member_add"):"/team/bulk_member_add",l={team_id:t};r?l.all_users=!0:l.members=o,null!=a&&(l.max_budget_in_team=a);let i=await fetch(c,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(l)});if(!i.ok){var n;let e=await i.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===(n=t.detail)||void 0===n?void 0:n.error)||"Failed to bulk add team members",a=Error(o);throw a.raw=t,a}let s=await i.json();return console.log("Bulk team member add API Response:",s),s}catch(e){throw console.error("Failed to bulk add team members:",e),e}},th=async(e,t,o)=>{try{console.log("Form Values in teamMemberUpdateCall:",o),console.log("Budget value:",o.max_budget_in_team),console.log("TPM limit:",o.tpm_limit),console.log("RPM limit:",o.rpm_limit);let r=u?"".concat(u,"/team/member_update"):"/team/member_update",n={team_id:t,role:o.role,user_id:o.user_id};void 0!==o.user_email&&(n.user_email=o.user_email),void 0!==o.max_budget_in_team&&null!==o.max_budget_in_team&&(n.max_budget_in_team=o.max_budget_in_team),void 0!==o.tpm_limit&&null!==o.tpm_limit&&(n.tpm_limit=o.tpm_limit),void 0!==o.rpm_limit&&null!==o.rpm_limit&&(n.rpm_limit=o.rpm_limit),console.log("Final request body:",n);let c=await fetch(r,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(n)});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 l=await c.json();return console.log("API Response:",l),l}catch(e){throw console.error("Failed to update team member:",e),e}},tp=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=u?"".concat(u,"/team/member_delete"):"/team/member_delete",r=await fetch(a,{method:"POST",headers:{[v]:"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(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},tg=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=u?"".concat(u,"/organization/member_add"):"/organization/member_add",r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,member:o})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create organization member:",e),e}},tf=async(e,t,o)=>{try{console.log("Form Values in organizationMemberDeleteCall:",o);let a=u?"".concat(u,"/organization/member_delete"):"/organization/member_delete",r=await fetch(a,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,user_id:o})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to delete organization member:",e),e}},tm=async(e,t,o)=>{try{console.log("Form Values in organizationMemberUpdateCall:",o);let a=u?"".concat(u,"/organization/member_update"):"/organization/member_update",r=await fetch(a,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,...o})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to update organization member:",e),e}},tw=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let a=u?"".concat(u,"/user/update"):"/user/update",r={...t};null!==o&&(r.user_role=o),r=JSON.stringify(r);let n=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!n.ok){let e=await n.json(),t=o7(e);throw y(t),Error(t)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},ty=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{let r;console.log("Form Values in userUpdateUserCall:",t);let n=u?"".concat(u,"/user/bulk_update"):"/user/bulk_update";if(a)r=JSON.stringify({all_users:!0,user_updates:t});else if(o&&o.length>0){let e=[];for(let a of o)e.push({user_id:a,...t});r=JSON.stringify({users:e})}else throw Error("Must provide either userIds or set allUsers=true");let c=await fetch(n,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}let l=await c.json();return console.log("API Response:",l),l}catch(e){throw console.error("Failed to create key:",e),e}},tj=async(e,t)=>{try{let o=u?"".concat(u,"/global/predict/spend/logs"):"/global/predict/spend/logs",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({data:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},t_=async e=>{try{let t=u?"".concat(u,"/health/services?service=slack_budget_alerts"):"/health/services?service=slack_budget_alerts";console.log("Checking Slack Budget Alerts service health");let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error(e)}let a=await o.json();return c.Z.success("Test Slack Alert worked - check your Slack!"),console.log("Service Health Response:",a),a}catch(e){throw console.error("Failed to perform health check:",e),e}},tv=async(e,t)=>{try{let o=u?"".concat(u,"/health/services?service=").concat(t):"/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}return await a.json()}catch(e){throw console.error("Failed to perform health check:",e),e}},tC=async e=>{try{let t=u?"".concat(u,"/budget/list"):"/budget/list",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tk=async e=>{try{let t=u?"".concat(u,"/budget/settings"):"/budget/settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tT=async(e,t,o)=>{try{let t=u?"".concat(u,"/get/config/callbacks"):"/get/config/callbacks",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tE=async e=>{try{let t=u?"".concat(u,"/config/list?config_type=general_settings"):"/config/list?config_type=general_settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tS=async e=>{try{let t=u?"".concat(u,"/router/settings"):"/router/settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get router settings:",e),e}},tb=async e=>{try{let t=u?"".concat(u,"/cache/settings"):"/cache/settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get cache settings:",e),e}},tF=async(e,t)=>{try{let o=u?"".concat(u,"/cache/settings/test"):"/cache/settings/test",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({cache_settings:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to test cache connection:",e),e}},tP=async(e,t)=>{try{let o=u?"".concat(u,"/cache/settings"):"/cache/settings",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({cache_settings:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to update cache settings:",e),e}},tO=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint"):"/config/pass_through_endpoint";t&&(o+="/team/".concat(t));let a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tB=async(e,t)=>{try{let o=u?"".concat(u,"/config/field/info?field_name=").concat(t):"/config/field/info?field_name=".concat(t),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},tN=async(e,t,o)=>{try{let a=u?"".concat(u,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return c.Z.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},tx=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},tA=async(e,t,o)=>{try{let a=u?"".concat(u,"/config/field/update"):"/config/field/update",r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return c.Z.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},tJ=async(e,t)=>{try{let o=u?"".concat(u,"/config/field/delete"):"/config/field/delete",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return c.Z.success("Field reset on proxy"),r}catch(e){throw console.error("Failed to get callbacks:",e),e}},tG=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint?endpoint_id=").concat(t):"/config/pass_through_endpoint?endpoint_id=".concat(t),a=await fetch(o,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tU=async(e,t)=>{try{let o=u?"".concat(u,"/config/update"):"/config/update",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},tI=async e=>{try{let t=u?"".concat(u,"/health"):"/health",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to call /health:",e),e}},tR=async(e,t)=>{try{let o=u?"".concat(u,"/health?model=").concat(encodeURIComponent(t)):"/health?model=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to call /health for model ".concat(t,":"),e),e}},tM=async e=>{try{let t=u?"".concat(u,"/cache/ping"):"/cache/ping",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /cache/ping:",e),e}},tz=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:100,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;try{let n=u?"".concat(u,"/health/history"):"/health/history",c=new URLSearchParams;t&&c.append("model",t),o&&c.append("status_filter",o),c.append("limit",a.toString()),c.append("offset",r.toString()),c.toString()&&(n+="?".concat(c.toString()));let l=await fetch(n,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.text();throw y(e),Error(e)}return await l.json()}catch(e){throw console.error("Failed to call /health/history:",e),e}},tL=async e=>{try{let t=u?"".concat(u,"/health/latest"):"/health/latest",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /health/latest:",e),e}},tD=async e=>{try{console.log("Getting proxy UI settings"),console.log("proxyBaseUrl in getProxyUISettings:",u);let t=u?"".concat(u,"/sso/get/ui_settings"):"/sso/get/ui_settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tV=async e=>{try{let t=u?"".concat(u,"/v2/guardrails/list"):"/v2/guardrails/list",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get guardrails list:",e),e}},tq=async e=>{try{let t=u?"".concat(u,"/prompts/list"):"/prompts/list",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get prompts list:",e),e}},tZ=async(e,t)=>{try{let o=u?"".concat(u,"/prompts/").concat(t,"/info"):"/prompts/".concat(t,"/info"),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get prompt info:",e),e}},tH=async(e,t)=>{try{let o=u?"".concat(u,"/prompts/").concat(t,"/versions"):"/prompts/".concat(t,"/versions"),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw 404!==a.status&&y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get prompt versions:",e),e}},tW=async(e,t)=>{try{let o=u?"".concat(u,"/prompts"):"/prompts",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create prompt:",e),e}},tY=async(e,t,o)=>{try{let a=u?"".concat(u,"/prompts/").concat(t):"/prompts/".concat(t),r=await fetch(a,{method:"PUT",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}return await r.json()}catch(e){throw console.error("Failed to update prompt:",e),e}},tQ=async(e,t)=>{try{let o=u?"".concat(u,"/prompts/").concat(t):"/prompts/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to delete prompt:",e),e}},tK=async(e,t)=>{try{let o=new FormData;o.append("file",t);let a=u?"".concat(u,"/utils/dotprompt_json_converter"):"/utils/dotprompt_json_converter",r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e)},body:o});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}return await r.json()}catch(e){throw console.error("Failed to convert prompt file:",e),e}},t$=async(e,t,o)=>{try{let a=u?"".concat(u,"/prompts/").concat(t):"/prompts/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}return await r.json()}catch(e){throw console.error("Failed to patch prompt:",e),e}},tX=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents"):"/v1/agents",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Create agent response:",r),r}catch(e){throw console.error("Failed to create agent:",e),e}},t0=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails"):"/guardrails",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({guardrail:t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Create guardrail response:",r),r}catch(e){throw console.error("Failed to create guardrail:",e),e}},t1=async(e,t,o)=>{try{let a=u?"".concat(u,"/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 r=await fetch(a,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("Fetched log details:",n),n}catch(e){throw console.error("Failed to fetch log details:",e),e}},t4=async e=>{try{let t=u?"".concat(u,"/get/internal_user_settings"):"/get/internal_user_settings";console.log("Fetching SSO settings from:",t);let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}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}},t3=async(e,t)=>{try{let o=u?"".concat(u,"/update/internal_user_settings"):"/update/internal_user_settings";console.log("Updating internal user settings:",t);let a=await fetch(o,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Updated internal user settings:",r),c.Z.success("Internal user settings updated successfully"),r}catch(e){throw console.error("Failed to update internal user settings:",e),e}},t2=async e=>{try{let t=u?"".concat(u,"/v1/mcp/server"):"/v1/mcp/server";console.log("Fetching MCP servers from:",t);let o=await fetch(t,{method:f.GET,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}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}},t5=async e=>{try{let t=u?"".concat(u,"/v1/mcp/access_groups"):"/v1/mcp/access_groups";console.log("Fetching MCP access groups from:",t);let o=await fetch(t,{method:f.GET,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("Fetched MCP access groups:",a),a.access_groups||[]}catch(e){throw console.error("Failed to fetch MCP access groups:",e),e}},t9=async(e,t)=>{try{console.log("Form Values in createMCPServer:",t);let o=u?"".concat(u,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},t6=async(e,t)=>{try{let o=u?"".concat(u,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"PUT",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to update MCP server:",e),e}},t8=async(e,t)=>{try{let o=(u?"".concat(u):"")+"/v1/mcp/server/".concat(t);console.log("in deleteMCPServer:",t);let a=await fetch(o,{method:f.DELETE,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}}catch(e){throw console.error("Failed to delete key:",e),e}},t7=async e=>{try{let t=u?"".concat(u,"/search_tools/list"):"/search_tools/list";console.log("Fetching search tools from:",t);let o=await fetch(t,{method:f.GET,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("Fetched search tools:",a),a}catch(e){throw console.error("Failed to fetch search tools:",e),e}},oe=async(e,t)=>{try{let o=u?"".concat(u,"/search_tools/").concat(t):"/search_tools/".concat(t);console.log("Fetching search tool by ID from:",o);let a=await fetch(o,{method:f.GET,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Fetched search tool:",r),r}catch(e){throw console.error("Failed to fetch search tool:",e),e}},ot=async(e,t)=>{try{console.log("Creating search tool with values:",t);let o=u?"".concat(u,"/search_tools"):"/search_tools",a=await fetch(o,{method:f.POST,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({search_tool:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Created search tool:",r),r}catch(e){throw console.error("Failed to create search tool:",e),e}},oo=async(e,t,o)=>{try{console.log("Updating search tool with ID:",t,"values:",o);let a=u?"".concat(u,"/search_tools/").concat(t):"/search_tools/".concat(t),r=await fetch(a,{method:f.PUT,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({search_tool:o})});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("Updated search tool:",n),n}catch(e){throw console.error("Failed to update search tool:",e),e}},oa=async(e,t)=>{try{let o=(u?"".concat(u):"")+"/search_tools/".concat(t);console.log("Deleting search tool:",t);let a=await fetch(o,{method:f.DELETE,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Deleted search tool:",r),r}catch(e){throw console.error("Failed to delete search tool:",e),e}},or=async e=>{try{let t=u?"".concat(u,"/search_tools/ui/available_providers"):"/search_tools/ui/available_providers";console.log("Fetching available search providers from:",t);let o=await fetch(t,{method:f.GET,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}let a=await o.json();return console.log("Fetched available search providers:",a),a}catch(e){throw console.error("Failed to fetch available search providers:",e),e}},on=async(e,t)=>{try{let o=u?"".concat(u,"/search_tools/test_connection"):"/search_tools/test_connection";console.log("Testing search tool connection:",o);let a=await fetch(o,{method:f.POST,headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({litellm_params:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Test connection response:",r),r}catch(e){throw console.error("Failed to test search tool connection:",e),e}},oc=async(e,t)=>{try{let o=u?"".concat(u,"/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={[v]:"Bearer ".concat(e),"Content-Type":"application/json"},r=await fetch(o,{method:"GET",headers:a}),n=await r.json();if(console.log("Fetched MCP tools response:",n),!r.ok){if(n.error&&n.message)throw Error(n.message);throw Error("Failed to fetch MCP tools")}return n}catch(e){return console.error("Failed to fetch MCP tools:",e),{tools:[],error:"network_error",message:e instanceof Error?e.message:"Failed to fetch MCP tools",stack_trace:null}}},ol=async(e,t,o)=>{try{let a=u?"".concat(u,"/mcp-rest/tools/call"):"/mcp-rest/tools/call";console.log("Calling MCP tool:",t,"with arguments:",o);let r={[v]:"Bearer ".concat(e),"Content-Type":"application/json"},n=await fetch(a,{method:"POST",headers:r,body:JSON.stringify({name:t,arguments:o})});if(!n.ok){let e="Network response was not ok",t=null,o=await n.text();try{let a=JSON.parse(o);a.detail?"string"==typeof a.detail?e=a.detail:"object"==typeof a.detail&&(e=a.detail.message||a.detail.error||"An error occurred",t=a.detail):e=a.message||a.error||e}catch(t){console.error("Failed to parse JSON error response:",t),o&&(e=o)}let a=Error(e);throw a.status=n.status,a.statusText=n.statusText,a.details=t,y(e),a}let c=await n.json();return console.log("MCP tool call response:",c),c}catch(e){throw console.error("Failed to call MCP tool:",e),console.error("Error type:",typeof e),e instanceof Error&&(console.error("Error message:",e.message),console.error("Error stack:",e.stack)),e}},oi=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e);return}return await a.json()}catch(e){throw console.error("Error creating tag:",e),e}},os=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e);return}return await a.json()}catch(e){throw console.error("Error updating tag:",e),e}},od=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e),{}}return await a.json()}catch(e){throw console.error("Error getting tag info:",e),e}},ou=async e=>{try{let t=u?"".concat(u,"/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 y(e),{}}return await o.json()}catch(e){throw console.error("Error listing tags:",e),e}},oh=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e);return}return await a.json()}catch(e){throw console.error("Error deleting tag:",e),e}},op=async e=>{try{let t=u?"".concat(u,"/get/default_team_settings"):"/get/default_team_settings";console.log("Fetching default team settings from:",t);let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}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}},og=async(e,t)=>{try{let o=u?"".concat(u,"/update/default_team_settings"):"/update/default_team_settings";console.log("Updating default team settings:",t);let a=await fetch(o,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Updated default team settings:",r),c.Z.success("Default team settings updated successfully"),r}catch(e){throw console.error("Failed to update default team settings:",e),e}},of=async(e,t)=>{try{let o=u?"".concat(u,"/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.json(),t=o7(e);throw y(t),Error(t)}let r=await a.json();return console.log("Team permissions response:",r),r}catch(e){throw console.error("Failed to get team permissions:",e),e}},om=async(e,t,o)=>{try{let a=u?"".concat(u,"/team/permissions_update"):"/team/permissions_update",r=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(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return console.log("Team permissions response:",n),n}catch(e){throw console.error("Failed to update team permissions:",e),e}},ow=async(e,t)=>{try{let o=u?"".concat(u,"/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:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to fetch session logs:",e),e}},oy=async(e,t)=>{try{let o=u?"".concat(u,"/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}},oj=async function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let t=u?"".concat(u,"/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}},o_=async(e,t)=>{try{let o=u?"".concat(u,"/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}},ov=async(e,t)=>{try{let o=u?"".concat(u,"/vector_store/info"):"/vector_store/info",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 get vector store info")}return await a.json()}catch(e){throw console.error("Error getting vector store info:",e),e}},oC=async(e,t)=>{try{let o=u?"".concat(u,"/vector_store/update"):"/vector_store/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.json();throw Error(e.detail||"Failed to update vector store")}return await a.json()}catch(e){throw console.error("Error updating vector store:",e),e}},ok=async e=>{try{let t=u?"".concat(u,"/email/event_settings"):"/email/event_settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},oT=async(e,t)=>{try{let o=u?"".concat(u,"/email/event_settings"):"/email/event_settings",a=await fetch(o,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to update email event settings")}let r=await a.json();return console.log("Update email event settings response:",r),r}catch(e){throw console.error("Failed to update email event settings:",e),e}},oE=async e=>{try{let t=u?"".concat(u,"/email/event_settings/reset"):"/email/event_settings/reset",o=await fetch(t,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},oS=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/").concat(t):"/v1/agents/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Delete agent response:",r),r}catch(e){throw console.error("Failed to delete agent:",e),e}},ob=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/").concat(t,"/make_public"):"/v1/agents/".concat(t,"/make_public"),a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Make agent public response:",r),r}catch(e){throw console.error("Failed to make agent public:",e),e}},oF=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/make_public"):"/v1/agents/make_public",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({agent_ids:t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Make agents public response:",r),r}catch(e){throw console.error("Failed to make agents public:",e),e}},oP=async(e,t)=>{try{let o=u?"".concat(u,"/v1/mcp/make_public"):"/v1/mcp/make_public",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({mcp_server_ids:t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Make agents public response:",r),r}catch(e){throw console.error("Failed to make agents public:",e),e}},oO=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails/").concat(t):"/guardrails/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Delete guardrail response:",r),r}catch(e){throw console.error("Failed to delete guardrail:",e),e}},oB=async e=>{try{let t=u?"".concat(u,"/guardrails/ui/add_guardrail_settings"):"/guardrails/ui/add_guardrail_settings",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},oN=async e=>{try{let t=u?"".concat(u,"/guardrails/ui/provider_specific_params"):"/guardrails/ui/provider_specific_params",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},ox=async e=>{try{let t=u?"".concat(u,"/v1/agents"):"/v1/agents",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error("Failed to get agents list")}let a=await o.json();return console.log("Agents list response:",a),{agents:a}}catch(e){throw console.error("Failed to get agents list:",e),e}},oA=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/").concat(t):"/v1/agents/".concat(t),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to get agent info")}let r=await a.json();return console.log("Agent info response:",r),r}catch(e){throw console.error("Failed to get agent info:",e),e}},oJ=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails/").concat(t,"/info"):"/guardrails/".concat(t,"/info"),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to get guardrail info")}let r=await a.json();return console.log("Guardrail info response:",r),r}catch(e){throw console.error("Failed to get guardrail info:",e),e}},oG=async(e,t,o)=>{try{let a=u?"".concat(u,"/v1/agents/").concat(t):"/v1/agents/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw y(e),Error("Failed to patch agent")}let n=await r.json();return console.log("Patch agent response:",n),n}catch(e){throw console.error("Failed to update guardrail:",e),e}},oU=async(e,t,o)=>{try{let a=u?"".concat(u,"/guardrails/").concat(t):"/guardrails/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw y(e),Error("Failed to update guardrail")}let n=await r.json();return console.log("Update guardrail response:",n),n}catch(e){throw console.error("Failed to update guardrail:",e),e}},oI=async(e,t,o,a,r)=>{try{let c=u?"".concat(u,"/guardrails/apply_guardrail"):"/guardrails/apply_guardrail",l={guardrail_name:t,text:o};a&&(l.language=a),r&&r.length>0&&(l.entities=r);let i=await fetch(c,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(l)});if(!i.ok){let e=await i.text(),t="Failed to apply guardrail";try{var n;let o=JSON.parse(e);(null===(n=o.error)||void 0===n?void 0:n.message)?t=o.error.message:o.detail?t=o.detail:o.message&&(t=o.message)}catch(o){t=e||t}throw y(e),Error(t)}let s=await i.json();return console.log("Apply guardrail response:",s),s}catch(e){throw console.error("Failed to apply guardrail:",e),e}},oR=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails/validate_blocked_words_file"):"/guardrails/validate_blocked_words_file",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({file_content:t})});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to validate blocked words file")}let r=await a.json();return console.log("Validate blocked words file response:",r),r}catch(e){throw console.error("Failed to validate blocked words file:",e),e}},oM=async e=>{try{let t=u?"".concat(u,"/get/sso_settings"):"/get/sso_settings";console.log("Fetching SSO configuration from:",t);let o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}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}},oz=async(e,t)=>{try{let r=u?"".concat(u,"/update/sso_settings"):"/update/sso_settings";console.log("Updating SSO configuration:",t);let n=await fetch(r,{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){var o,a;let e=await n.json(),t="object"==typeof(null==e?void 0:e.detail)?(null===(o=e.detail)||void 0===o?void 0:o.error)||(null===(a=e.detail)||void 0===a?void 0:a.message):null==e?void 0:e.detail,r="string"==typeof t&&t.length>0?t:o7(e);y(r);let c=Error(r);throw(null==e?void 0:e.detail)!==void 0&&(c.detail=e.detail),c.rawError=e,c}let c=await n.json();return console.log("Updated SSO configuration:",c),c}catch(e){throw console.error("Failed to update SSO configuration:",e),e}},oL=async(e,t,o,a,r)=>{try{let t=u?"".concat(u,"/audit"):"/audit",o=new URLSearchParams;a&&o.append("page",a.toString()),r&&o.append("page_size",r.toString());let n=o.toString();n&&(t+="?".concat(n));let c=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.json(),t=o7(e);throw y(t),Error(t)}return await c.json()}catch(e){throw console.error("Failed to fetch audit logs:",e),e}},oD=async e=>{try{let t=u?"".concat(u,"/user/available_users"):"/user/available_users",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e)}});if(!o.ok){if(404===o.status)return null;let e=await o.text();throw y(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to fetch remaining users:",e),e}},oV=async(e,t,o)=>{try{let a=u?"".concat(u,"/config/pass_through_endpoint/").concat(encodeURIComponent(t)):"/config/pass_through_endpoint/".concat(encodeURIComponent(t)),r=await fetch(a,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=o7(e);throw y(t),Error(t)}let n=await r.json();return c.Z.success("Pass through endpoint updated successfully"),n}catch(e){throw console.error("Failed to update pass through endpoint:",e),e}},oq=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint?endpoint_id=").concat(encodeURIComponent(t)):"/config/pass_through_endpoint?endpoint_id=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}let r=(await a.json()).endpoints;if(!r||0===r.length)throw Error("Pass through endpoint not found");return r[0]}catch(e){throw console.error("Failed to get pass through endpoint info:",e),e}},oZ=async(e,t)=>{try{let o=u?"".concat(u,"/config/callback/delete"):"/config/callback/delete",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({callback_name:t})});if(!a.ok){let e=await a.json(),t=o7(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to delete specific callback:",e),e}},oH=async e=>{let t=g(),o=await fetch("".concat(t,"/v1/mcp/tools"),{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw Error("HTTP error! status: ".concat(o.status));return await o.json()},oW=async(e,t)=>{try{console.log("Testing MCP connection with config:",JSON.stringify(t));let a=u?"".concat(u,"/mcp-rest/test/connection"):"/mcp-rest/test/connection",r=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",[v]:"Bearer ".concat(e)},body:JSON.stringify(t)}),n=r.headers.get("content-type");if(!n||!n.includes("application/json")){let e=await r.text();throw console.error("Received non-JSON response:",e),Error("Received non-JSON response (".concat(r.status,": ").concat(r.statusText,"). Check network tab for details."))}let c=await r.json();if(!r.ok||"error"===c.status){if("error"===c.status);else{var o;return{status:"error",message:(null===(o=c.error)||void 0===o?void 0:o.message)||"MCP connection test failed: ".concat(r.status," ").concat(r.statusText)}}}return c}catch(e){throw console.error("MCP connection test error:",e),e}},oY=async(e,t,o)=>{try{console.log("Testing MCP tools list with config:",JSON.stringify(t));let a=u?"".concat(u,"/mcp-rest/test/tools/list"):"/mcp-rest/test/tools/list",r={"Content-Type":"application/json"};e&&(r["x-litellm-api-key"]=e),o?r.Authorization="Bearer ".concat(o):e&&(r[v]="Bearer ".concat(e));let n=await fetch(a,{method:"POST",headers:r,body:JSON.stringify(t)}),c=n.headers.get("content-type");if(!c||!c.includes("application/json")){let e=await n.text();throw console.error("Received non-JSON response:",e),Error("Received non-JSON response (".concat(n.status,": ").concat(n.statusText,"). Check network tab for details."))}let l=await n.json();if((!n.ok||l.error)&&!l.error)return{tools:[],error:"request_failed",message:l.message||"MCP tools list failed: ".concat(n.status," ").concat(n.statusText)};return l}catch(e){throw console.error("MCP tools list test error:",e),e}},oQ=async(e,t)=>{let o=u?"".concat(u,"/v1/mcp/server/oauth/session"):"/v1/mcp/server/oauth/session",a=await fetch(o,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await a.json();if(!a.ok)throw Error(o7(r)||(null==r?void 0:r.error)||"Failed to cache MCP server");return r},oK=async(e,t,o)=>{let a=g(),r=encodeURIComponent(t.trim()),n="".concat(a,"/v1/mcp/server/oauth/").concat(r,"/register"),c=await fetch(n,{method:"POST",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify(o)}),l=await c.json();if(!c.ok)throw Error(o7(l)||(null==l?void 0:l.detail)||"Failed to register OAuth client");return l},o$=e=>{let{serverId:t,clientId:o,redirectUri:a,state:r,codeChallenge:n,scope:c}=e,l=g(),i=encodeURIComponent(t.trim()),s="".concat(l,"/v1/mcp/server/oauth/").concat(i,"/authorize"),d=new URLSearchParams({redirect_uri:a,state:r,response_type:"code",code_challenge:n,code_challenge_method:"S256"});return o&&o.trim().length>0&&d.set("client_id",o),c&&c.trim().length>0&&d.set("scope",c),"".concat(s,"?").concat(d.toString())},oX=async e=>{let{serverId:t,code:o,clientId:a,clientSecret:r,codeVerifier:n,redirectUri:c}=e,l=g(),i=encodeURIComponent(t.trim()),s="".concat(l,"/v1/mcp/server/oauth/").concat(i,"/token"),d=new URLSearchParams;d.set("grant_type","authorization_code"),d.set("code",o),a&&a.trim().length>0&&d.set("client_id",a),r&&r.trim().length>0&&d.set("client_secret",r),d.set("code_verifier",n),d.set("redirect_uri",c);let u=await fetch(s,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString()}),h=await u.json();if(!u.ok)throw Error(o7(h)||(null==h?void 0:h.detail)||"OAuth token exchange failed");return h},o0=async(e,t,o)=>{try{let a="".concat(g(),"/v1/vector_stores/").concat(t,"/search"),r=await fetch(a,{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({query:o})});if(!r.ok){let e=await r.text();return await y(e),null}return await r.json()}catch(e){throw console.error("Error testing vector store search:",e),e}},o1=async(e,t,o,a)=>{try{let r="".concat(g(),"/v1/search/").concat(t),n=await fetch(r,{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({query:o,max_results:a||5})});if(!n.ok){let e=await n.text();return await y(e),null}return await n.json()}catch(e){throw console.error("Error querying search tool:",e),e}},o4=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:50,n=arguments.length>5?arguments[5]:void 0;try{let c=u?"".concat(u,"/tag/user-agent/analytics"):"/tag/user-agent/analytics",l=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)};l.append("start_date",i(t)),l.append("end_date",i(o)),l.append("page",a.toString()),l.append("page_size",r.toString()),n&&l.append("user_agent_filter",n);let s=l.toString();s&&(c+="?".concat(s));let d=await fetch(c,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!d.ok){let e=await d.json(),t=o7(e);throw y(t),Error(t)}return await d.json()}catch(e){throw console.error("Failed to fetch user agent analytics:",e),e}},o3=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/dau"):"/tag/dau",n=new URLSearchParams;n.append("end_date",(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)})(t)),a&&a.length>0?a.forEach(e=>{n.append("tag_filters",e)}):o&&n.append("tag_filter",o);let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch DAU:",e),e}},o2=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/wau"):"/tag/wau",n=new URLSearchParams;n.append("end_date",(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)})(t)),a&&a.length>0?a.forEach(e=>{n.append("tag_filters",e)}):o&&n.append("tag_filter",o);let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch WAU:",e),e}},o5=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/mau"):"/tag/mau",n=new URLSearchParams;n.append("end_date",(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)})(t)),a&&a.length>0?a.forEach(e=>{n.append("tag_filters",e)}):o&&n.append("tag_filter",o);let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch MAU:",e),e}},o9=async e=>{try{let t=u?"".concat(u,"/tag/distinct"):"/tag/distinct",o=await fetch(t,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=o7(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to fetch distinct tags:",e),e}},o6=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/summary"):"/tag/summary",n=new URLSearchParams,c=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)};n.append("start_date",c(t)),n.append("end_date",c(o)),a&&a.length>0&&a.forEach(e=>{n.append("tag_filters",e)});let l=n.toString();l&&(r+="?".concat(l));let i=await fetch(r,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=o7(e);throw y(t),Error(t)}return await i.json()}catch(e){throw console.error("Failed to fetch user agent summary:",e),e}},o8=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,a=arguments.length>3?arguments[3]:void 0;try{let r=u?"".concat(u,"/tag/user-agent/per-user-analytics"):"/tag/user-agent/per-user-analytics",n=new URLSearchParams;n.append("page",t.toString()),n.append("page_size",o.toString()),a&&a.length>0&&a.forEach(e=>{n.append("tag_filters",e)});let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=o7(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch per-user analytics:",e),e}},o7=e=>(null==e?void 0:e.error)&&(e.error.message||e.error)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||(null==e?void 0:e.error)||JSON.stringify(e),ae=async(e,t)=>{let o=g(),a=JSON.stringify({username:e,password:t}),r=await fetch(o?"".concat(o,"/v2/login"):"/v2/login",{method:"POST",body:a,credentials:"include",headers:{"Content-Type":"application/json"}});if(!r.ok)throw Error(o7(await r.json()));return await r.json()},at=async e=>{let t=g(),o=await fetch(t?"".concat(t,"/get/ui_settings"):"/get/ui_settings",{method:"GET",headers:{[v]:"Bearer ".concat(e)}});if(!o.ok)throw Error(o7(await o.json()));return await o.json()},ao=async(e,t)=>{let o=g(),a=await fetch(o?"".concat(o,"/update/ui_settings"):"/update/ui_settings",{method:"PATCH",headers:{[v]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error(o7(await a.json()));return await a.json()}},85968:function(e,t,o){o.d(t,{O:function(){return a}});let a=e=>{if(!e)return"An unknown error occurred";if("string"==typeof e)return e;if(e.message)try{let t=JSON.parse(e.message);if(t.error&&t.error.message)return t.error.message;return"string"==typeof t?t:JSON.stringify(t,null,2)}catch(t){return e.message}if(e.response&&e.response.data){if("string"==typeof e.response.data)return e.response.data;if(e.response.data.message)return e.response.data.message;if(e.response.data.error)return"string"==typeof e.response.data.error?e.response.data.error:e.response.data.error.message||JSON.stringify(e.response.data.error)}return String(e)}},3914:function(e,t,o){function a(){if("undefined"==typeof document)return;let e=window.location.hostname,t=window.location.pathname,o=["/","/ui"];if(t&&"/"!==t&&!t.startsWith("/ui")){let e=t.substring(0,t.lastIndexOf("/")+1);e&&!o.includes(e)&&o.push(e)}let a=["Lax","Strict","None"];o.forEach(t=>{document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,";"),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,"; domain=").concat(e,";"),a.forEach(o=>{let a="None"===o?" Secure;":"";document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,"; SameSite=").concat(o,";").concat(a),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,"; domain=").concat(e,"; SameSite=").concat(o,";").concat(a)})}),console.log("After clearing cookies:",document.cookie)}function r(e){if("undefined"==typeof document)return null;let t=document.cookie.split("; ").find(t=>t.startsWith(e+"="));return t?t.split("=")[1]:null}o.d(t,{b:function(){return a},e:function(){return r}})},9309:function(e,t,o){o.d(t,{Ac:function(){return n},N4:function(){return a},aS:function(){return r}});let a=e=>e?e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()):e;function r(e,t){return e.length>t?e.substring(0,t)+"...":e}let n=(e,t)=>{if(!t)return Promise.resolve();try{return JSON.parse(t),Promise.resolve()}catch(e){return Promise.reject("Please enter valid JSON")}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8049-d0c517a619211cdd.js b/litellm/proxy/_experimental/out/_next/static/chunks/8049-d0c517a619211cdd.js new file mode 100644 index 0000000000..37a865bb8d --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/8049-d0c517a619211cdd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8049],{31283:function(e,t,o){o.d(t,{o:function(){return a.Z}});var a=o(49566)},63610:function(e,t,o){o.d(t,{d:function(){return g}});var a=o(57437),r=o(2265),n=o(4260),c=o(37592),l=o(19015),i=o(10032),s=o(31283),d=o(15424),u=o(99981),h=o(19250),p=o(9309);let g=["metadata","config","enforced_params","aliases"],f=(e,t)=>g.includes(e)||"json"===t.format,m=e=>{if(!e)return!0;try{return JSON.parse(e),!0}catch(e){return!1}},w=(e,t,o)=>{let a={max_budget:"Enter maximum budget in USD (e.g., 100.50)",budget_duration:"Select a time period for budget reset",tpm_limit:"Enter maximum tokens per minute (whole number)",rpm_limit:"Enter maximum requests per minute (whole number)",duration:"Enter duration (e.g., 30s, 24h, 7d)",metadata:'Enter JSON object with key-value pairs\nExample: {"team": "research", "project": "nlp"}',config:'Enter configuration as JSON object\nExample: {"setting": "value"}',permissions:"Enter comma-separated permission strings",enforced_params:'Enter parameters as JSON object\nExample: {"param": "value"}',blocked:"Enter true/false or specific block conditions",aliases:'Enter aliases as JSON object\nExample: {"alias1": "value1", "alias2": "value2"}',models:"Select one or more model names",key_alias:"Enter a unique identifier for this key",tags:"Enter comma-separated tag strings"}[e]||({string:"Text input",number:"Numeric input",integer:"Whole number input",boolean:"True/False value"})[o]||"Text input";return f(e,t)?"".concat(a,"\nMust be valid JSON format"):t.enum?"Select from available options\nAllowed values: ".concat(t.enum.join(", ")):a};t.Z=e=>{let{schemaComponent:t,excludedFields:o=[],form:g,overrideLabels:y={},overrideTooltips:j={},customValidation:_={},defaultValues:C={}}=e,[v,k]=(0,r.useState)(null),[T,E]=(0,r.useState)(null);(0,r.useEffect)(()=>{(async()=>{try{let e=(await (0,h.getOpenAPISchema)()).components.schemas[t];if(!e)throw Error('Schema component "'.concat(t,'" not found'));k(e);let a={};Object.keys(e.properties).filter(e=>!o.includes(e)&&void 0!==C[e]).forEach(e=>{a[e]=C[e]}),g.setFieldsValue(a)}catch(e){console.error("Schema fetch error:",e),E(e instanceof Error?e.message:"Failed to fetch schema")}})()},[t,g,o]);let S=e=>{if(e.type)return e.type;if(e.anyOf){let t=e.anyOf.map(e=>e.type);if(t.includes("number")||t.includes("integer"))return"number";t.includes("string")}return"string"},b=(e,t)=>{var o;let r;let h=S(t),g=null==v?void 0:null===(o=v.required)||void 0===o?void 0:o.includes(e),k=y[e]||t.title||(0,p.N4)(e),T=j[e]||t.description,E=[];g&&E.push({required:!0,message:"".concat(k," is required")}),_[e]&&E.push({validator:_[e]}),f(e,t)&&E.push({validator:async(e,t)=>{if(t&&!m(t))throw Error("Please enter valid JSON")}});let b=T?(0,a.jsxs)("span",{children:[k," ",(0,a.jsx)(u.Z,{title:T,children:(0,a.jsx)(d.Z,{style:{marginLeft:"4px"}})})]}):k;return r=f(e,t)?(0,a.jsx)(n.default.TextArea,{rows:4,placeholder:"Enter as JSON",className:"font-mono"}):t.enum?(0,a.jsx)(c.default,{children:t.enum.map(e=>(0,a.jsx)(c.default.Option,{value:e,children:e},e))}):"number"===h||"integer"===h?(0,a.jsx)(l.Z,{style:{width:"100%"},precision:"integer"===h?0:void 0}):"duration"===e?(0,a.jsx)(s.o,{placeholder:"eg: 30s, 30h, 30d"}):(0,a.jsx)(s.o,{placeholder:T||""}),(0,a.jsx)(i.Z.Item,{label:b,name:e,className:"mt-8",rules:E,initialValue:C[e],help:(0,a.jsx)("div",{className:"text-xs text-gray-500",children:w(e,t,h)}),children:r},e)};return T?(0,a.jsxs)("div",{className:"text-red-500",children:["Error: ",T]}):(null==v?void 0:v.properties)?(0,a.jsx)("div",{children:Object.entries(v.properties).filter(e=>{let[t]=e;return!o.includes(t)}).map(e=>{let[t,o]=e;return b(t,o)})}):null}},9114:function(e,t,o){var a=o(2265),r=o(57271),n=o(85968);function c(){return"topRight"}function l(e,t){var o;return"string"==typeof e?{message:t,description:e}:{message:null!==(o=e.message)&&void 0!==o?o:t,...e}}function i(e){return"number"==typeof e?e:"string"==typeof e&&/^\d+$/.test(e)?parseInt(e,10):void 0}let s=["invalid api key","invalid authorization header format","authentication error","invalid proxy server token","invalid jwt token","invalid jwt submitted","unauthorized access to metrics endpoint"],d=["admin-only endpoint","not allowed to access model","user does not have permission","access forbidden","invalid credentials used to access ui","user not allowed to access proxy"],u=["db not connected","database not initialized","no db connected","prisma client not initialized","service unhealthy"],h=["no models configured on proxy","llm router not initialized","no deployments available","no healthy deployment available","not allowed to access model due to tags configuration","invalid model name passed in"],p=["deployment over user-defined ratelimit","crossed tpm / rpm / max parallel request limit","max parallel request limit"],g=["budget exceeded","crossed budget","provider budget"],f=["must be a litellm enterprise user","only be available for liteLLM enterprise users","missing litellm-enterprise package","only available on the docker image","enterprise feature","premium user"],m=["invalid json payload","invalid request type","invalid key format","invalid hash key","invalid sort column","invalid sort order","invalid limit","invalid file type","invalid field","invalid date format"],w=["model not found","model with id","credential not found","user not found","team not found","organization not found","mcp server with id","tool '"],y=["already exists","team member is already in team","user already exists"],j=["violated openai moderation policy","violated jailbreak threshold","violated prompt_injection threshold","violated content safety policy","violated lasso guardrail policy","blocked by pillar security guardrail","violated azure prompt shield guardrail policy","content blocked by model armor","response blocked by model armor","streaming response blocked by model armor","guardrail","moderation"],_=["invalid purpose","service must be specified","invalid response - response.response is none"],C=["cloudzero settings not configured","failed to decrypt cloudzero api key","cloudzero settings not found"],v=["created successfully","updated successfully","deleted successfully","credential created successfully","model added successfully","team created successfully","user created successfully","organization created successfully","cloudzero settings initialized successfully","cloudzero settings updated successfully","cloudzero export completed successfully","mock llm request made","mock slack alert sent","mock email alert sent","spend for all api keys and teams reset successfully","monthlyglobalspend view refreshed","cache cleared successfully","cache set successfully","ip ","deleted successfully"],k=["rate limit reached for deployment","deployment cooldown period active"],T=["this feature is only available for litellm enterprise users","enterprise features are not available","regenerating virtual keys is an enterprise feature","trying to set allowed_routes. this is an enterprise feature"],E=["invalid maximum_spend_logs_retention_interval value","error has invalid or non-convertible code","failed to save health check to database"],S={showProgress:!0,pauseOnHover:!0};t.Z={error(e){var t,o;let a=l(e,"Error");r.ZP.error({...S,...a,placement:null!==(t=a.placement)&&void 0!==t?t:c(),duration:null!==(o=a.duration)&&void 0!==o?o:6})},warning(e){var t,o;let a=l(e,"Warning");r.ZP.warning({...S,...a,placement:null!==(t=a.placement)&&void 0!==t?t:c(),duration:null!==(o=a.duration)&&void 0!==o?o:5})},info(e){var t,o;let a=l(e,"Info");r.ZP.info({...S,...a,placement:null!==(t=a.placement)&&void 0!==t?t:c(),duration:null!==(o=a.duration)&&void 0!==o?o:4})},success(e){var t,o;if(a.isValidElement(e)){r.ZP.success({...S,message:"Success",description:e,placement:c(),duration:3.5});return}let n=l(e,"Success");r.ZP.success({...S,...n,placement:null!==(t=n.placement)&&void 0!==t?t:c(),duration:null!==(o=n.duration)&&void 0!==o?o:3.5})},fromBackend(e,t){var o,a,l,b,F,P,O,B,N,x,A,J;let G=null!==(J=null!==(A=i(null==e?void 0:null===(x=e.response)||void 0===x?void 0:x.status))&&void 0!==A?A:i(null==e?void 0:e.status_code))&&void 0!==J?J:i(null==e?void 0:e.code),U=function(e){var t,o,a,r,c,l,i,s,d,u,h,p;if("string"==typeof e)return e;let g=null!==(p=null!==(h=null!==(u=null!==(d=null!==(s=null==e?void 0:null===(a=e.response)||void 0===a?void 0:null===(o=a.data)||void 0===o?void 0:null===(t=o.error)||void 0===t?void 0:t.message)&&void 0!==s?s:null==e?void 0:null===(c=e.response)||void 0===c?void 0:null===(r=c.data)||void 0===r?void 0:r.message)&&void 0!==d?d:null==e?void 0:null===(i=e.response)||void 0===i?void 0:null===(l=i.data)||void 0===l?void 0:l.error)&&void 0!==u?u:null==e?void 0:e.detail)&&void 0!==h?h:null==e?void 0:e.message)&&void 0!==p?p:e;return(0,n.O)(g)}(e),I={...null!=t?t:{},description:U,placement:null!==(o=null==t?void 0:t.placement)&&void 0!==o?o:c()};if(void 0!==G||e instanceof Error||"string"==typeof e||e&&"object"==typeof e&&("error"in e||"detail"in e)){let e=function(e,t){var o,a,r,n,c;let l=(t||"").toLowerCase();return s.some(e=>l.includes(e))?"Authentication Error":d.some(e=>l.includes(e))?"Access Denied":(null==u?void 0:null===(o=u.some)||void 0===o?void 0:o.call(u,e=>l.includes(e)))||503===e?"Service Unavailable":(null==g?void 0:null===(a=g.some)||void 0===a?void 0:a.call(g,e=>l.includes(e)))?"Budget Exceeded":(null==f?void 0:null===(r=f.some)||void 0===r?void 0:r.call(f,e=>l.includes(e)))?"Feature Unavailable":(null==h?void 0:null===(n=h.some)||void 0===n?void 0:n.call(h,e=>l.includes(e)))?"Routing Error":y.some(e=>l.includes(e))?"Already Exists":j.some(e=>l.includes(e))?"Content Blocked":_.some(e=>l.includes(e))?"Validation Error":C.some(e=>l.includes(e))?"Integration Error":m.some(e=>l.includes(e))?"Validation Error":404===e||l.includes("not found")||w.some(e=>l.includes(e))?"Not Found":429===e||l.includes("rate limit")||l.includes("tpm")||l.includes("rpm")||(null==p?void 0:null===(c=p.some)||void 0===c?void 0:c.call(p,e=>l.includes(e)))?"Rate Limit Exceeded":e&&e>=500?"Server Error":401===e?"Authentication Error":403===e?"Access Denied":l.includes("enterprise")||l.includes("premium")?"Info":e&&e>=400?"Request Error":"Error"}(G,U),o={...I,message:e};if("Rate Limit Exceeded"===e||"Info"===e||"Budget Exceeded"===e||"Feature Unavailable"===e||"Content Blocked"===e||"Integration Error"===e){r.ZP.warning({...S,...o,duration:null!==(a=null==t?void 0:t.duration)&&void 0!==a?a:7});return}if("Server Error"===e){r.ZP.error({...S,...o,duration:null!==(l=null==t?void 0:t.duration)&&void 0!==l?l:8});return}if("Request Error"===e||"Authentication Error"===e||"Access Denied"===e||"Not Found"===e||"Error"===e||"Already Exists"===e){r.ZP.error({...S,...o,duration:null!==(b=null==t?void 0:t.duration)&&void 0!==b?b:6});return}r.ZP.info({...S,...o,duration:null!==(F=null==t?void 0:t.duration)&&void 0!==F?F:4});return}let R=function(e){let t=(e||"").toLowerCase();return v.some(e=>t.includes(e))?{kind:"success",title:"Success"}:T.some(e=>t.includes(e))?{kind:"warning",title:"Feature Notice"}:E.some(e=>t.includes(e))?{kind:"warning",title:"Configuration Warning"}:k.some(e=>t.includes(e))?{kind:"warning",title:"Rate Limit"}:null}(U),M={...I,message:null!==(P=null==R?void 0:R.title)&&void 0!==P?P:"Info"};if((null==R?void 0:R.kind)==="success"){r.ZP.success({...S,...M,duration:null!==(O=null==t?void 0:t.duration)&&void 0!==O?O:3.5});return}if((null==R?void 0:R.kind)==="warning"){r.ZP.warning({...S,...M,duration:null!==(B=null==t?void 0:t.duration)&&void 0!==B?B:6});return}r.ZP.info({...S,...M,duration:null!==(N=null==t?void 0:t.duration)&&void 0!==N?N:4})},clear(){r.ZP.destroy()}}},19250:function(e,t,o){o.r(t),o.d(t,{DEFAULT_ORGANIZATION:function(){return m},PredictedSpendLogsCall:function(){return tj},addAllowedIP:function(){return eb},adminGlobalActivity:function(){return eH},adminGlobalActivityExceptions:function(){return eQ},adminGlobalActivityExceptionsPerDeployment:function(){return eK},adminGlobalActivityPerModel:function(){return eW},adminGlobalCacheActivity:function(){return eY},adminSpendLogsCall:function(){return eD},adminTopEndUsersCall:function(){return eq},adminTopKeysCall:function(){return eV},adminTopModelsCall:function(){return e$},adminspendByProvider:function(){return eZ},agentDailyActivityCall:function(){return ep},agentHubPublicModelsCall:function(){return ek},alertingSettingsCall:function(){return M},allEndUsersCall:function(){return eR},allTagNamesCall:function(){return eI},applyGuardrail:function(){return oR},availableTeamListCall:function(){return $},budgetCreateCall:function(){return G},budgetDeleteCall:function(){return J},budgetUpdateCall:function(){return U},buildMcpOAuthAuthorizeUrl:function(){return oX},cacheTemporaryMcpServer:function(){return oK},cachingHealthCheckCall:function(){return tM},callMCPTool:function(){return ol},cancelModelCostMapReload:function(){return O},claimOnboardingToken:function(){return em},convertPromptFileToJson:function(){return tK},createAgentCall:function(){return tX},createGuardrailCall:function(){return t0},createMCPServer:function(){return t9},createPassThroughEndpoint:function(){return tx},createPromptCall:function(){return tY},createSearchTool:function(){return ot},credentialCreateCall:function(){return tt},credentialDeleteCall:function(){return tr},credentialGetCall:function(){return ta},credentialListCall:function(){return to},credentialUpdateCall:function(){return tn},customerDailyActivityCall:function(){return eh},defaultProxyBaseUrl:function(){return s},deleteAgentCall:function(){return oS},deleteAllowedIP:function(){return eF},deleteCallback:function(){return oH},deleteConfigFieldSetting:function(){return tJ},deleteGuardrailCall:function(){return oO},deleteMCPServer:function(){return t8},deletePassThroughEndpointsCall:function(){return tG},deletePromptCall:function(){return tQ},deleteSearchTool:function(){return oa},exchangeMcpOAuthToken:function(){return o0},fetchAvailableSearchProviders:function(){return or},fetchMCPAccessGroups:function(){return t5},fetchMCPServers:function(){return t2},fetchSearchToolById:function(){return oe},fetchSearchTools:function(){return t7},formatDate:function(){return l},getAgentCreateMetadata:function(){return _},getAgentInfo:function(){return oJ},getAgentsList:function(){return oA},getAllowedIPs:function(){return eS},getBudgetList:function(){return tv},getBudgetSettings:function(){return tk},getCacheSettingsCall:function(){return tb},getCallbackConfigsCall:function(){return i},getCallbacksCall:function(){return tT},getCategoryYaml:function(){return ox},getConfigFieldSetting:function(){return tB},getDefaultTeamSettings:function(){return op},getEmailEventSettings:function(){return ok},getGeneralSettingsCall:function(){return tE},getGuardrailInfo:function(){return oG},getGuardrailProviderSpecificParams:function(){return oN},getGuardrailUISettings:function(){return oB},getGuardrailsList:function(){return tV},getInternalUserSettings:function(){return t4},getModelCostMapReloadStatus:function(){return B},getOnboardingCredentials:function(){return ef},getOpenAPISchema:function(){return S},getPassThroughEndpointInfo:function(){return oZ},getPassThroughEndpointsCall:function(){return tO},getPossibleUserRoles:function(){return e7},getPromptInfo:function(){return tZ},getPromptVersions:function(){return tH},getPromptsList:function(){return tq},getProviderCreateMetadata:function(){return j},getProxyBaseUrl:function(){return g},getProxyUISettings:function(){return tD},getPublicModelHubInfo:function(){return E},getRemainingUsers:function(){return oV},getRouterSettingsCall:function(){return tS},getSSOSettings:function(){return oz},getTeamPermissionsCall:function(){return of},getTotalSpendCall:function(){return eg},getUiConfig:function(){return T},getUiSettings:function(){return ao},healthCheckCall:function(){return tI},healthCheckHistoryCall:function(){return tz},individualModelHealthCheckCall:function(){return tR},invitationClaimCall:function(){return R},invitationCreateCall:function(){return I},keyAliasesCall:function(){return e3},keyCreateCall:function(){return L},keyCreateServiceAccountCall:function(){return z},keyDeleteCall:function(){return V},keyInfoCall:function(){return eX},keyInfoV1Call:function(){return e1},keyListCall:function(){return e4},keySpendLogsCall:function(){return eJ},keyUpdateCall:function(){return tc},latestHealthChecksCall:function(){return tL},listMCPTools:function(){return oc},loginCall:function(){return at},makeAgentPublicCall:function(){return ob},makeAgentsPublicCall:function(){return oF},makeMCPPublicCall:function(){return oP},makeModelGroupPublic:function(){return k},mcpHubPublicServersCall:function(){return eT},mcpToolsCall:function(){return oY},modelAvailableCall:function(){return eA},modelCostMap:function(){return b},modelCreateCall:function(){return N},modelDeleteCall:function(){return A},modelExceptionsCall:function(){return eN},modelHubCall:function(){return eE},modelHubPublicModelsCall:function(){return ev},modelInfoCall:function(){return e_},modelInfoV1Call:function(){return eC},modelMetricsCall:function(){return eP},modelMetricsSlowResponsesCall:function(){return eB},modelPatchUpdateCall:function(){return ti},modelSettingsCall:function(){return x},modelUpdateCall:function(){return ts},organizationCreateCall:function(){return et},organizationDailyActivityCall:function(){return eu},organizationDeleteCall:function(){return ea},organizationInfoCall:function(){return ee},organizationListCall:function(){return X},organizationMemberAddCall:function(){return tg},organizationMemberDeleteCall:function(){return tf},organizationMemberUpdateCall:function(){return tm},organizationUpdateCall:function(){return eo},patchAgentCall:function(){return oU},patchPromptCall:function(){return t$},perUserAnalyticsCall:function(){return o7},proxyBaseUrl:function(){return u},regenerateKeyCall:function(){return ew},registerMcpOAuthClient:function(){return o$},reloadModelCostMap:function(){return F},resetEmailEventSettings:function(){return oE},scheduleModelCostMapReload:function(){return P},searchToolQueryCall:function(){return o4},serverRootPath:function(){return d},serviceHealthCheck:function(){return tC},sessionSpendLogsCall:function(){return ow},setCallbacksCall:function(){return tU},setGlobalLitellmHeaderName:function(){return v},slackBudgetAlertsHealthCheck:function(){return t_},spendUsersCall:function(){return e2},streamingModelMetricsCall:function(){return eO},tagCreateCall:function(){return oi},tagDailyActivityCall:function(){return es},tagDauCall:function(){return o2},tagDeleteCall:function(){return oh},tagDistinctCall:function(){return o6},tagInfoCall:function(){return od},tagListCall:function(){return ou},tagMauCall:function(){return o9},tagUpdateCall:function(){return os},tagWauCall:function(){return o5},tagsSpendLogsCall:function(){return eU},teamBulkMemberAddCall:function(){return tu},teamCreateCall:function(){return te},teamDailyActivityCall:function(){return ed},teamDeleteCall:function(){return Z},teamInfoCall:function(){return W},teamListCall:function(){return K},teamMemberAddCall:function(){return td},teamMemberDeleteCall:function(){return tp},teamMemberUpdateCall:function(){return th},teamPermissionsUpdateCall:function(){return om},teamSpendLogsCall:function(){return eG},teamUpdateCall:function(){return tl},testCacheConnectionCall:function(){return tF},testConnectionRequest:function(){return e0},testMCPConnectionRequest:function(){return oW},testMCPToolsListRequest:function(){return oQ},testSearchToolConnection:function(){return on},transformRequestCall:function(){return er},uiAuditLogsCall:function(){return oD},uiSpendLogDetailsCall:function(){return t1},uiSpendLogsCall:function(){return eL},updateCacheSettingsCall:function(){return tP},updateConfigFieldSetting:function(){return tA},updateDefaultTeamSettings:function(){return og},updateEmailEventSettings:function(){return oT},updateGuardrailCall:function(){return oI},updateInternalUserSettings:function(){return t3},updateMCPServer:function(){return t6},updatePassThroughEndpoint:function(){return oq},updatePassThroughFieldSetting:function(){return tN},updatePromptCall:function(){return tW},updateSSOSettings:function(){return oL},updateSearchTool:function(){return oo},updateUiSettings:function(){return aa},updateUsefulLinksCall:function(){return ex},userAgentAnalyticsCall:function(){return o3},userAgentSummaryCall:function(){return o8},userBulkUpdateUserCall:function(){return ty},userCreateCall:function(){return D},userDailyActivityAggregatedCall:function(){return e6},userDailyActivityCall:function(){return ei},userDeleteCall:function(){return q},userFilterUICall:function(){return eM},userGetAllUsersCall:function(){return e8},userGetRequesedtModelsCall:function(){return e9},userInfoCall:function(){return Y},userListCall:function(){return H},userRequestModelCall:function(){return e5},userSpendLogsCall:function(){return ez},userUpdateUserCall:function(){return tw},v2TeamListCall:function(){return Q},validateBlockedWordsFile:function(){return oM},vectorStoreCreateCall:function(){return oy},vectorStoreDeleteCall:function(){return o_},vectorStoreInfoCall:function(){return oC},vectorStoreListCall:function(){return oj},vectorStoreSearchCall:function(){return o1},vectorStoreUpdateCall:function(){return ov}});var a=o(42264),r=o(3914),n=o(63610),c=o(9114);let l=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)},i=async e=>{try{let t=u?"".concat(u,"/callbacks/configs"):"/callbacks/configs",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},s=null,d="/",u=null;console.log=function(){};let h=()=>window.location,p=function(e){var t;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=h(),r=null!==(t=null==a?void 0:a.origin)&&void 0!==t?t:null,n=o||r;if(console.log("proxyBaseUrl:",u),console.log("serverRootPath:",e),!n){console.log("Updated proxyBaseUrl:",u=null!=u?u:null);return}e.length>0&&!n.endsWith(e)&&"/"!=e&&(n+=e),console.log("Updated proxyBaseUrl:",u=n)},g=()=>{var e;if(u)return u;let t=h();return null!==(e=null==t?void 0:t.origin)&&void 0!==e?e:""},f={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE"},m="default_organization",w=0,y=async e=>{let t=Date.now();if(t-w>6e4){if(("string"==typeof e?e:JSON.stringify(e)).includes("Authentication Error - Expired Key")){c.Z.info("UI Session Expired. Logging out."),w=t,(0,r.b)();let e=h();e&&(window.location.href=e.pathname)}w=t}else console.log("Error suppressed to prevent spam:",e)},j=async()=>{let e=u?"".concat(u,"/public/providers/fields"):"/public/providers/fields",t=await fetch(e,{method:"GET"});if(!t.ok){let e=await t.text();throw console.error("Failed to fetch provider create metadata:",t.status,e),Error("Failed to load provider configuration")}return await t.json()},_=async()=>{let e=u?"".concat(u,"/public/agents/fields"):"/public/agents/fields",t=await fetch(e,{method:"GET"});if(!t.ok){let e=await t.text();throw console.error("Failed to fetch agent create metadata:",t.status,e),Error("Failed to load agent configuration")}return await t.json()},C="Authorization";function v(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),C=e}let k=async(e,t)=>{let o=u?"".concat(u,"/model_group/make_public"):"/model_group/make_public";return(await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({model_groups:t})})).json()},T=async()=>{console.log("Getting UI config");let e=await fetch(s?"".concat(s,"/litellm/.well-known/litellm-ui-config"):"/litellm/.well-known/litellm-ui-config"),t=await e.json();return console.log("jsonData in getUiConfig:",t),p(t.server_root_path,t.proxy_base_url),t},E=async()=>{let e=u?"".concat(u,"/public/model_hub/info"):"/public/model_hub/info",t=await fetch(e);return await t.json()},S=async()=>{let e=u?"".concat(u,"/openapi.json"):"/openapi.json",t=await fetch(e);return await t.json()},b=async()=>{try{let e=u?"".concat(u,"/public/litellm_model_cost_map"):"/public/litellm_model_cost_map",t=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}}),o=await t.json();return console.log("received litellm model cost data: ".concat(o)),o}catch(e){throw console.error("Failed to get model cost map:",e),e}},F=async e=>{try{let t=u?"".concat(u,"/reload/model_cost_map"):"/reload/model_cost_map",o=await fetch(t,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}}),a=await o.json();return console.log("Model cost map reload response: ".concat(a)),a}catch(e){throw console.error("Failed to reload model cost map:",e),e}},P=async(e,t)=>{try{let o=u?"".concat(u,"/schedule/model_cost_map_reload?hours=").concat(t):"/schedule/model_cost_map_reload?hours=".concat(t),a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}}),r=await a.json();return console.log("Schedule model cost map reload response: ".concat(r)),r}catch(e){throw console.error("Failed to schedule model cost map reload:",e),e}},O=async e=>{try{let t=u?"".concat(u,"/schedule/model_cost_map_reload"):"/schedule/model_cost_map_reload",o=await fetch(t,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}}),a=await o.json();return console.log("Cancel model cost map reload response: ".concat(a)),a}catch(e){throw console.error("Failed to cancel model cost map reload:",e),e}},B=async e=>{try{let t=u?"".concat(u,"/schedule/model_cost_map_reload/status"):"/schedule/model_cost_map_reload/status";console.log("Fetching status from URL:",t);let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){console.error("Status request failed with status: ".concat(o.status));let e=await o.text();throw console.error("Error response:",e),Error("HTTP ".concat(o.status,": ").concat(e))}let a=await o.json();return console.log("Model cost map reload status:",a),a}catch(e){throw console.error("Failed to get model cost map reload status:",e),e}},N=async(e,t)=>{try{let o=u?"".concat(u,"/model/new"):"/model/new",r=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),a.ZP.destroy(),c.Z.success("Model ".concat(t.model_name," created successfully")),n}catch(e){throw console.error("Failed to create key:",e),e}},x=async e=>{try{let t=u?"".concat(u,"/model/settings"):"/model/settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){console.error("Failed to get model settings:",e)}},A=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=u?"".concat(u,"/model/delete"):"/model/delete",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=u?"".concat(u,"/budget/delete"):"/budget/delete",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},G=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=u?"".concat(u,"/budget/new"):"/budget/new",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},U=async(e,t)=>{try{console.log("Form Values in budgetUpdateCall:",t),console.log("Form Values after check:",t);let o=u?"".concat(u,"/budget/update"):"/budget/update",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t)=>{try{let o=u?"".concat(u,"/invitation/new"):"/invitation/new",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},R=async(e,t)=>{try{console.log("Form Values in invitationCreateCall:",t),console.log("Form Values after check:",t);let o=u?"".concat(u,"/invitation/claim"):"/invitation/claim",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=u?"".concat(u,"/alerting/settings"):"/alerting/settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},z=async(e,t)=>{try{for(let e of(console.log("Form Values in keyCreateServiceAccountCall:",t),t.description&&(t.metadata||(t.metadata={}),t.metadata.description=t.description,delete t.description,t.metadata=JSON.stringify(t.metadata)),n.d))if(t[e]){console.log("formValues.".concat(e,":"),t[e]);try{t[e]=JSON.parse(t[e])}catch(t){throw Error("Failed to parse ".concat(e,": ")+t)}}console.log("Form Values after check:",t);let o=u?"".concat(u,"/key/service-account/generate"):"/key/service-account/generate",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},L=async(e,t,o)=>{try{for(let e of(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)),n.d))if(o[e]){console.log("formValues.".concat(e,":"),o[e]);try{o[e]=JSON.parse(o[e])}catch(t){throw Error("Failed to parse ".concat(e,": ")+t)}}console.log("Form Values after check:",o);let a=u?"".concat(u,"/key/generate"):"/key/generate",r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let c=await r.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},D=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=u?"".concat(u,"/user/new"):"/user/new",r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},V=async(e,t)=>{try{let o=u?"".concat(u,"/key/delete"):"/key/delete";console.log("in keyDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},q=async(e,t)=>{try{let o=u?"".concat(u,"/user/delete"):"/user/delete";console.log("in userDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_ids:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to delete user(s):",e),e}},Z=async(e,t)=>{try{let o=u?"".concat(u,"/team/delete"):"/team/delete";console.log("in teamDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},H=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,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,i=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,s=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let d=u?"".concat(u,"/user/list"):"/user/list";console.log("in userListCall");let h=new URLSearchParams;if(t&&t.length>0){let e=t.join(",");h.append("user_ids",e)}o&&h.append("page",o.toString()),a&&h.append("page_size",a.toString()),r&&h.append("user_email",r),n&&h.append("role",n),c&&h.append("team",c),l&&h.append("sso_user_ids",l),i&&h.append("sort_by",i),s&&h.append("sort_order",s);let p=h.toString();p&&(d+="?".concat(p));let g=await fetch(d,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!g.ok){let e=await g.json(),t=ae(e);throw y(t),Error(t)}let f=await g.json();return console.log("/user/list API Response:",f),f}catch(e){throw console.error("Failed to create key:",e),e}},Y=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];console.log("userInfoCall: ".concat(t,", ").concat(o,", ").concat(a,", ").concat(r,", ").concat(n,", ").concat(c));try{let l;if(a){l=u?"".concat(u,"/user/list"):"/user/list";let e=new URLSearchParams;null!=r&&e.append("page",r.toString()),null!=n&&e.append("page_size",n.toString()),l+="?".concat(e.toString())}else l=u?"".concat(u,"/user/info"):"/user/info",("Admin"!==o&&"Admin Viewer"!==o||c)&&t&&(l+="?user_id=".concat(t));console.log("Requesting user data from:",l);let i=await fetch(l,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=ae(e);throw y(t),Error(t)}let s=await i.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to fetch user data:",e),e}},W=async(e,t)=>{try{let o=u?"".concat(u,"/team/info"):"/team/info";t&&(o="".concat(o,"?team_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},Q=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,r=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 n=u?"".concat(u,"/v2/team/list"):"/v2/team/list";console.log("in teamInfoCall");let c=new URLSearchParams;o&&c.append("user_id",o.toString()),t&&c.append("organization_id",t.toString()),a&&c.append("team_id",a.toString()),r&&c.append("team_alias",r.toString());let l=c.toString();l&&(n+="?".concat(l));let i=await fetch(n,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=ae(e);throw y(t),Error(t)}let s=await i.json();return console.log("/v2/team/list API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},K=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,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let n=u?"".concat(u,"/team/list"):"/team/list";console.log("in teamInfoCall");let c=new URLSearchParams;o&&c.append("user_id",o.toString()),t&&c.append("organization_id",t.toString()),a&&c.append("team_id",a.toString()),r&&c.append("team_alias",r.toString());let l=c.toString();l&&(n+="?".concat(l));let i=await fetch(n,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=ae(e);throw y(t),Error(t)}let s=await i.json();return console.log("/team/list API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},$=async e=>{try{let t=u?"".concat(u,"/team/available"):"/team/available";console.log("in availableTeamListCall");let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("/team/available_teams API Response:",a),a}catch(e){throw e}},X=async e=>{try{let t=u?"".concat(u,"/organization/list"):"/organization/list",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ee=async(e,t)=>{try{let o=u?"".concat(u,"/organization/info"):"/organization/info";t&&(o="".concat(o,"?organization_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},et=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=u?"".concat(u,"/organization/new"):"/organization/new",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t)=>{try{console.log("Form Values in organizationUpdateCall:",t);let o=u?"".concat(u,"/organization/update"):"/organization/update",a=await fetch(o,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},ea=async(e,t)=>{try{let o=u?"".concat(u,"/organization/delete"):"/organization/delete",a=await fetch(o,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_ids:[t]})});if(!a.ok){let e=await a.text();throw y(e),Error("Error deleting organization: ".concat(e))}return await a.json()}catch(e){throw console.error("Failed to delete organization:",e),e}},er=async(e,t)=>{try{let o=u?"".concat(u,"/utils/transform_request"):"/utils/transform_request",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},en=(e,t,o)=>{if(null!=o){if(Array.isArray(o)){o.length>0&&e.append(t,o.join(","));return}e.append(t,"".concat(o))}},ec=(e,t,o,a,r)=>{let n=e.startsWith("/")?e:"/".concat(e),c=u?"".concat(u).concat(n):n,i=new URLSearchParams;i.append("start_date",l(t)),i.append("end_date",l(o)),i.append("page_size","1000"),i.append("page",a.toString()),r&&Object.entries(r).forEach(e=>{let[t,o]=e;en(i,t,o)});let s=i.toString();return s?"".concat(c,"?").concat(s):c},el=async e=>{let{accessToken:t,endpoint:o,startTime:a,endTime:r,page:n=1,extraQueryParams:c}=e;try{let e=ec(o,a,r,n,c),l=await fetch(e,{method:"GET",headers:{[C]:"Bearer ".concat(t),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch daily activity (".concat(o,"):"),e),e}},ei=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return el({accessToken:e,endpoint:"/user/daily/activity",startTime:t,endTime:o,page:a})},es=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/tag/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{tags:r}})},ed=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/team/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{team_ids:r,exclude_team_ids:"litellm-dashboard"}})},eu=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/organization/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{organization_ids:r}})},eh=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/customer/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{end_user_ids:r}})},ep=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return el({accessToken:e,endpoint:"/agent/daily/activity",startTime:t,endTime:o,page:a,extraQueryParams:{agent_ids:r}})},eg=async e=>{try{let t=u?"".concat(u,"/global/spend"):"/global/spend",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ef=async e=>{try{let t=u?"".concat(u,"/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.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},em=async(e,t,o,a)=>{let r=u?"".concat(u,"/onboarding/claim_token"):"/onboarding/claim_token";try{let n=await fetch(r,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:a})});if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to delete key:",e),e}},ew=async(e,t,o)=>{try{let a=u?"".concat(u,"/key/").concat(t,"/regenerate"):"/key/".concat(t,"/regenerate"),r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("Regenerate key Response:",n),n}catch(e){throw console.error("Failed to regenerate key:",e),e}},ey=!1,ej=null,e_=async(e,t,o)=>{try{console.log("modelInfoCall:",e,t,o);let a=u?"".concat(u,"/v2/model/info"):"/v2/model/info",r=new URLSearchParams;r.append("include_team_models","true"),r.toString()&&(a+="?".concat(r.toString()));let n=await fetch(a,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw e+="error shown=".concat(ey),ey||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),c.Z.info(e),ey=!0,ej&&clearTimeout(ej),ej=setTimeout(()=>{ey=!1},1e4)),Error("Network response was not ok")}let l=await n.json();return console.log("modelInfoCall:",l),l}catch(e){throw console.error("Failed to create key:",e),e}},eC=async(e,t)=>{try{let o=u?"".concat(u,"/v1/model/info"):"/v1/model/info";o+="?litellm_model_id=".concat(t);let a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("modelInfoV1Call:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},ev=async()=>{let e=u?"".concat(u,"/public/model_hub"):"/public/model_hub";return(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json()},ek=async()=>{let e=u?"".concat(u,"/public/agent_hub"):"/public/agent_hub";return(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json()},eT=async()=>{let e=u?"".concat(u,"/public/mcp_hub"):"/public/mcp_hub";return(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json()},eE=async e=>{try{let t=u?"".concat(u,"/model_group/info"):"/model_group/info",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("modelHubCall:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},eS=async e=>{try{let t=u?"".concat(u,"/get/allowed_ips"):"/get/allowed_ips",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("getAllowedIPs:",a),a.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},eb=async(e,t)=>{try{let o=u?"".concat(u,"/add/allowed_ip"):"/add/allowed_ip",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("addAllowedIP:",r),r}catch(e){throw console.error("Failed to add allowed IP:",e),e}},eF=async(e,t)=>{try{let o=u?"".concat(u,"/delete/allowed_ip"):"/delete/allowed_ip",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("deleteAllowedIP:",r),r}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},eP=async(e,t,o,a,r,n,c,l)=>{try{let t=u?"".concat(u,"/model/metrics"):"/model/metrics";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(r,"&endTime=").concat(n,"&api_key=").concat(c,"&customer=").concat(l));let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},eO=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/model/streaming_metrics"):"/model/streaming_metrics";t&&(r="".concat(r,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(a));let n=await fetch(r,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}return await n.json()}catch(e){throw console.error("Failed to create key:",e),e}},eB=async(e,t,o,a,r,n,c,l)=>{try{let t=u?"".concat(u,"/model/metrics/slow_responses"):"/model/metrics/slow_responses";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(r,"&endTime=").concat(n,"&api_key=").concat(c,"&customer=").concat(l));let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},eN=async(e,t,o,a,r,n,c,l)=>{try{let t=u?"".concat(u,"/model/metrics/exceptions"):"/model/metrics/exceptions";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(r,"&endTime=").concat(n,"&api_key=").concat(c,"&customer=").concat(l));let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ex=async(e,t)=>{try{let o=u?"".concat(u,"/model_hub/update_useful_links"):"/model_hub/update_useful_links",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({useful_links:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},eA=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=(arguments.length>5&&void 0!==arguments[5]&&arguments[5],arguments.length>6&&void 0!==arguments[6]&&arguments[6]);console.log("in /models calls, globalLitellmHeaderName",C);try{let t=u?"".concat(u,"/models"):"/models",o=new URLSearchParams;o.append("include_model_access_groups","True"),!0===a&&o.append("return_wildcard_routes","True"),!0===n&&o.append("only_model_access_groups","True"),r&&o.append("team_id",r.toString()),o.toString()&&(t+="?".concat(o.toString()));let c=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}return await c.json()}catch(e){throw console.error("Failed to create key:",e),e}},eJ=async(e,t)=>{try{let o=u?"".concat(u,"/global/spend/logs"):"/global/spend/logs";console.log("in keySpendLogsCall:",o);let a=await fetch("".concat(o,"?api_key=").concat(t),{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},eG=async e=>{try{let t=u?"".concat(u,"/global/spend/teams"):"/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eU=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/spend/tags"):"/global/spend/tags";t&&o&&(r="".concat(r,"?start_date=").concat(t,"&end_date=").concat(o)),a&&(r+="".concat(r,"&tags=").concat(a.join(","))),console.log("in tagsSpendLogsCall:",r);let n=await fetch("".concat(r),{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},eI=async e=>{try{let t=u?"".concat(u,"/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:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eR=async e=>{try{let t=u?"".concat(u,"/customer/list"):"/customer/list";console.log("in customer/list",t);let o=await fetch("".concat(t),{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to fetch end users:",e),e}},eM=async(e,t)=>{try{let o=u?"".concat(u,"/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:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},ez=async(e,t,o,a,r,n)=>{try{console.log("user role in spend logs call: ".concat(o));let t=u?"".concat(u,"/spend/logs"):"/spend/logs";t="App Owner"==o?"".concat(t,"?user_id=").concat(a,"&start_date=").concat(r,"&end_date=").concat(n):"".concat(t,"?start_date=").concat(r,"&end_date=").concat(n);let c=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to create key:",e),e}},eL=async(e,t,o,a,r,n,c,l,i,s,d,h,p)=>{try{let g=u?"".concat(u,"/spend/logs/ui"):"/spend/logs/ui",f=new URLSearchParams;t&&f.append("api_key",t),o&&f.append("team_id",o),a&&f.append("request_id",a),r&&f.append("start_date",r),n&&f.append("end_date",n),c&&f.append("page",c.toString()),l&&f.append("page_size",l.toString()),i&&f.append("user_id",i),s&&f.append("end_user",s),d&&f.append("status_filter",d),h&&f.append("model",h),p&&f.append("key_alias",p);let m=f.toString();m&&(g+="?".concat(m));let w=await fetch(g,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!w.ok){let e=await w.json(),t=ae(e);throw y(t),Error(t)}let j=await w.json();return console.log("Spend Logs Response:",j),j}catch(e){throw console.error("Failed to fetch spend logs:",e),e}},eD=async e=>{try{let t=u?"".concat(u,"/global/spend/logs"):"/global/spend/logs",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eV=async e=>{try{let t=u?"".concat(u,"/global/spend/keys?limit=5"):"/global/spend/keys?limit=5",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eq=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/spend/end_users"):"/global/spend/end_users",n="";n=t?JSON.stringify({api_key:t,startTime:o,endTime:a}):JSON.stringify({startTime:o,endTime:a});let c={method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:n},l=await fetch(r,c);if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to create key:",e),e}},eZ=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/spend/provider"):"/global/spend/provider";o&&a&&(r+="?start_date=".concat(o,"&end_date=").concat(a)),t&&(r+="&api_key=".concat(t));let n={method:"GET",headers:{[C]:"Bearer ".concat(e)}},c=await fetch(r,n);if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eH=async(e,t,o)=>{try{let a=u?"".concat(u,"/global/activity"):"/global/activity";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let r={method:"GET",headers:{[C]:"Bearer ".concat(e)}},n=await fetch(a,r);if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eY=async(e,t,o)=>{try{let a=u?"".concat(u,"/global/activity/cache_hits"):"/global/activity/cache_hits";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let r={method:"GET",headers:{[C]:"Bearer ".concat(e)}},n=await fetch(a,r);if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eW=async(e,t,o)=>{try{let a=u?"".concat(u,"/global/activity/model"):"/global/activity/model";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let r={method:"GET",headers:{[C]:"Bearer ".concat(e)}},n=await fetch(a,r);if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eQ=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/activity/exceptions"):"/global/activity/exceptions";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(r+="&model_group=".concat(a));let n={method:"GET",headers:{[C]:"Bearer ".concat(e)}},c=await fetch(r,n);if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eK=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/global/activity/exceptions/deployment"):"/global/activity/exceptions/deployment";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(r+="&model_group=".concat(a));let n={method:"GET",headers:{[C]:"Bearer ".concat(e)}},c=await fetch(r,n);if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},e$=async e=>{try{let t=u?"".concat(u,"/global/spend/models?limit=5"):"/global/spend/models?limit=5",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eX=async(e,t)=>{try{let o=u?"".concat(u,"/v2/key/info"):"/v2/key/info",a=await fetch(o,{method:"POST",headers:{[C]:"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 y(e),Error("Network response was not ok")}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},e0=async(e,t,o,a)=>{try{console.log("Sending model connection test request:",JSON.stringify(t));let n=u?"".concat(u,"/health/test_connection"):"/health/test_connection",c=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[C]:"Bearer ".concat(e)},body:JSON.stringify({litellm_params:t,model_info:o,mode:a})}),l=c.headers.get("content-type");if(!l||!l.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 r;return{status:"error",message:(null===(r=i.error)||void 0===r?void 0:r.message)||"Connection test failed: ".concat(c.status," ").concat(c.statusText)}}}return i}catch(e){throw console.error("Model connection test error:",e),e}},e1=async(e,t)=>{try{console.log("entering keyInfoV1Call");let o=u?"".concat(u,"/key/info"):"/key/info";o="".concat(o,"?key=").concat(t);let a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(console.log("response",a),!a.ok){let e=await a.text();y(e),c.Z.fromBackend("Failed to fetch key info - "+e)}let r=await a.json();return console.log("data",r),r}catch(e){throw console.error("Failed to fetch key info:",e),e}},e4=async function(e,t,o,a,r,n,c,l){let i=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,s=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let d=u?"".concat(u,"/key/list"):"/key/list";console.log("in keyListCall");let h=new URLSearchParams;o&&h.append("team_id",o.toString()),t&&h.append("organization_id",t.toString()),a&&h.append("key_alias",a),n&&h.append("key_hash",n),r&&h.append("user_id",r.toString()),c&&h.append("page",c.toString()),l&&h.append("size",l.toString()),i&&h.append("sort_by",i),s&&h.append("sort_order",s),h.append("return_full_object","true"),h.append("include_team_keys","true"),h.append("include_created_by_keys","true");let p=h.toString();p&&(d+="?".concat(p));let g=await fetch(d,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!g.ok){let e=await g.json(),t=ae(e);throw y(t),Error(t)}let f=await g.json();return console.log("/team/list API Response:",f),f}catch(e){throw console.error("Failed to create key:",e),e}},e3=async e=>{try{let t=u?"".concat(u,"/key/aliases"):"/key/aliases";console.log("in keyAliasesCall");let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("/key/aliases API Response:",a),a}catch(e){throw console.error("Failed to fetch key aliases:",e),e}},e2=async(e,t)=>{try{let o=u?"".concat(u,"/spend/users"):"/spend/users";console.log("in spendUsersCall:",o);let a=await fetch("".concat(o,"?user_id=").concat(t),{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to get spend for user",e),e}},e5=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/user/request_model"):"/user/request_model",n=await fetch(r,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({models:[t],user_id:o,justification:a})});if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},e9=async e=>{try{let t=u?"".concat(u,"/user/get_requests"):"/user/get_requests";console.log("in userGetRequesedtModelsCall:",t);let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to get requested models:",e),e}},e6=async(e,t,o)=>{try{let a=u?"".concat(u,"/user/daily/activity/aggregated"):"/user/daily/activity/aggregated",r=new URLSearchParams,n=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)};r.append("start_date",n(t)),r.append("end_date",n(o));let c=r.toString();c&&(a+="?".concat(c));let l=await fetch(a,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch aggregated user daily activity:",e),e}},e8=async(e,t)=>{try{let o=u?"".concat(u,"/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:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to get requested models:",e),e}},e7=async e=>{try{let t=u?"".concat(u,"/user/available_roles"):"/user/available_roles",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("response from user/available_role",a),a}catch(e){throw e}},te=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=u?"".concat(u,"/team/new"):"/team/new",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},tt=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=u?"".concat(u,"/credentials"):"/credentials",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},to=async e=>{try{let t=u?"".concat(u,"/credentials"):"/credentials";console.log("in credentialListCall");let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("/credentials API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},ta=async(e,t,o)=>{try{let a=u?"".concat(u,"/credentials"):"/credentials";t?a+="/by_name/".concat(t):o&&(a+="/by_model/".concat(o)),console.log("in credentialListCall");let r=await fetch(a,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("/credentials API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},tr=async(e,t)=>{try{let o=u?"".concat(u,"/credentials/").concat(t):"/credentials/".concat(t);console.log("in credentialDeleteCall:",t);let a=await fetch(o,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},tn=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=u?"".concat(u,"/credentials/").concat(t):"/credentials/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...o})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},tc=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=u?"".concat(u,"/key/update"):"/key/update",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let r=await a.json();return console.log("Update key Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},tl=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=u?"".concat(u,"/team/update"):"/team/update",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error response from the server:",e),c.Z.fromBackend("Failed to update team settings: "+e),Error(e)}let r=await a.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to update team:",e),e}},ti=async(e,t,o)=>{try{console.log("Form Values in modelUpateCall:",t);let a=u?"".concat(u,"/model/").concat(o,"/update"):"/model/".concat(o,"/update"),r=await fetch(a,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let n=await r.json();return console.log("Update model Response:",n),n}catch(e){throw console.error("Failed to update model:",e),e}},ts=async(e,t)=>{try{console.log("Form Values in modelUpateCall:",t);let o=u?"".concat(u,"/model/update"):"/model/update",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let r=await a.json();return console.log("Update model Response:",r),r}catch(e){throw console.error("Failed to update model:",e),e}},td=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let r=u?"".concat(u,"/team/member_add"):"/team/member_add",n=await fetch(r,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!n.ok){var a;let e=await n.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 c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},tu=async(e,t,o,a,r)=>{try{console.log("Bulk add team members:",{teamId:t,members:o,maxBudgetInTeam:a});let c=u?"".concat(u,"/team/bulk_member_add"):"/team/bulk_member_add",l={team_id:t};r?l.all_users=!0:l.members=o,null!=a&&(l.max_budget_in_team=a);let i=await fetch(c,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(l)});if(!i.ok){var n;let e=await i.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===(n=t.detail)||void 0===n?void 0:n.error)||"Failed to bulk add team members",a=Error(o);throw a.raw=t,a}let s=await i.json();return console.log("Bulk team member add API Response:",s),s}catch(e){throw console.error("Failed to bulk add team members:",e),e}},th=async(e,t,o)=>{try{console.log("Form Values in teamMemberUpdateCall:",o),console.log("Budget value:",o.max_budget_in_team),console.log("TPM limit:",o.tpm_limit),console.log("RPM limit:",o.rpm_limit);let r=u?"".concat(u,"/team/member_update"):"/team/member_update",n={team_id:t,role:o.role,user_id:o.user_id};void 0!==o.user_email&&(n.user_email=o.user_email),void 0!==o.max_budget_in_team&&null!==o.max_budget_in_team&&(n.max_budget_in_team=o.max_budget_in_team),void 0!==o.tpm_limit&&null!==o.tpm_limit&&(n.tpm_limit=o.tpm_limit),void 0!==o.rpm_limit&&null!==o.rpm_limit&&(n.rpm_limit=o.rpm_limit),console.log("Final request body:",n);let c=await fetch(r,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(n)});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 l=await c.json();return console.log("API Response:",l),l}catch(e){throw console.error("Failed to update team member:",e),e}},tp=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=u?"".concat(u,"/team/member_delete"):"/team/member_delete",r=await fetch(a,{method:"POST",headers:{[C]:"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(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},tg=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=u?"".concat(u,"/organization/member_add"):"/organization/member_add",r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,member:o})});if(!r.ok){let e=await r.text();throw y(e),console.error("Error response from the server:",e),Error(e)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create organization member:",e),e}},tf=async(e,t,o)=>{try{console.log("Form Values in organizationMemberDeleteCall:",o);let a=u?"".concat(u,"/organization/member_delete"):"/organization/member_delete",r=await fetch(a,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,user_id:o})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to delete organization member:",e),e}},tm=async(e,t,o)=>{try{console.log("Form Values in organizationMemberUpdateCall:",o);let a=u?"".concat(u,"/organization/member_update"):"/organization/member_update",r=await fetch(a,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,...o})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to update organization member:",e),e}},tw=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let a=u?"".concat(u,"/user/update"):"/user/update",r={...t};null!==o&&(r.user_role=o),r=JSON.stringify(r);let n=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!n.ok){let e=await n.json(),t=ae(e);throw y(t),Error(t)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},ty=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{let r;console.log("Form Values in userUpdateUserCall:",t);let n=u?"".concat(u,"/user/bulk_update"):"/user/bulk_update";if(a)r=JSON.stringify({all_users:!0,user_updates:t});else if(o&&o.length>0){let e=[];for(let a of o)e.push({user_id:a,...t});r=JSON.stringify({users:e})}else throw Error("Must provide either userIds or set allUsers=true");let c=await fetch(n,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}let l=await c.json();return console.log("API Response:",l),l}catch(e){throw console.error("Failed to create key:",e),e}},tj=async(e,t)=>{try{let o=u?"".concat(u,"/global/predict/spend/logs"):"/global/predict/spend/logs",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({data:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},t_=async e=>{try{let t=u?"".concat(u,"/health/services?service=slack_budget_alerts"):"/health/services?service=slack_budget_alerts";console.log("Checking Slack Budget Alerts service health");let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error(e)}let a=await o.json();return c.Z.success("Test Slack Alert worked - check your Slack!"),console.log("Service Health Response:",a),a}catch(e){throw console.error("Failed to perform health check:",e),e}},tC=async(e,t)=>{try{let o=u?"".concat(u,"/health/services?service=").concat(t):"/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}return await a.json()}catch(e){throw console.error("Failed to perform health check:",e),e}},tv=async e=>{try{let t=u?"".concat(u,"/budget/list"):"/budget/list",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tk=async e=>{try{let t=u?"".concat(u,"/budget/settings"):"/budget/settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tT=async(e,t,o)=>{try{let t=u?"".concat(u,"/get/config/callbacks"):"/get/config/callbacks",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tE=async e=>{try{let t=u?"".concat(u,"/config/list?config_type=general_settings"):"/config/list?config_type=general_settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tS=async e=>{try{let t=u?"".concat(u,"/router/settings"):"/router/settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get router settings:",e),e}},tb=async e=>{try{let t=u?"".concat(u,"/cache/settings"):"/cache/settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get cache settings:",e),e}},tF=async(e,t)=>{try{let o=u?"".concat(u,"/cache/settings/test"):"/cache/settings/test",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({cache_settings:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to test cache connection:",e),e}},tP=async(e,t)=>{try{let o=u?"".concat(u,"/cache/settings"):"/cache/settings",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({cache_settings:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to update cache settings:",e),e}},tO=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint"):"/config/pass_through_endpoint";t&&(o+="/team/".concat(t));let a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tB=async(e,t)=>{try{let o=u?"".concat(u,"/config/field/info?field_name=").concat(t):"/config/field/info?field_name=".concat(t),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},tN=async(e,t,o)=>{try{let a=u?"".concat(u,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return c.Z.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},tx=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},tA=async(e,t,o)=>{try{let a=u?"".concat(u,"/config/field/update"):"/config/field/update",r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return c.Z.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},tJ=async(e,t)=>{try{let o=u?"".concat(u,"/config/field/delete"):"/config/field/delete",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return c.Z.success("Field reset on proxy"),r}catch(e){throw console.error("Failed to get callbacks:",e),e}},tG=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint?endpoint_id=").concat(t):"/config/pass_through_endpoint?endpoint_id=".concat(t),a=await fetch(o,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tU=async(e,t)=>{try{let o=u?"".concat(u,"/config/update"):"/config/update",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},tI=async e=>{try{let t=u?"".concat(u,"/health"):"/health",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to call /health:",e),e}},tR=async(e,t)=>{try{let o=u?"".concat(u,"/health?model=").concat(encodeURIComponent(t)):"/health?model=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to call /health for model ".concat(t,":"),e),e}},tM=async e=>{try{let t=u?"".concat(u,"/cache/ping"):"/cache/ping",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /cache/ping:",e),e}},tz=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:100,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;try{let n=u?"".concat(u,"/health/history"):"/health/history",c=new URLSearchParams;t&&c.append("model",t),o&&c.append("status_filter",o),c.append("limit",a.toString()),c.append("offset",r.toString()),c.toString()&&(n+="?".concat(c.toString()));let l=await fetch(n,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.text();throw y(e),Error(e)}return await l.json()}catch(e){throw console.error("Failed to call /health/history:",e),e}},tL=async e=>{try{let t=u?"".concat(u,"/health/latest"):"/health/latest",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /health/latest:",e),e}},tD=async e=>{try{console.log("Getting proxy UI settings"),console.log("proxyBaseUrl in getProxyUISettings:",u);let t=u?"".concat(u,"/sso/get/ui_settings"):"/sso/get/ui_settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},tV=async e=>{try{let t=u?"".concat(u,"/v2/guardrails/list"):"/v2/guardrails/list",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get guardrails list:",e),e}},tq=async e=>{try{let t=u?"".concat(u,"/prompts/list"):"/prompts/list",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to get prompts list:",e),e}},tZ=async(e,t)=>{try{let o=u?"".concat(u,"/prompts/").concat(t,"/info"):"/prompts/".concat(t,"/info"),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get prompt info:",e),e}},tH=async(e,t)=>{try{let o=u?"".concat(u,"/prompts/").concat(t,"/versions"):"/prompts/".concat(t,"/versions"),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw 404!==a.status&&y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to get prompt versions:",e),e}},tY=async(e,t)=>{try{let o=u?"".concat(u,"/prompts"):"/prompts",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to create prompt:",e),e}},tW=async(e,t,o)=>{try{let a=u?"".concat(u,"/prompts/").concat(t):"/prompts/".concat(t),r=await fetch(a,{method:"PUT",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}return await r.json()}catch(e){throw console.error("Failed to update prompt:",e),e}},tQ=async(e,t)=>{try{let o=u?"".concat(u,"/prompts/").concat(t):"/prompts/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to delete prompt:",e),e}},tK=async(e,t)=>{try{let o=new FormData;o.append("file",t);let a=u?"".concat(u,"/utils/dotprompt_json_converter"):"/utils/dotprompt_json_converter",r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e)},body:o});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}return await r.json()}catch(e){throw console.error("Failed to convert prompt file:",e),e}},t$=async(e,t,o)=>{try{let a=u?"".concat(u,"/prompts/").concat(t):"/prompts/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}return await r.json()}catch(e){throw console.error("Failed to patch prompt:",e),e}},tX=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents"):"/v1/agents",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Create agent response:",r),r}catch(e){throw console.error("Failed to create agent:",e),e}},t0=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails"):"/guardrails",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({guardrail:t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Create guardrail response:",r),r}catch(e){throw console.error("Failed to create guardrail:",e),e}},t1=async(e,t,o)=>{try{let a=u?"".concat(u,"/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 r=await fetch(a,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("Fetched log details:",n),n}catch(e){throw console.error("Failed to fetch log details:",e),e}},t4=async e=>{try{let t=u?"".concat(u,"/get/internal_user_settings"):"/get/internal_user_settings";console.log("Fetching SSO settings from:",t);let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}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}},t3=async(e,t)=>{try{let o=u?"".concat(u,"/update/internal_user_settings"):"/update/internal_user_settings";console.log("Updating internal user settings:",t);let a=await fetch(o,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Updated internal user settings:",r),c.Z.success("Internal user settings updated successfully"),r}catch(e){throw console.error("Failed to update internal user settings:",e),e}},t2=async e=>{try{let t=u?"".concat(u,"/v1/mcp/server"):"/v1/mcp/server";console.log("Fetching MCP servers from:",t);let o=await fetch(t,{method:f.GET,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}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}},t5=async e=>{try{let t=u?"".concat(u,"/v1/mcp/access_groups"):"/v1/mcp/access_groups";console.log("Fetching MCP access groups from:",t);let o=await fetch(t,{method:f.GET,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("Fetched MCP access groups:",a),a.access_groups||[]}catch(e){throw console.error("Failed to fetch MCP access groups:",e),e}},t9=async(e,t)=>{try{console.log("Form Values in createMCPServer:",t);let o=u?"".concat(u,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},t6=async(e,t)=>{try{let o=u?"".concat(u,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"PUT",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to update MCP server:",e),e}},t8=async(e,t)=>{try{let o=(u?"".concat(u):"")+"/v1/mcp/server/".concat(t);console.log("in deleteMCPServer:",t);let a=await fetch(o,{method:f.DELETE,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}}catch(e){throw console.error("Failed to delete key:",e),e}},t7=async e=>{try{let t=u?"".concat(u,"/search_tools/list"):"/search_tools/list";console.log("Fetching search tools from:",t);let o=await fetch(t,{method:f.GET,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("Fetched search tools:",a),a}catch(e){throw console.error("Failed to fetch search tools:",e),e}},oe=async(e,t)=>{try{let o=u?"".concat(u,"/search_tools/").concat(t):"/search_tools/".concat(t);console.log("Fetching search tool by ID from:",o);let a=await fetch(o,{method:f.GET,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Fetched search tool:",r),r}catch(e){throw console.error("Failed to fetch search tool:",e),e}},ot=async(e,t)=>{try{console.log("Creating search tool with values:",t);let o=u?"".concat(u,"/search_tools"):"/search_tools",a=await fetch(o,{method:f.POST,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({search_tool:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Created search tool:",r),r}catch(e){throw console.error("Failed to create search tool:",e),e}},oo=async(e,t,o)=>{try{console.log("Updating search tool with ID:",t,"values:",o);let a=u?"".concat(u,"/search_tools/").concat(t):"/search_tools/".concat(t),r=await fetch(a,{method:f.PUT,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({search_tool:o})});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("Updated search tool:",n),n}catch(e){throw console.error("Failed to update search tool:",e),e}},oa=async(e,t)=>{try{let o=(u?"".concat(u):"")+"/search_tools/".concat(t);console.log("Deleting search tool:",t);let a=await fetch(o,{method:f.DELETE,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Deleted search tool:",r),r}catch(e){throw console.error("Failed to delete search tool:",e),e}},or=async e=>{try{let t=u?"".concat(u,"/search_tools/ui/available_providers"):"/search_tools/ui/available_providers";console.log("Fetching available search providers from:",t);let o=await fetch(t,{method:f.GET,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}let a=await o.json();return console.log("Fetched available search providers:",a),a}catch(e){throw console.error("Failed to fetch available search providers:",e),e}},on=async(e,t)=>{try{let o=u?"".concat(u,"/search_tools/test_connection"):"/search_tools/test_connection";console.log("Testing search tool connection:",o);let a=await fetch(o,{method:f.POST,headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({litellm_params:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Test connection response:",r),r}catch(e){throw console.error("Failed to test search tool connection:",e),e}},oc=async(e,t)=>{try{let o=u?"".concat(u,"/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={[C]:"Bearer ".concat(e),"Content-Type":"application/json"},r=await fetch(o,{method:"GET",headers:a}),n=await r.json();if(console.log("Fetched MCP tools response:",n),!r.ok){if(n.error&&n.message)throw Error(n.message);throw Error("Failed to fetch MCP tools")}return n}catch(e){return console.error("Failed to fetch MCP tools:",e),{tools:[],error:"network_error",message:e instanceof Error?e.message:"Failed to fetch MCP tools",stack_trace:null}}},ol=async(e,t,o)=>{try{let a=u?"".concat(u,"/mcp-rest/tools/call"):"/mcp-rest/tools/call";console.log("Calling MCP tool:",t,"with arguments:",o);let r={[C]:"Bearer ".concat(e),"Content-Type":"application/json"},n=await fetch(a,{method:"POST",headers:r,body:JSON.stringify({name:t,arguments:o})});if(!n.ok){let e="Network response was not ok",t=null,o=await n.text();try{let a=JSON.parse(o);a.detail?"string"==typeof a.detail?e=a.detail:"object"==typeof a.detail&&(e=a.detail.message||a.detail.error||"An error occurred",t=a.detail):e=a.message||a.error||e}catch(t){console.error("Failed to parse JSON error response:",t),o&&(e=o)}let a=Error(e);throw a.status=n.status,a.statusText=n.statusText,a.details=t,y(e),a}let c=await n.json();return console.log("MCP tool call response:",c),c}catch(e){throw console.error("Failed to call MCP tool:",e),console.error("Error type:",typeof e),e instanceof Error&&(console.error("Error message:",e.message),console.error("Error stack:",e.stack)),e}},oi=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e);return}return await a.json()}catch(e){throw console.error("Error creating tag:",e),e}},os=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e);return}return await a.json()}catch(e){throw console.error("Error updating tag:",e),e}},od=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e),{}}return await a.json()}catch(e){throw console.error("Error getting tag info:",e),e}},ou=async e=>{try{let t=u?"".concat(u,"/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 y(e),{}}return await o.json()}catch(e){throw console.error("Error listing tags:",e),e}},oh=async(e,t)=>{try{let o=u?"".concat(u,"/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 y(e);return}return await a.json()}catch(e){throw console.error("Error deleting tag:",e),e}},op=async e=>{try{let t=u?"".concat(u,"/get/default_team_settings"):"/get/default_team_settings";console.log("Fetching default team settings from:",t);let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}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}},og=async(e,t)=>{try{let o=u?"".concat(u,"/update/default_team_settings"):"/update/default_team_settings";console.log("Updating default team settings:",t);let a=await fetch(o,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Updated default team settings:",r),c.Z.success("Default team settings updated successfully"),r}catch(e){throw console.error("Failed to update default team settings:",e),e}},of=async(e,t)=>{try{let o=u?"".concat(u,"/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.json(),t=ae(e);throw y(t),Error(t)}let r=await a.json();return console.log("Team permissions response:",r),r}catch(e){throw console.error("Failed to get team permissions:",e),e}},om=async(e,t,o)=>{try{let a=u?"".concat(u,"/team/permissions_update"):"/team/permissions_update",r=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(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return console.log("Team permissions response:",n),n}catch(e){throw console.error("Failed to update team permissions:",e),e}},ow=async(e,t)=>{try{let o=u?"".concat(u,"/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:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to fetch session logs:",e),e}},oy=async(e,t)=>{try{let o=u?"".concat(u,"/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}},oj=async function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let t=u?"".concat(u,"/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}},o_=async(e,t)=>{try{let o=u?"".concat(u,"/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}},oC=async(e,t)=>{try{let o=u?"".concat(u,"/vector_store/info"):"/vector_store/info",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 get vector store info")}return await a.json()}catch(e){throw console.error("Error getting vector store info:",e),e}},ov=async(e,t)=>{try{let o=u?"".concat(u,"/vector_store/update"):"/vector_store/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.json();throw Error(e.detail||"Failed to update vector store")}return await a.json()}catch(e){throw console.error("Error updating vector store:",e),e}},ok=async e=>{try{let t=u?"".concat(u,"/email/event_settings"):"/email/event_settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},oT=async(e,t)=>{try{let o=u?"".concat(u,"/email/event_settings"):"/email/event_settings",a=await fetch(o,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to update email event settings")}let r=await a.json();return console.log("Update email event settings response:",r),r}catch(e){throw console.error("Failed to update email event settings:",e),e}},oE=async e=>{try{let t=u?"".concat(u,"/email/event_settings/reset"):"/email/event_settings/reset",o=await fetch(t,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},oS=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/").concat(t):"/v1/agents/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Delete agent response:",r),r}catch(e){throw console.error("Failed to delete agent:",e),e}},ob=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/").concat(t,"/make_public"):"/v1/agents/".concat(t,"/make_public"),a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Make agent public response:",r),r}catch(e){throw console.error("Failed to make agent public:",e),e}},oF=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/make_public"):"/v1/agents/make_public",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({agent_ids:t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Make agents public response:",r),r}catch(e){throw console.error("Failed to make agents public:",e),e}},oP=async(e,t)=>{try{let o=u?"".concat(u,"/v1/mcp/make_public"):"/v1/mcp/make_public",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({mcp_server_ids:t})});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Make agents public response:",r),r}catch(e){throw console.error("Failed to make agents public:",e),e}},oO=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails/").concat(t):"/guardrails/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error(e)}let r=await a.json();return console.log("Delete guardrail response:",r),r}catch(e){throw console.error("Failed to delete guardrail:",e),e}},oB=async e=>{try{let t=u?"".concat(u,"/guardrails/ui/add_guardrail_settings"):"/guardrails/ui/add_guardrail_settings",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},oN=async e=>{try{let t=u?"".concat(u,"/guardrails/ui/provider_specific_params"):"/guardrails/ui/provider_specific_params",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(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}},ox=async(e,t)=>{try{let o=encodeURIComponent(t),a=u?"".concat(u,"/guardrails/ui/category_yaml/").concat(o):"/guardrails/ui/category_yaml/".concat(o);console.log("Fetching category YAML from: ".concat(a));let r=await fetch(a,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.text();throw console.error("Failed to get category YAML. Status: ".concat(r.status,", Error:"),e),y(e),Error("Failed to get category YAML: ".concat(r.status," ").concat(e))}let n=await r.json();return console.log("Category YAML response:",n),n}catch(e){throw console.error("Failed to get category YAML:",e),e}},oA=async e=>{try{let t=u?"".concat(u,"/v1/agents"):"/v1/agents",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw y(e),Error("Failed to get agents list")}let a=await o.json();return console.log("Agents list response:",a),{agents:a}}catch(e){throw console.error("Failed to get agents list:",e),e}},oJ=async(e,t)=>{try{let o=u?"".concat(u,"/v1/agents/").concat(t):"/v1/agents/".concat(t),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to get agent info")}let r=await a.json();return console.log("Agent info response:",r),r}catch(e){throw console.error("Failed to get agent info:",e),e}},oG=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails/").concat(t,"/info"):"/guardrails/".concat(t,"/info"),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to get guardrail info")}let r=await a.json();return console.log("Guardrail info response:",r),r}catch(e){throw console.error("Failed to get guardrail info:",e),e}},oU=async(e,t,o)=>{try{let a=u?"".concat(u,"/v1/agents/").concat(t):"/v1/agents/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw y(e),Error("Failed to patch agent")}let n=await r.json();return console.log("Patch agent response:",n),n}catch(e){throw console.error("Failed to update guardrail:",e),e}},oI=async(e,t,o)=>{try{let a=u?"".concat(u,"/guardrails/").concat(t):"/guardrails/".concat(t),r=await fetch(a,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw y(e),Error("Failed to update guardrail")}let n=await r.json();return console.log("Update guardrail response:",n),n}catch(e){throw console.error("Failed to update guardrail:",e),e}},oR=async(e,t,o,a,r)=>{try{let c=u?"".concat(u,"/guardrails/apply_guardrail"):"/guardrails/apply_guardrail",l={guardrail_name:t,text:o};a&&(l.language=a),r&&r.length>0&&(l.entities=r);let i=await fetch(c,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(l)});if(!i.ok){let e=await i.text(),t="Failed to apply guardrail";try{var n;let o=JSON.parse(e);(null===(n=o.error)||void 0===n?void 0:n.message)?t=o.error.message:o.detail?t=o.detail:o.message&&(t=o.message)}catch(o){t=e||t}throw y(e),Error(t)}let s=await i.json();return console.log("Apply guardrail response:",s),s}catch(e){throw console.error("Failed to apply guardrail:",e),e}},oM=async(e,t)=>{try{let o=u?"".concat(u,"/guardrails/validate_blocked_words_file"):"/guardrails/validate_blocked_words_file",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({file_content:t})});if(!a.ok){let e=await a.text();throw y(e),Error("Failed to validate blocked words file")}let r=await a.json();return console.log("Validate blocked words file response:",r),r}catch(e){throw console.error("Failed to validate blocked words file:",e),e}},oz=async e=>{try{let t=u?"".concat(u,"/get/sso_settings"):"/get/sso_settings";console.log("Fetching SSO configuration from:",t);let o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}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}},oL=async(e,t)=>{try{let r=u?"".concat(u,"/update/sso_settings"):"/update/sso_settings";console.log("Updating SSO configuration:",t);let n=await fetch(r,{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){var o,a;let e=await n.json(),t="object"==typeof(null==e?void 0:e.detail)?(null===(o=e.detail)||void 0===o?void 0:o.error)||(null===(a=e.detail)||void 0===a?void 0:a.message):null==e?void 0:e.detail,r="string"==typeof t&&t.length>0?t:ae(e);y(r);let c=Error(r);throw(null==e?void 0:e.detail)!==void 0&&(c.detail=e.detail),c.rawError=e,c}let c=await n.json();return console.log("Updated SSO configuration:",c),c}catch(e){throw console.error("Failed to update SSO configuration:",e),e}},oD=async(e,t,o,a,r)=>{try{let t=u?"".concat(u,"/audit"):"/audit",o=new URLSearchParams;a&&o.append("page",a.toString()),r&&o.append("page_size",r.toString());let n=o.toString();n&&(t+="?".concat(n));let c=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.json(),t=ae(e);throw y(t),Error(t)}return await c.json()}catch(e){throw console.error("Failed to fetch audit logs:",e),e}},oV=async e=>{try{let t=u?"".concat(u,"/user/available_users"):"/user/available_users",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e)}});if(!o.ok){if(404===o.status)return null;let e=await o.text();throw y(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to fetch remaining users:",e),e}},oq=async(e,t,o)=>{try{let a=u?"".concat(u,"/config/pass_through_endpoint/").concat(encodeURIComponent(t)):"/config/pass_through_endpoint/".concat(encodeURIComponent(t)),r=await fetch(a,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.json(),t=ae(e);throw y(t),Error(t)}let n=await r.json();return c.Z.success("Pass through endpoint updated successfully"),n}catch(e){throw console.error("Failed to update pass through endpoint:",e),e}},oZ=async(e,t)=>{try{let o=u?"".concat(u,"/config/pass_through_endpoint?endpoint_id=").concat(encodeURIComponent(t)):"/config/pass_through_endpoint?endpoint_id=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}let r=(await a.json()).endpoints;if(!r||0===r.length)throw Error("Pass through endpoint not found");return r[0]}catch(e){throw console.error("Failed to get pass through endpoint info:",e),e}},oH=async(e,t)=>{try{let o=u?"".concat(u,"/config/callback/delete"):"/config/callback/delete",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({callback_name:t})});if(!a.ok){let e=await a.json(),t=ae(e);throw y(t),Error(t)}return await a.json()}catch(e){throw console.error("Failed to delete specific callback:",e),e}},oY=async e=>{let t=g(),o=await fetch("".concat(t,"/v1/mcp/tools"),{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw Error("HTTP error! status: ".concat(o.status));return await o.json()},oW=async(e,t)=>{try{console.log("Testing MCP connection with config:",JSON.stringify(t));let a=u?"".concat(u,"/mcp-rest/test/connection"):"/mcp-rest/test/connection",r=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",[C]:"Bearer ".concat(e)},body:JSON.stringify(t)}),n=r.headers.get("content-type");if(!n||!n.includes("application/json")){let e=await r.text();throw console.error("Received non-JSON response:",e),Error("Received non-JSON response (".concat(r.status,": ").concat(r.statusText,"). Check network tab for details."))}let c=await r.json();if(!r.ok||"error"===c.status){if("error"===c.status);else{var o;return{status:"error",message:(null===(o=c.error)||void 0===o?void 0:o.message)||"MCP connection test failed: ".concat(r.status," ").concat(r.statusText)}}}return c}catch(e){throw console.error("MCP connection test error:",e),e}},oQ=async(e,t,o)=>{try{console.log("Testing MCP tools list with config:",JSON.stringify(t));let a=u?"".concat(u,"/mcp-rest/test/tools/list"):"/mcp-rest/test/tools/list",r={"Content-Type":"application/json"};e&&(r["x-litellm-api-key"]=e),o?r.Authorization="Bearer ".concat(o):e&&(r[C]="Bearer ".concat(e));let n=await fetch(a,{method:"POST",headers:r,body:JSON.stringify(t)}),c=n.headers.get("content-type");if(!c||!c.includes("application/json")){let e=await n.text();throw console.error("Received non-JSON response:",e),Error("Received non-JSON response (".concat(n.status,": ").concat(n.statusText,"). Check network tab for details."))}let l=await n.json();if((!n.ok||l.error)&&!l.error)return{tools:[],error:"request_failed",message:l.message||"MCP tools list failed: ".concat(n.status," ").concat(n.statusText)};return l}catch(e){throw console.error("MCP tools list test error:",e),e}},oK=async(e,t)=>{let o=u?"".concat(u,"/v1/mcp/server/oauth/session"):"/v1/mcp/server/oauth/session",a=await fetch(o,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await a.json();if(!a.ok)throw Error(ae(r)||(null==r?void 0:r.error)||"Failed to cache MCP server");return r},o$=async(e,t,o)=>{let a=g(),r=encodeURIComponent(t.trim()),n="".concat(a,"/v1/mcp/server/oauth/").concat(r,"/register"),c=await fetch(n,{method:"POST",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify(o)}),l=await c.json();if(!c.ok)throw Error(ae(l)||(null==l?void 0:l.detail)||"Failed to register OAuth client");return l},oX=e=>{let{serverId:t,clientId:o,redirectUri:a,state:r,codeChallenge:n,scope:c}=e,l=g(),i=encodeURIComponent(t.trim()),s="".concat(l,"/v1/mcp/server/oauth/").concat(i,"/authorize"),d=new URLSearchParams({redirect_uri:a,state:r,response_type:"code",code_challenge:n,code_challenge_method:"S256"});return o&&o.trim().length>0&&d.set("client_id",o),c&&c.trim().length>0&&d.set("scope",c),"".concat(s,"?").concat(d.toString())},o0=async e=>{let{serverId:t,code:o,clientId:a,clientSecret:r,codeVerifier:n,redirectUri:c}=e,l=g(),i=encodeURIComponent(t.trim()),s="".concat(l,"/v1/mcp/server/oauth/").concat(i,"/token"),d=new URLSearchParams;d.set("grant_type","authorization_code"),d.set("code",o),a&&a.trim().length>0&&d.set("client_id",a),r&&r.trim().length>0&&d.set("client_secret",r),d.set("code_verifier",n),d.set("redirect_uri",c);let u=await fetch(s,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString()}),h=await u.json();if(!u.ok)throw Error(ae(h)||(null==h?void 0:h.detail)||"OAuth token exchange failed");return h},o1=async(e,t,o)=>{try{let a="".concat(g(),"/v1/vector_stores/").concat(t,"/search"),r=await fetch(a,{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({query:o})});if(!r.ok){let e=await r.text();return await y(e),null}return await r.json()}catch(e){throw console.error("Error testing vector store search:",e),e}},o4=async(e,t,o,a)=>{try{let r="".concat(g(),"/v1/search/").concat(t),n=await fetch(r,{method:"POST",headers:{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({query:o,max_results:a||5})});if(!n.ok){let e=await n.text();return await y(e),null}return await n.json()}catch(e){throw console.error("Error querying search tool:",e),e}},o3=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:50,n=arguments.length>5?arguments[5]:void 0;try{let c=u?"".concat(u,"/tag/user-agent/analytics"):"/tag/user-agent/analytics",l=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)};l.append("start_date",i(t)),l.append("end_date",i(o)),l.append("page",a.toString()),l.append("page_size",r.toString()),n&&l.append("user_agent_filter",n);let s=l.toString();s&&(c+="?".concat(s));let d=await fetch(c,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!d.ok){let e=await d.json(),t=ae(e);throw y(t),Error(t)}return await d.json()}catch(e){throw console.error("Failed to fetch user agent analytics:",e),e}},o2=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/dau"):"/tag/dau",n=new URLSearchParams;n.append("end_date",(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)})(t)),a&&a.length>0?a.forEach(e=>{n.append("tag_filters",e)}):o&&n.append("tag_filter",o);let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch DAU:",e),e}},o5=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/wau"):"/tag/wau",n=new URLSearchParams;n.append("end_date",(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)})(t)),a&&a.length>0?a.forEach(e=>{n.append("tag_filters",e)}):o&&n.append("tag_filter",o);let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch WAU:",e),e}},o9=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/mau"):"/tag/mau",n=new URLSearchParams;n.append("end_date",(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)})(t)),a&&a.length>0?a.forEach(e=>{n.append("tag_filters",e)}):o&&n.append("tag_filter",o);let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch MAU:",e),e}},o6=async e=>{try{let t=u?"".concat(u,"/tag/distinct"):"/tag/distinct",o=await fetch(t,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.json(),t=ae(e);throw y(t),Error(t)}return await o.json()}catch(e){throw console.error("Failed to fetch distinct tags:",e),e}},o8=async(e,t,o,a)=>{try{let r=u?"".concat(u,"/tag/summary"):"/tag/summary",n=new URLSearchParams,c=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)};n.append("start_date",c(t)),n.append("end_date",c(o)),a&&a.length>0&&a.forEach(e=>{n.append("tag_filters",e)});let l=n.toString();l&&(r+="?".concat(l));let i=await fetch(r,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.json(),t=ae(e);throw y(t),Error(t)}return await i.json()}catch(e){throw console.error("Failed to fetch user agent summary:",e),e}},o7=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,a=arguments.length>3?arguments[3]:void 0;try{let r=u?"".concat(u,"/tag/user-agent/per-user-analytics"):"/tag/user-agent/per-user-analytics",n=new URLSearchParams;n.append("page",t.toString()),n.append("page_size",o.toString()),a&&a.length>0&&a.forEach(e=>{n.append("tag_filters",e)});let c=n.toString();c&&(r+="?".concat(c));let l=await fetch(r,{method:"GET",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!l.ok){let e=await l.json(),t=ae(e);throw y(t),Error(t)}return await l.json()}catch(e){throw console.error("Failed to fetch per-user analytics:",e),e}},ae=e=>(null==e?void 0:e.error)&&(e.error.message||e.error)||(null==e?void 0:e.message)||(null==e?void 0:e.detail)||(null==e?void 0:e.error)||JSON.stringify(e),at=async(e,t)=>{let o=g(),a=JSON.stringify({username:e,password:t}),r=await fetch(o?"".concat(o,"/v2/login"):"/v2/login",{method:"POST",body:a,credentials:"include",headers:{"Content-Type":"application/json"}});if(!r.ok)throw Error(ae(await r.json()));return await r.json()},ao=async e=>{let t=g(),o=await fetch(t?"".concat(t,"/get/ui_settings"):"/get/ui_settings",{method:"GET",headers:{[C]:"Bearer ".concat(e)}});if(!o.ok)throw Error(ae(await o.json()));return await o.json()},aa=async(e,t)=>{let o=g(),a=await fetch(o?"".concat(o,"/update/ui_settings"):"/update/ui_settings",{method:"PATCH",headers:{[C]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error(ae(await a.json()));return await a.json()}},85968:function(e,t,o){o.d(t,{O:function(){return a}});let a=e=>{if(!e)return"An unknown error occurred";if("string"==typeof e)return e;if(e.message)try{let t=JSON.parse(e.message);if(t.error&&t.error.message)return t.error.message;return"string"==typeof t?t:JSON.stringify(t,null,2)}catch(t){return e.message}if(e.response&&e.response.data){if("string"==typeof e.response.data)return e.response.data;if(e.response.data.message)return e.response.data.message;if(e.response.data.error)return"string"==typeof e.response.data.error?e.response.data.error:e.response.data.error.message||JSON.stringify(e.response.data.error)}return String(e)}},3914:function(e,t,o){function a(){if("undefined"==typeof document)return;let e=window.location.hostname,t=window.location.pathname,o=["/","/ui"];if(t&&"/"!==t&&!t.startsWith("/ui")){let e=t.substring(0,t.lastIndexOf("/")+1);e&&!o.includes(e)&&o.push(e)}let a=["Lax","Strict","None"];o.forEach(t=>{document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,";"),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,"; domain=").concat(e,";"),a.forEach(o=>{let a="None"===o?" Secure;":"";document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,"; SameSite=").concat(o,";").concat(a),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=".concat(t,"; domain=").concat(e,"; SameSite=").concat(o,";").concat(a)})}),console.log("After clearing cookies:",document.cookie)}function r(e){if("undefined"==typeof document)return null;let t=document.cookie.split("; ").find(t=>t.startsWith(e+"="));return t?t.split("=")[1]:null}o.d(t,{b:function(){return a},e:function(){return r}})},9309:function(e,t,o){o.d(t,{Ac:function(){return n},N4:function(){return a},aS:function(){return r}});let a=e=>e?e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()):e;function r(e,t){return e.length>t?e.substring(0,t)+"...":e}let n=(e,t)=>{if(!t)return Promise.resolve();try{return JSON.parse(t),Promise.resolve()}catch(e){return Promise.reject("Please enter valid JSON")}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8143-af49726668341269.js b/litellm/proxy/_experimental/out/_next/static/chunks/8143-3f24c5ca9a8b2457.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/8143-af49726668341269.js rename to litellm/proxy/_experimental/out/_next/static/chunks/8143-3f24c5ca9a8b2457.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/816-e7500f06e5b83b0f.js b/litellm/proxy/_experimental/out/_next/static/chunks/816-e7500f06e5b83b0f.js deleted file mode 100644 index 495ec91a3d..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/816-e7500f06e5b83b0f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[816],{79276:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z"}}]},name:"arrow-up",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},83322:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z"}}]},name:"bulb",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},26430:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z"}}]},name:"clear",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},5540:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},11894:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"code",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},62670:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z"}}]},name:"dollar",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},11741:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"}}]},name:"export",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},71282:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},16601:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z"}}]},name:"number",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},69993:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},58630:function(e,t,n){n.d(t,{Z:function(){return a}});var r=n(1119),l=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z"}}]},name:"tool",theme:"outlined"},o=n(55015),a=l.forwardRef(function(e,t){return l.createElement(o.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},92570:function(e,t,n){n.d(t,{Z:function(){return r}});let r=e=>e?"function"==typeof e?e():e:null},20435:function(e,t,n){n.d(t,{aV:function(){return f}});var r=n(2265),l=n(36760),i=n.n(l),o=n(5769),a=n(92570),u=n(71744),c=n(72262),s=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var l=0,r=Object.getOwnPropertySymbols(e);lt.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]]);return n};let f=e=>{let{title:t,content:n,prefixCls:l}=e;return t||n?r.createElement(r.Fragment,null,t&&r.createElement("div",{className:"".concat(l,"-title")},t),n&&r.createElement("div",{className:"".concat(l,"-inner-content")},n)):null},p=e=>{let{hashId:t,prefixCls:n,className:l,style:u,placement:c="top",title:s,content:p,children:d}=e,h=(0,a.Z)(s),m=(0,a.Z)(p),g=i()(t,n,"".concat(n,"-pure"),"".concat(n,"-placement-").concat(c),l);return r.createElement("div",{className:g,style:u},r.createElement("div",{className:"".concat(n,"-arrow")}),r.createElement(o.G,Object.assign({},e,{className:t,prefixCls:n}),d||r.createElement(f,{prefixCls:n,title:h,content:m})))};t.ZP=e=>{let{prefixCls:t,className:n}=e,l=s(e,["prefixCls","className"]),{getPrefixCls:o}=r.useContext(u.E_),a=o("popover",t),[f,d,h]=(0,c.Z)(a);return f(r.createElement(p,Object.assign({},l,{prefixCls:a,hashId:d,className:i()(n,h)})))}},79326:function(e,t,n){var r=n(2265),l=n(36760),i=n.n(l),o=n(50506),a=n(95814),u=n(92570),c=n(68710),s=n(19722),f=n(71744),p=n(99981),d=n(20435),h=n(72262),m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var l=0,r=Object.getOwnPropertySymbols(e);lt.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]]);return n};let g=r.forwardRef((e,t)=>{var n,l;let{prefixCls:g,title:y,content:v,overlayClassName:x,placement:k="top",trigger:b="hover",children:w,mouseEnterDelay:S=.1,mouseLeaveDelay:C=.1,onOpenChange:E,overlayStyle:I={},styles:T,classNames:P}=e,z=m(e,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle","styles","classNames"]),{getPrefixCls:A,className:O,style:M,classNames:L,styles:D}=(0,f.dj)("popover"),N=A("popover",g),[F,R,_]=(0,h.Z)(N),j=A(),B=i()(x,R,_,O,L.root,null==P?void 0:P.root),H=i()(L.body,null==P?void 0:P.body),[V,Z]=(0,o.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(l=e.defaultOpen)&&void 0!==l?l:e.defaultVisible}),U=(e,t)=>{Z(e,!0),null==E||E(e,t)},q=e=>{e.keyCode===a.Z.ESC&&U(!1,e)},W=(0,u.Z)(y),Y=(0,u.Z)(v);return F(r.createElement(p.Z,Object.assign({placement:k,trigger:b,mouseEnterDelay:S,mouseLeaveDelay:C},z,{prefixCls:N,classNames:{root:B,body:H},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},D.root),M),I),null==T?void 0:T.root),body:Object.assign(Object.assign({},D.body),null==T?void 0:T.body)},ref:t,open:V,onOpenChange:e=>{U(e)},overlay:W||Y?r.createElement(d.aV,{prefixCls:N,title:W,content:Y}):null,transitionName:(0,c.m)(j,"zoom-big",z.transitionName),"data-popover-inject":!0}),(0,s.Tm)(w,{onKeyDown:e=>{var t,n;(0,r.isValidElement)(w)&&(null===(n=null==w?void 0:(t=w.props).onKeyDown)||void 0===n||n.call(t,e)),q(e)}})))});g._InternalPanelDoNotUseOrYouWillBeFired=d.ZP,t.Z=g},72262:function(e,t,n){var r=n(12918),l=n(691),i=n(88260),o=n(34442),a=n(53454),u=n(99320),c=n(71140);let s=e=>{let{componentCls:t,popoverColor:n,titleMinWidth:l,fontWeightStrong:o,innerPadding:a,boxShadowSecondary:u,colorTextHeading:c,borderRadiusLG:s,zIndexPopup:f,titleMarginBottom:p,colorBgElevated:d,popoverBg:h,titleBorderBottom:m,innerContentPadding:g,titlePadding:y}=e;return[{[t]:Object.assign(Object.assign({},(0,r.Wf)(e)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:f,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text","--valid-offset-x":"var(--arrow-offset-horizontal, var(--arrow-x))",transformOrigin:"var(--valid-offset-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},["".concat(t,"-content")]:{position:"relative"},["".concat(t,"-inner")]:{backgroundColor:h,backgroundClip:"padding-box",borderRadius:s,boxShadow:u,padding:a},["".concat(t,"-title")]:{minWidth:l,marginBottom:p,color:c,fontWeight:o,borderBottom:m,padding:y},["".concat(t,"-inner-content")]:{color:n,padding:g}})},(0,i.ZP)(e,"var(--antd-arrow-background-color)"),{["".concat(t,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow,display:"inline-block",["".concat(t,"-content")]:{display:"inline-block"}}}]},f=e=>{let{componentCls:t}=e;return{[t]:a.i.map(n=>{let r=e["".concat(n,"6")];return{["&".concat(t,"-").concat(n)]:{"--antd-arrow-background-color":r,["".concat(t,"-inner")]:{backgroundColor:r},["".concat(t,"-arrow")]:{background:"transparent"}}}})}};t.Z=(0,u.I$)("Popover",e=>{let{colorBgElevated:t,colorText:n}=e,r=(0,c.IX)(e,{popoverBg:t,popoverColor:n});return[s(r),f(r),(0,l._y)(r,"zoom-big")]},e=>{let{lineWidth:t,controlHeight:n,fontHeight:r,padding:l,wireframe:a,zIndexPopupBase:u,borderRadiusLG:c,marginXS:s,lineType:f,colorSplit:p,paddingSM:d}=e,h=n-r;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:u+30},(0,o.w)(e)),(0,i.wZ)({contentRadius:c,limitVerticalRadius:!0})),{innerPadding:a?0:12,titleMarginBottom:a?0:s,titlePadding:a?"".concat(h/2,"px ").concat(l,"px ").concat(h/2-t,"px"):0,titleBorderBottom:a?"".concat(t,"px ").concat(f," ").concat(p):"none",innerContentPadding:a?"".concat(d,"px ").concat(l,"px"):0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]})},6500:function(e){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,l=Object.getOwnPropertyDescriptor,i=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,l=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!l&&!i)return!1;for(r in e);return void 0===r||t.call(e,r)},a=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},u=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(l)return l(e,n).value}return e[n]};e.exports=function e(){var t,n,r,l,c,s,f=arguments[0],p=1,d=arguments.length,h=!1;for("boolean"==typeof f&&(h=f,f=arguments[1]||{},p=2),(null==f||"object"!=typeof f&&"function"!=typeof f)&&(f={});p code':{position:"relative",zIndex:"1",borderLeft:"10px solid #358ccb",boxShadow:"-1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf",backgroundColor:"#fdfdfd",backgroundImage:"linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%)",backgroundSize:"3em 3em",backgroundOrigin:"content-box",backgroundAttachment:"local"},':not(pre) > code[class*="language-"]':{backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box",marginBottom:"1em",position:"relative",padding:".2em",borderRadius:"0.3em",color:"#c92c2c",border:"1px solid rgba(0, 0, 0, 0.1)",display:"inline",whiteSpace:"normal"},'pre[class*="language-"]:before':{content:"''",display:"block",position:"absolute",bottom:"0.75em",left:"0.18em",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(-2deg)",MozTransform:"rotate(-2deg)",msTransform:"rotate(-2deg)",OTransform:"rotate(-2deg)",transform:"rotate(-2deg)"},'pre[class*="language-"]:after':{content:"''",display:"block",position:"absolute",bottom:"0.75em",left:"auto",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(2deg)",MozTransform:"rotate(2deg)",msTransform:"rotate(2deg)",OTransform:"rotate(2deg)",transform:"rotate(2deg)",right:"0.75em"},comment:{color:"#7D8B99"},"block-comment":{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#5F6364"},property:{color:"#c92c2c"},tag:{color:"#c92c2c"},boolean:{color:"#c92c2c"},number:{color:"#c92c2c"},"function-name":{color:"#c92c2c"},constant:{color:"#c92c2c"},symbol:{color:"#c92c2c"},deleted:{color:"#c92c2c"},selector:{color:"#2f9c0a"},"attr-name":{color:"#2f9c0a"},string:{color:"#2f9c0a"},char:{color:"#2f9c0a"},function:{color:"#2f9c0a"},builtin:{color:"#2f9c0a"},inserted:{color:"#2f9c0a"},operator:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},entity:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)",cursor:"help"},url:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},variable:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},atrule:{color:"#1990b8"},"attr-value":{color:"#1990b8"},keyword:{color:"#1990b8"},"class-name":{color:"#1990b8"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"normal"},".language-css .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},".style .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:".7"},'pre[class*="language-"].line-numbers.line-numbers':{paddingLeft:"0"},'pre[class*="language-"].line-numbers.line-numbers code':{paddingLeft:"3.8em"},'pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows':{left:"0"},'pre[class*="language-"][data-line]':{paddingTop:"0",paddingBottom:"0",paddingLeft:"0"},"pre[data-line] code":{position:"relative",paddingLeft:"4em"},"pre .line-highlight":{marginTop:"0"}}},95693:function(e,t,n){var r=(this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(n(52744)),l=n(96172);function i(e,t){var n={};return e&&"string"==typeof e&&(0,r.default)(e,function(e,r){e&&r&&(n[(0,l.camelCase)(e,t)]=r)}),n}i.default=i,e.exports=i},96172:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.camelCase=void 0;var n=/^--[a-zA-Z0-9_-]+$/,r=/-([a-z])/g,l=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,a=function(e,t){return t.toUpperCase()},u=function(e,t){return"".concat(t,"-")};t.camelCase=function(e,t){var c;return(void 0===t&&(t={}),!(c=e)||l.test(c)||n.test(c))?e:(e=e.toLowerCase(),(e=t.reactCompat?e.replace(o,u):e.replace(i,u)).replace(r,a))}},52744:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){let n=null;if(!e||"string"!=typeof e)return n;let r=(0,l.default)(e),i="function"==typeof t;return r.forEach(e=>{if("declaration"!==e.type)return;let{property:r,value:l}=e;i?t(r,l,e):l&&((n=n||{})[r]=l)}),n};let l=r(n(30537))},62831:function(e,t,n){n.d(t,{UG:function(){return nq}});var r={};n.r(r),n.d(r,{boolean:function(){return g},booleanish:function(){return y},commaOrSpaceSeparated:function(){return w},commaSeparated:function(){return b},number:function(){return x},overloadedBoolean:function(){return v},spaceSeparated:function(){return k}});var l={};n.r(l),n.d(l,{attentionMarkers:function(){return tB},contentInitial:function(){return tD},disable:function(){return tH},document:function(){return tL},flow:function(){return tF},flowInitial:function(){return tN},insideSpan:function(){return tj},string:function(){return tR},text:function(){return t_}});let i=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,o=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,a={};function u(e,t){return((t||a).jsx?o:i).test(e)}let c=/[ \t\n\f\r]/g;function s(e){return""===e.replace(c,"")}class f{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}}function p(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new f(n,r,t)}function d(e){return e.toLowerCase()}f.prototype.normal={},f.prototype.property={},f.prototype.space=void 0;class h{constructor(e,t){this.attribute=t,this.property=e}}h.prototype.attribute="",h.prototype.booleanish=!1,h.prototype.boolean=!1,h.prototype.commaOrSpaceSeparated=!1,h.prototype.commaSeparated=!1,h.prototype.defined=!1,h.prototype.mustUseProperty=!1,h.prototype.number=!1,h.prototype.overloadedBoolean=!1,h.prototype.property="",h.prototype.spaceSeparated=!1,h.prototype.space=void 0;let m=0,g=S(),y=S(),v=S(),x=S(),k=S(),b=S(),w=S();function S(){return 2**++m}let C=Object.keys(r);class E extends h{constructor(e,t,n,l){var i,o;let a=-1;if(super(e,t),l&&(this.space=l),"number"==typeof n)for(;++a"role"===t?t:"aria-"+t.slice(4).toLowerCase()});function P(e,t){return t in e?e[t]:t}function z(e,t){return P(e,t.toLowerCase())}let A=I({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:b,acceptCharset:k,accessKey:k,action:null,allow:null,allowFullScreen:g,allowPaymentRequest:g,allowUserMedia:g,alt:null,as:null,async:g,autoCapitalize:null,autoComplete:k,autoFocus:g,autoPlay:g,blocking:k,capture:null,charSet:null,checked:g,cite:null,className:k,cols:x,colSpan:null,content:null,contentEditable:y,controls:g,controlsList:k,coords:x|b,crossOrigin:null,data:null,dateTime:null,decoding:null,default:g,defer:g,dir:null,dirName:null,disabled:g,download:v,draggable:y,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:g,formTarget:null,headers:k,height:x,hidden:v,high:x,href:null,hrefLang:null,htmlFor:k,httpEquiv:k,id:null,imageSizes:null,imageSrcSet:null,inert:g,inputMode:null,integrity:null,is:null,isMap:g,itemId:null,itemProp:k,itemRef:k,itemScope:g,itemType:k,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:g,low:x,manifest:null,max:null,maxLength:x,media:null,method:null,min:null,minLength:x,multiple:g,muted:g,name:null,nonce:null,noModule:g,noValidate:g,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:g,optimum:x,pattern:null,ping:k,placeholder:null,playsInline:g,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:g,referrerPolicy:null,rel:k,required:g,reversed:g,rows:x,rowSpan:x,sandbox:k,scope:null,scoped:g,seamless:g,selected:g,shadowRootClonable:g,shadowRootDelegatesFocus:g,shadowRootMode:null,shape:null,size:x,sizes:null,slot:null,span:x,spellCheck:y,src:null,srcDoc:null,srcLang:null,srcSet:null,start:x,step:null,style:null,tabIndex:x,target:null,title:null,translate:null,type:null,typeMustMatch:g,useMap:null,value:y,width:x,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:k,axis:null,background:null,bgColor:null,border:x,borderColor:null,bottomMargin:x,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:g,declare:g,event:null,face:null,frame:null,frameBorder:null,hSpace:x,leftMargin:x,link:null,longDesc:null,lowSrc:null,marginHeight:x,marginWidth:x,noResize:g,noHref:g,noShade:g,noWrap:g,object:null,profile:null,prompt:null,rev:null,rightMargin:x,rules:null,scheme:null,scrolling:y,standby:null,summary:null,text:null,topMargin:x,valueType:null,version:null,vAlign:null,vLink:null,vSpace:x,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:g,disableRemotePlayback:g,prefix:null,property:null,results:x,security:null,unselectable:null},space:"html",transform:z}),O=I({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:w,accentHeight:x,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:x,amplitude:x,arabicForm:null,ascent:x,attributeName:null,attributeType:null,azimuth:x,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:x,by:null,calcMode:null,capHeight:x,className:k,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:x,diffuseConstant:x,direction:null,display:null,dur:null,divisor:x,dominantBaseline:null,download:g,dx:null,dy:null,edgeMode:null,editable:null,elevation:x,enableBackground:null,end:null,event:null,exponent:x,externalResourcesRequired:null,fill:null,fillOpacity:x,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:b,g2:b,glyphName:b,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:x,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:x,horizOriginX:x,horizOriginY:x,id:null,ideographic:x,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:x,k:x,k1:x,k2:x,k3:x,k4:x,kernelMatrix:w,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:x,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:x,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:x,overlineThickness:x,paintOrder:null,panose1:null,path:null,pathLength:x,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:k,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:x,pointsAtY:x,pointsAtZ:x,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:w,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:w,rev:w,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:w,requiredFeatures:w,requiredFonts:w,requiredFormats:w,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:x,specularExponent:x,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:x,strikethroughThickness:x,string:null,stroke:null,strokeDashArray:w,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:x,strokeOpacity:x,strokeWidth:null,style:null,surfaceScale:x,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:w,tabIndex:x,tableValues:null,target:null,targetX:x,targetY:x,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:w,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:x,underlineThickness:x,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:x,values:null,vAlphabetic:x,vMathematical:x,vectorEffect:null,vHanging:x,vIdeographic:x,version:null,vertAdvY:x,vertOriginX:x,vertOriginY:x,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:x,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:P}),M=I({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase()}),L=I({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:z}),D=I({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase()}),N=p([T,A,M,L,D],"html"),F=p([T,O,M,L,D],"svg"),R=/[A-Z]/g,_=/-[a-z]/g,j=/^data[-\w.:]+$/i;function B(e){return"-"+e.toLowerCase()}function H(e){return e.charAt(1).toUpperCase()}let V={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var Z=n(95693);let U=W("end"),q=W("start");function W(e){return function(t){let n=t&&t.position&&t.position[e]||{};if("number"==typeof n.line&&n.line>0&&"number"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:"number"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function Y(e){return e&&"object"==typeof e?"position"in e||"type"in e?Q(e.position):"start"in e||"end"in e?Q(e):"line"in e||"column"in e?K(e):"":""}function K(e){return $(e&&e.line)+":"+$(e&&e.column)}function Q(e){return K(e&&e.start)+"-"+K(e&&e.end)}function $(e){return e&&"number"==typeof e?e:1}class X extends Error{constructor(e,t,n){super(),"string"==typeof t&&(n=t,t=void 0);let r="",l={},i=!1;if(t&&(l="line"in t&&"column"in t?{place:t}:"start"in t&&"end"in t?{place:t}:"type"in t?{ancestors:[t],place:t.position}:{...t}),"string"==typeof e?r=e:!l.cause&&e&&(i=!0,r=e.message,l.cause=e),!l.ruleId&&!l.source&&"string"==typeof n){let e=n.indexOf(":");-1===e?l.ruleId=n:(l.source=n.slice(0,e),l.ruleId=n.slice(e+1))}if(!l.place&&l.ancestors&&l.ancestors){let e=l.ancestors[l.ancestors.length-1];e&&(l.place=e.position)}let o=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=Y(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=i&&l.cause&&"string"==typeof l.cause.stack?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}X.prototype.file="",X.prototype.name="",X.prototype.reason="",X.prototype.message="",X.prototype.stack="",X.prototype.column=void 0,X.prototype.line=void 0,X.prototype.ancestors=void 0,X.prototype.cause=void 0,X.prototype.fatal=void 0,X.prototype.place=void 0,X.prototype.ruleId=void 0,X.prototype.source=void 0;let J={}.hasOwnProperty,G=new Map,ee=/[A-Z]/g,et=new Set(["table","tbody","thead","tfoot","tr"]),en=new Set(["td","th"]),er="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function el(e,t,n){return"element"===t.type?function(e,t,n){let r=e.schema,l=r;"svg"===t.tagName.toLowerCase()&&"html"===r.space&&(l=F,e.schema=l),e.ancestors.push(t);let i=eu(e,t.tagName,!1),o=function(e,t){let n,r;let l={};for(r in t.properties)if("children"!==r&&J.call(t.properties,r)){let i=function(e,t,n){let r=function(e,t){let n=d(t),r=t,l=h;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&j.test(t)){if("-"===t.charAt(4)){let e=t.slice(5).replace(_,H);r="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!_.test(e)){let n=e.replace(R,B);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}l=E}return new l(r,t)}(e.schema,t);if(!(null==n||"number"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e,t){let n={};return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}(n):n.join(" ").trim()),"style"===r.property){let t="object"==typeof n?n:function(e,t){try{return Z(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};let t=new X("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw t.file=e.filePath||void 0,t.url=er+"#cannot-parse-style-attribute",t}}(e,String(n));return"css"===e.stylePropertyNameCase&&(t=function(e){let t;let n={};for(t in e)J.call(e,t)&&(n[function(e){let t=e.replace(ee,es);return"ms-"===t.slice(0,3)&&(t="-"+t),t}(t)]=e[t]);return n}(t)),["style",t]}return["react"===e.elementAttributeNameCase&&r.space?V[r.property]||r.property:r.attribute,n]}}(e,r,t.properties[r]);if(i){let[r,o]=i;e.tableCellAlignToStyle&&"align"===r&&"string"==typeof o&&en.has(t.tagName)?n=o:l[r]=o}}return n&&((l.style||(l.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=n),l}(e,t),a=ea(e,t);return et.has(t.tagName)&&(a=a.filter(function(e){return"string"!=typeof e||!("object"==typeof e?"text"===e.type&&s(e.value):s(e))})),ei(e,o,i,t),eo(o,a),e.ancestors.pop(),e.schema=r,e.create(t,i,o,n)}(e,t,n):"mdxFlowExpression"===t.type||"mdxTextExpression"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}ec(e,t.position)}(e,t):"mdxJsxFlowElement"===t.type||"mdxJsxTextElement"===t.type?function(e,t,n){let r=e.schema,l=r;"svg"===t.name&&"html"===r.space&&(l=F,e.schema=l),e.ancestors.push(t);let i=null===t.name?e.Fragment:eu(e,t.name,!0),o=function(e,t){let n={};for(let r of t.attributes)if("mdxJsxExpressionAttribute"===r.type){if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let l=t.expression;l.type;let i=l.properties[0];i.type,Object.assign(n,e.evaluater.evaluateExpression(i.argument))}else ec(e,t.position)}else{let l;let i=r.name;if(r.value&&"object"==typeof r.value){if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,l=e.evaluater.evaluateExpression(t.expression)}else ec(e,t.position)}else l=null===r.value||r.value;n[i]=l}return n}(e,t),a=ea(e,t);return ei(e,o,i,t),eo(o,a),e.ancestors.pop(),e.schema=r,e.create(t,i,o,n)}(e,t,n):"mdxjsEsm"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);ec(e,t.position)}(e,t):"root"===t.type?function(e,t,n){let r={};return eo(r,ea(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):"text"===t.type?t.value:void 0}function ei(e,t,n,r){"string"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function eo(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function ea(e,t){let n=[],r=-1,l=e.passKeys?new Map:G;for(;++ri?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)(l=Array.from(r)).unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o0?(eg(e,e.length,0,t),e):t}class ev{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){this.setCursor(Math.trunc(e));let r=this.right.splice(this.right.length-(t||0),Number.POSITIVE_INFINITY);return n&&ex(this.left,n),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),ex(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),ex(this.right,e.reverse())}setCursor(e){if(e!==this.left.length&&(!(e>this.left.length)||0!==this.right.length)&&(!(e<0)||0!==this.left.length)){if(e-1&&e.test(String.fromCharCode(t))}}function eE(e,t,n,r){let l=r?r-1:Number.POSITIVE_INFINITY,i=0;return function(r){return eS(r)?(e.enter(n),function r(o){return eS(o)&&i++r))return;let a=l.events.length,u=a;for(;u--;)if("exit"===l.events[u][0]&&"chunkFlow"===l.events[u][1].type){if(e){n=l.events[u][1].end;break}e=!0}for(g(o),i=a;it;){let t=i[n];l.containerState=t[1],t[0].exit.call(l,e)}i.length=t}function y(){t.write([null]),n=void 0,t=void 0,l.containerState._closeFlow=void 0}}},eP={tokenize:function(e,t,n){return eE(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},ez=e_(/[A-Za-z]/),eA=e_(/[\dA-Za-z]/),eO=e_(/[#-'*+\--9=?A-Z^-~]/),eM=e_(/\d/),eL=e_(/[\dA-Fa-f]/),eD=e_(/[!-/:-@[-`{-~]/);function eN(e){return null!==e&&e<-2}function eF(e){return null!==e&&(e<0||32===e)}function eR(e){return -2===e||-1===e||32===e}function e_(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function ej(e,t,n,r){let l=r?r-1:Number.POSITIVE_INFINITY,i=0;return function(r){return eR(r)?(e.enter(n),function r(o){return eR(o)&&i++=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}},eZ={tokenize:function(e){let t=this,n=e.attempt(eB,function(r){if(null===r){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,eE(e,e.attempt(this.parser.constructs.flow,r,e.attempt(eH,r)),"linePrefix")));return n;function r(r){if(null===r){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}},eU={resolveAll:eK()},eq=eY("string"),eW=eY("text");function eY(e){return{resolveAll:eK("text"===e?eQ:void 0),tokenize:function(t){let n=this,r=this.parser.constructs[e],l=t.attempt(r,i,o);return i;function i(e){return u(e)?l(e):o(e)}function o(e){if(null===e){t.consume(e);return}return t.enter("data"),t.consume(e),a}function a(e){return u(e)?(t.exit("data"),l(e)):(t.consume(e),a)}function u(e){if(null===e)return!0;let t=r[e],l=-1;if(t)for(;++l=3&&(null===o||eN(o))?(e.exit("thematicBreak"),t(o)):n(o)}(i)}}},eX={continuation:{tokenize:function(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(eB,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ej(e,t,"listItemIndent",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!eR(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(eG,t,l)(n))});function l(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,ej(e,e.attempt(eX,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,t,n){let r=this,l=r.events[r.events.length-1],i=l&&"linePrefix"===l[1].type?l[2].sliceSerialize(l[1],!0).length:0,o=0;return function(t){let l=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===l?!r.containerState.marker||t===r.containerState.marker:eM(t)){if(r.containerState.type||(r.containerState.type=l,e.enter(l,{_container:!0})),"listUnordered"===l)return e.enter("listItemPrefix"),42===t||45===t?e.check(e$,n,a)(t):a(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),function t(l){return eM(l)&&++o<10?(e.consume(l),t):(!r.interrupt||o<2)&&(r.containerState.marker?l===r.containerState.marker:41===l||46===l)?(e.exit("listItemValue"),a(l)):n(l)}(t)}return n(t)};function a(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(eB,r.interrupt?n:u,e.attempt(eJ,s,c))}function u(e){return r.containerState.initialBlankLine=!0,i++,s(e)}function c(t){return eR(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),s):n(t)}function s(n){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}}},eJ={partial:!0,tokenize:function(e,t,n){let r=this;return ej(e,function(e){let l=r.events[r.events.length-1];return!eR(e)&&l&&"listItemPrefixWhitespace"===l[1].type?t(e):n(e)},"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},eG={partial:!0,tokenize:function(e,t,n){let r=this;return ej(e,function(e){let l=r.events[r.events.length-1];return l&&"listItemIndent"===l[1].type&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(e):n(e)},"listItemIndent",r.containerState.size+1)}},e1={continuation:{tokenize:function(e,t,n){let r=this;return function(t){return eR(t)?ej(e,l,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):l(t)};function l(r){return e.attempt(e1,t,n)(r)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,t,n){let r=this;return function(t){if(62===t){let n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),l}return n(t)};function l(n){return eR(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}}};function e0(e){return null!==e&&(e<32||127===e)}function e2(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function e4(e,t,n,r,l,i,o,a,u){let c=u||Number.POSITIVE_INFINITY,s=0;return function(t){return 60===t?(e.enter(r),e.enter(l),e.enter(i),e.consume(t),e.exit(i),f):null===t||32===t||41===t||e0(t)?n(t):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),h(t))};function f(n){return 62===n?(e.enter(i),e.consume(n),e.exit(i),e.exit(l),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(a),f(t)):null===t||60===t||null!==t&&t<-2?n(t):(e.consume(t),92===t?d:p)}function d(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function h(l){return!s&&(null===l||41===l||null!==l&&(l<0||32===l))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(l)):s-1&&e.test(String.fromCharCode(t))}}function e5(e,t,n,r,l,i){let o;let a=this,u=0;return function(t){return e.enter(r),e.enter(l),e.consume(t),e.exit(l),e.enter(i),c};function c(f){return u>999||null===f||91===f||93===f&&!o||94===f&&!u&&"_hiddenFootnoteSupport"in a.parser.constructs?n(f):93===f?(e.exit(i),e.enter(l),e.consume(f),e.exit(l),e.exit(r),t):e6(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),s(f))}function s(t){return null===t||91===t||93===t||e6(t)||u++>999?(e.exit("chunkString"),c(t)):(e.consume(t),!o&&(o=!(-2===t||-1===t||32===t)),92===t?f:s)}function f(t){return 91===t||92===t||93===t?(e.consume(t),u++,s):s(t)}}function e8(e){return null!==e&&e<-2}function e9(e){return -2===e||-1===e||32===e}function e7(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function te(e,t,n,r,l,i){let o;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(l),e.consume(t),e.exit(l),o=40===t?41:t,a):n(t)};function a(n){return n===o?(e.enter(l),e.consume(n),e.exit(l),e.exit(r),t):(e.enter(i),u(n))}function u(t){return t===o?(e.exit(i),a(o)):null===t?n(t):e8(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),function(e,t,n,r){let l=Number.POSITIVE_INFINITY,i=0;return function(r){return e9(r)?(e.enter(n),function r(o){return e9(o)&&i++-1&&e.test(String.fromCharCode(t))}}function tr(e,t){let n;return function r(l){return null!==l&&l<-2?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),n=!0,r):tt(l)?(function(e,t,n,r){let l=Number.POSITIVE_INFINITY,i=0;return function(r){return tt(r)?(e.enter(n),function r(o){return tt(o)&&i++=4?function t(n){return null===n?i(n):eN(n)?e.attempt(ta,t,i)(n):(e.enter("codeFlowValue"),function n(r){return null===r||eN(r)?(e.exit("codeFlowValue"),t(r)):(e.consume(r),n)}(n))}(t):n(t)}function i(n){return e.exit("codeIndented"),t(n)}}},ta={partial:!0,tokenize:function(e,t,n){let r=this;return l;function l(t){return r.parser.lazy[r.now().line]?n(t):eN(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l):ej(e,i,"linePrefix",5)(t)}function i(e){let i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):eN(e)?l(e):n(e)}}},tu={name:"setextUnderline",resolveTo:function(e,t){let n,r,l,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(r=i)}else"content"===e[i][1].type&&e.splice(i,1),l||"definition"!==e[i][1].type||(l=i);let o={type:"setextHeading",start:{...e[n][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",l?(e.splice(r,0,["enter",o,t]),e.splice(l+1,0,["exit",e[n][1],t]),e[n][1].end={...e[l][1].end}):e[n][1]=o,e.push(["exit",o,t]),e},tokenize:function(e,t,n){let r;let l=this;return function(t){let o,a=l.events.length;for(;a--;)if("lineEnding"!==l.events[a][1].type&&"linePrefix"!==l.events[a][1].type&&"content"!==l.events[a][1].type){o="paragraph"===l.events[a][1].type;break}return!l.parser.lazy[l.now().line]&&(l.interrupt||o)?(e.enter("setextHeadingLine"),r=t,e.enter("setextHeadingLineSequence"),function t(n){return n===r?(e.consume(n),t):(e.exit("setextHeadingLineSequence"),eR(n)?ej(e,i,"lineSuffix")(n):i(n))}(t)):n(t)};function i(r){return null===r||eN(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}}},tc=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ts=["pre","script","style","textarea"],tf={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(eB,t,n)}}},tp={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return eN(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l):n(t)};function l(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},td={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return null===t?n(t):(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l)};function l(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},th={concrete:!0,name:"codeFenced",tokenize:function(e,t,n){let r;let l=this,i={partial:!0,tokenize:function(e,t,n){let i=0;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(t){return e.enter("codeFencedFence"),eR(t)?ej(e,u,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):u(t)}function u(t){return t===r?(e.enter("codeFencedFenceSequence"),function t(l){return l===r?(i++,e.consume(l),t):i>=a?(e.exit("codeFencedFenceSequence"),eR(l)?ej(e,c,"whitespace")(l):c(l)):n(l)}(t)):n(t)}function c(r){return null===r||eN(r)?(e.exit("codeFencedFence"),t(r)):n(r)}}},o=0,a=0;return function(t){return function(t){let i=l.events[l.events.length-1];return o=i&&"linePrefix"===i[1].type?i[2].sliceSerialize(i[1],!0).length:0,r=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),function t(l){return l===r?(a++,e.consume(l),t):a<3?n(l):(e.exit("codeFencedFenceSequence"),eR(l)?ej(e,u,"whitespace")(l):u(l))}(t)}(t)};function u(i){return null===i||eN(i)?(e.exit("codeFencedFence"),l.interrupt?t(i):e.check(td,s,h)(i)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),function t(l){return null===l||eN(l)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),u(l)):eR(l)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ej(e,c,"whitespace")(l)):96===l&&l===r?n(l):(e.consume(l),t)}(i))}function c(t){return null===t||eN(t)?u(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),function t(l){return null===l||eN(l)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),u(l)):96===l&&l===r?n(l):(e.consume(l),t)}(t))}function s(t){return e.attempt(i,h,f)(t)}function f(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),p}function p(t){return o>0&&eR(t)?ej(e,d,"linePrefix",o+1)(t):d(t)}function d(t){return null===t||eN(t)?e.check(td,s,h)(t):(e.enter("codeFlowValue"),function t(n){return null===n||eN(n)?(e.exit("codeFlowValue"),d(n)):(e.consume(n),t)}(t))}function h(n){return e.exit("codeFenced"),t(n)}}},tm=document.createElement("i");function tg(e){let t="&"+e+";";tm.innerHTML=t;let n=tm.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&n!==t&&n}let ty={name:"characterReference",tokenize:function(e,t,n){let r,l;let i=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),a};function a(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),r=31,l=eA,c(t))}function u(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,l=eL,c):(e.enter("characterReferenceValue"),r=7,l=eM,c(t))}function c(a){if(59===a&&o){let r=e.exit("characterReferenceValue");return l!==eA||tg(i.sliceSerialize(r))?(e.enter("characterReferenceMarker"),e.consume(a),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(a)}return l(a)&&o++-1&&e.test(String.fromCharCode(t))}}function tz(e){return null===e||null!==e&&(e<0||32===e)||tT(e)?1:tI(e)?2:void 0}let tA={name:"attention",resolveAll:function(e,t){let n,r,l,i,o,a,u,c,s=-1;for(;++s1&&e[s][1].end.offset-e[s][1].start.offset>1?2:1;let f={...e[n][1].end},p={...e[s][1].start};tO(f,-a),tO(p,a),i={type:a>1?"strongSequence":"emphasisSequence",start:f,end:{...e[n][1].end}},o={type:a>1?"strongSequence":"emphasisSequence",start:{...e[s][1].start},end:p},l={type:a>1?"strongText":"emphasisText",start:{...e[n][1].end},end:{...e[s][1].start}},r={type:a>1?"strong":"emphasis",start:{...i.start},end:{...o.end}},e[n][1].end={...i.start},e[s][1].start={...o.end},u=[],e[n][1].end.offset-e[n][1].start.offset&&(u=ey(u,[["enter",e[n][1],t],["exit",e[n][1],t]])),u=ey(u,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",l,t]]),u=ey(u,tk(t.parser.constructs.insideSpan.null,e.slice(n+1,s),t)),u=ey(u,[["exit",l,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[s][1].end.offset-e[s][1].start.offset?(c=2,u=ey(u,[["enter",e[s][1],t],["exit",e[s][1],t]])):c=0,eg(e,n-1,s-n+3,u),s=n+u.length-c-2;break}}for(s=-1;++si&&"whitespace"===e[l][1].type&&(l-=2),"atxHeadingSequence"===e[l][1].type&&(i===l-1||l-4>i&&"whitespace"===e[l-2][1].type)&&(l-=i+1===l?2:4),l>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[l][1].end},r={type:"chunkText",start:e[i][1].start,end:e[l][1].end,contentType:"text"},eg(e,i,l-i+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(l){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),function l(i){return 35===i&&r++<6?(e.consume(i),l):null===i||eF(i)?(e.exit("atxHeadingSequence"),function n(r){return 35===r?(e.enter("atxHeadingSequence"),function t(r){return 35===r?(e.consume(r),t):(e.exit("atxHeadingSequence"),n(r))}(r)):null===r||eN(r)?(e.exit("atxHeading"),t(r)):eR(r)?ej(e,n,"whitespace")(r):(e.enter("atxHeadingText"),function t(r){return null===r||35===r||eF(r)?(e.exit("atxHeadingText"),n(r)):(e.consume(r),t)}(r))}(i)):n(i)}(l)}}},42:e$,45:[tu,e$],60:{concrete:!0,name:"htmlFlow",resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){let r,l,i,o,a;let u=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(o){return 33===o?(e.consume(o),s):47===o?(e.consume(o),l=!0,d):63===o?(e.consume(o),r=3,u.interrupt?t:M):ez(o)?(e.consume(o),i=String.fromCharCode(o),h):n(o)}function s(l){return 45===l?(e.consume(l),r=2,f):91===l?(e.consume(l),r=5,o=0,p):ez(l)?(e.consume(l),r=4,u.interrupt?t:M):n(l)}function f(r){return 45===r?(e.consume(r),u.interrupt?t:M):n(r)}function p(r){let l="CDATA[";return r===l.charCodeAt(o++)?(e.consume(r),o===l.length)?u.interrupt?t:C:p:n(r)}function d(t){return ez(t)?(e.consume(t),i=String.fromCharCode(t),h):n(t)}function h(o){if(null===o||47===o||62===o||eF(o)){let a=47===o,c=i.toLowerCase();return!a&&!l&&ts.includes(c)?(r=1,u.interrupt?t(o):C(o)):tc.includes(i.toLowerCase())?(r=6,a)?(e.consume(o),m):u.interrupt?t(o):C(o):(r=7,u.interrupt&&!u.parser.lazy[u.now().line]?n(o):l?function t(n){return eR(n)?(e.consume(n),t):w(n)}(o):g(o))}return 45===o||eA(o)?(e.consume(o),i+=String.fromCharCode(o),h):n(o)}function m(r){return 62===r?(e.consume(r),u.interrupt?t:C):n(r)}function g(t){return 47===t?(e.consume(t),w):58===t||95===t||ez(t)?(e.consume(t),y):eR(t)?(e.consume(t),g):w(t)}function y(t){return 45===t||46===t||58===t||95===t||eA(t)?(e.consume(t),y):v(t)}function v(t){return 61===t?(e.consume(t),x):eR(t)?(e.consume(t),v):g(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),a=t,k):eR(t)?(e.consume(t),x):function t(n){return null===n||34===n||39===n||47===n||60===n||61===n||62===n||96===n||eF(n)?v(n):(e.consume(n),t)}(t)}function k(t){return t===a?(e.consume(t),a=null,b):null===t||eN(t)?n(t):(e.consume(t),k)}function b(e){return 47===e||62===e||eR(e)?g(e):n(e)}function w(t){return 62===t?(e.consume(t),S):n(t)}function S(t){return null===t||eN(t)?C(t):eR(t)?(e.consume(t),S):n(t)}function C(t){return 45===t&&2===r?(e.consume(t),P):60===t&&1===r?(e.consume(t),z):62===t&&4===r?(e.consume(t),L):63===t&&3===r?(e.consume(t),M):93===t&&5===r?(e.consume(t),O):eN(t)&&(6===r||7===r)?(e.exit("htmlFlowData"),e.check(tf,D,E)(t)):null===t||eN(t)?(e.exit("htmlFlowData"),E(t)):(e.consume(t),C)}function E(t){return e.check(tp,I,D)(t)}function I(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),T}function T(t){return null===t||eN(t)?E(t):(e.enter("htmlFlowData"),C(t))}function P(t){return 45===t?(e.consume(t),M):C(t)}function z(t){return 47===t?(e.consume(t),i="",A):C(t)}function A(t){if(62===t){let n=i.toLowerCase();return ts.includes(n)?(e.consume(t),L):C(t)}return ez(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),A):C(t)}function O(t){return 93===t?(e.consume(t),M):C(t)}function M(t){return 62===t?(e.consume(t),L):45===t&&2===r?(e.consume(t),M):C(t)}function L(t){return null===t||eN(t)?(e.exit("htmlFlowData"),D(t)):(e.consume(t),L)}function D(n){return e.exit("htmlFlow"),t(n)}}},61:tu,95:e$,96:th,126:th},tR={38:ty,92:tv},t_={[-5]:tx,[-4]:tx,[-3]:tx,33:tE,38:ty,42:tA,60:[{name:"autolink",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l};function l(t){return ez(t)?(e.consume(t),i):64===t?n(t):a(t)}function i(t){return 43===t||45===t||46===t||eA(t)?(r=1,function t(n){return 58===n?(e.consume(n),r=0,o):(43===n||45===n||46===n||eA(n))&&r++<32?(e.consume(n),t):(r=0,a(n))}(t)):a(t)}function o(r){return 62===r?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),t):null===r||32===r||60===r||null!==r&&(r<32||127===r)?n(r):(e.consume(r),o)}function a(t){return 64===t?(e.consume(t),u):eO(t)?(e.consume(t),a):n(t)}function u(l){return eA(l)?function l(i){return 46===i?(e.consume(i),r=0,u):62===i?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(i),e.exit("autolinkMarker"),e.exit("autolink"),t):function t(i){if((45===i||eA(i))&&r++<63){let n=45===i?t:l;return e.consume(i),n}return n(i)}(i)}(l):n(l)}}},{name:"htmlText",tokenize:function(e,t,n){let r,l,i;let o=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),a};function a(t){return 33===t?(e.consume(t),u):47===t?(e.consume(t),k):63===t?(e.consume(t),v):ez(t)?(e.consume(t),w):n(t)}function u(t){return 45===t?(e.consume(t),c):91===t?(e.consume(t),l=0,d):ez(t)?(e.consume(t),y):n(t)}function c(t){return 45===t?(e.consume(t),p):n(t)}function s(t){return null===t?n(t):45===t?(e.consume(t),f):eN(t)?(i=s,A(t)):(e.consume(t),s)}function f(t){return 45===t?(e.consume(t),p):s(t)}function p(e){return 62===e?z(e):45===e?f(e):s(e)}function d(t){let r="CDATA[";return t===r.charCodeAt(l++)?(e.consume(t),l===r.length?h:d):n(t)}function h(t){return null===t?n(t):93===t?(e.consume(t),m):eN(t)?(i=h,A(t)):(e.consume(t),h)}function m(t){return 93===t?(e.consume(t),g):h(t)}function g(t){return 62===t?z(t):93===t?(e.consume(t),g):h(t)}function y(t){return null===t||62===t?z(t):eN(t)?(i=y,A(t)):(e.consume(t),y)}function v(t){return null===t?n(t):63===t?(e.consume(t),x):eN(t)?(i=v,A(t)):(e.consume(t),v)}function x(e){return 62===e?z(e):v(e)}function k(t){return ez(t)?(e.consume(t),b):n(t)}function b(t){return 45===t||eA(t)?(e.consume(t),b):function t(n){return eN(n)?(i=t,A(n)):eR(n)?(e.consume(n),t):z(n)}(t)}function w(t){return 45===t||eA(t)?(e.consume(t),w):47===t||62===t||eF(t)?S(t):n(t)}function S(t){return 47===t?(e.consume(t),z):58===t||95===t||ez(t)?(e.consume(t),C):eN(t)?(i=S,A(t)):eR(t)?(e.consume(t),S):z(t)}function C(t){return 45===t||46===t||58===t||95===t||eA(t)?(e.consume(t),C):function t(n){return 61===n?(e.consume(n),E):eN(n)?(i=t,A(n)):eR(n)?(e.consume(n),t):S(n)}(t)}function E(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,I):eN(t)?(i=E,A(t)):eR(t)?(e.consume(t),E):(e.consume(t),T)}function I(t){return t===r?(e.consume(t),r=void 0,P):null===t?n(t):eN(t)?(i=I,A(t)):(e.consume(t),I)}function T(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||eF(t)?S(t):(e.consume(t),T)}function P(e){return 47===e||62===e||eF(e)?S(e):n(e)}function z(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}function A(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O}function O(t){return eR(t)?ej(e,M,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):M(t)}function M(t){return e.enter("htmlTextData"),i(t)}}}],91:tM,92:[{name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.consume(t),r};function r(r){return eN(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}},tv],93:tb,95:tA,96:{name:"codeText",previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,l=3;if(("lineEnding"===e[3][1].type||"space"===e[l][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type)){for(t=l;++t13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(65535&n)==65535||(65535&n)==65534||n>1114111?"�":String.fromCodePoint(n)}let tU=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function tq(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){let e=n.charCodeAt(1),t=120===e||88===e;return tZ(n.slice(t?2:1),t?16:10)}return tg(n)||e}let tW={}.hasOwnProperty;function tY(e){return{line:e.line,column:e.column,offset:e.offset}}function tK(e,t){if(e)throw Error("Cannot close `"+e.type+"` ("+Y({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Y({start:t.start,end:t.end})+") is open");throw Error("Cannot close document, a token (`"+t.type+"`, "+Y({start:t.start,end:t.end})+") is still open")}function tQ(e){let t=this;t.parser=function(n){var r,i;let o,a,u,c;return"string"!=typeof(r={...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})&&(i=r,r=void 0),(function(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:r(y),autolinkProtocol:c,autolinkEmail:c,atxHeading:r(h),blockQuote:r(function(){return{type:"blockquote",children:[]}}),characterEscape:c,characterReference:c,codeFenced:r(d),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:r(d,l),codeText:r(function(){return{type:"inlineCode",value:""}},l),codeTextData:c,data:c,codeFlowValue:c,definition:r(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:r(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:r(m),hardBreakTrailing:r(m),htmlFlow:r(g,l),htmlFlowData:c,htmlText:r(g,l),htmlTextData:c,image:r(function(){return{type:"image",title:null,url:"",alt:null}}),label:l,link:r(y),listItem:r(function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}),listItemValue:function(e){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:r(v,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:r(v),paragraph:r(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:r(h),strong:r(function(){return{type:"strong",children:[]}}),thematicBreak:r(function(){return{type:"thematicBreak"}})},exit:{atxHeading:o(),atxHeadingSequence:function(e){let t=this.stack[this.stack.length-1];if(!t.depth){let n=this.sliceSerialize(e).length;t.depth=n}},autolink:o(),autolinkEmail:function(e){s.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){s.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:o(),characterEscapeValue:s,characterReferenceMarkerHexadecimal:p,characterReferenceMarkerNumeric:p,characterReferenceValue:function(e){let t;let n=this.sliceSerialize(e),r=this.data.characterReferenceType;r?(t=tZ(n,"characterReferenceMarkerNumeric"===r?10:16),this.data.characterReferenceType=void 0):t=tg(n);let l=this.stack[this.stack.length-1];l.value+=t},characterReference:function(e){this.stack.pop().position.end=tY(e.end)},codeFenced:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){let e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:s,codeIndented:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}),codeText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),codeTextData:s,data:s,definition:o(),definitionDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=tl(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:o(),hardBreakEscape:o(f),hardBreakTrailing:o(f),htmlFlow:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlFlowData:s,htmlText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlTextData:s,image:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),label:function(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,"link"===n.type){let t=e.children;n.children=t}else n.alt=t},labelText:function(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=t.replace(tU,tq),n.identifier=tl(t).toLowerCase()},lineEnding:function(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){n.children[n.children.length-1].position.end=tY(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(c.call(this,e),s.call(this,e))},link:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),listItem:o(),listOrdered:o(),listUnordered:o(),paragraph:o(),referenceString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=tl(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){this.data.inReference=void 0},setextHeading:o(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:o(),thematicBreak:o()}};(function e(t,n){let r=-1;for(;++r0){let e=o.tokenStack[o.tokenStack.length-1];(e[1]||tK).call(o,void 0,e[0])}for(r.position={start:tY(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:tY(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},s=-1;++s-1){let e=n[0];"string"==typeof e?n[0]=e.slice(l):n.shift()}o>0&&n.push(e[i].slice(0,o))}return n}(o,e)}function p(){let{_bufferIndex:e,_index:t,line:n,column:l,offset:i}=r;return{_bufferIndex:e,_index:t,line:n,column:l,offset:i}}function d(e,t){t.restore()}function h(e,t){return function(n,l,i){let o,s,f,d;return Array.isArray(n)?h(n):"tokenize"in n?h([n]):function(e){let t=null!==e&&n[e],r=null!==e&&n.null;return h([...Array.isArray(t)?t:t?[t]:[],...Array.isArray(r)?r:r?[r]:[]])(e)};function h(e){return(o=e,s=0,0===e.length)?i:m(e[s])}function m(e){return function(n){return(d=function(){let e=p(),t=c.previous,n=c.currentConstruct,l=c.events.length,i=Array.from(a);return{from:l,restore:function(){r=e,c.previous=t,c.currentConstruct=n,c.events.length=l,a=i,g()}}}(),f=e,e.partial||(c.currentConstruct=e),e.name&&c.parser.constructs.disable.null.includes(e.name))?v(n):e.tokenize.call(t?Object.assign(Object.create(c),t):c,u,y,v)(n)}}function y(t){return e(f,d),l}function v(e){return(d.restore(),++s{let n=(t,n)=>(e.set(n,t),t),r=l=>{if(e.has(l))return e.get(l);let[i,o]=t[l];switch(i){case 0:case -1:return n(o,l);case 1:{let e=n([],l);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},l);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),l);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),l)}case 5:{let e=n(new Map,l);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,l);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(new t$[e](t),l)}case 8:return n(BigInt(o),l);case"BigInt":return n(Object(BigInt(o)),l);case"ArrayBuffer":return n(new Uint8Array(o).buffer,o);case"DataView":{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new t$[i](o),l)};return r},tJ=e=>tX(new Map,e)(0),{toString:tG}={},{keys:t1}=Object,t0=e=>{let t=typeof e;if("object"!==t||!e)return[0,t];let n=tG.call(e).slice(8,-1);switch(n){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,n]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},t2=([e,t])=>0===e&&("function"===t||"symbol"===t),t4=(e,t,n,r)=>{let l=(e,t)=>{let l=r.push(e)-1;return n.set(t,l),l},i=r=>{if(n.has(r))return n.get(r);let[o,a]=t0(r);switch(o){case 0:{let t=r;switch(a){case"bigint":o=8,t=r.toString();break;case"function":case"symbol":if(e)throw TypeError("unable to serialize "+a);t=null;break;case"undefined":return l([-1],r)}return l([o,t],r)}case 1:{if(a){let e=r;return"DataView"===a?e=new Uint8Array(r.buffer):"ArrayBuffer"===a&&(e=new Uint8Array(r)),l([a,[...e]],r)}let e=[],t=l([o,e],r);for(let t of r)e.push(i(t));return t}case 2:{if(a)switch(a){case"BigInt":return l([a,r.toString()],r);case"Boolean":case"Number":case"String":return l([a,r.valueOf()],r)}if(t&&"toJSON"in r)return i(r.toJSON());let n=[],u=l([o,n],r);for(let t of t1(r))(e||!t2(t0(r[t])))&&n.push([i(t),i(r[t])]);return u}case 3:return l([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return l([o,{source:e,flags:t}],r)}case 5:{let t=[],n=l([o,t],r);for(let[n,l]of r)(e||!(t2(t0(n))||t2(t0(l))))&&t.push([i(n),i(l)]);return n}case 6:{let t=[],n=l([o,t],r);for(let n of r)(e||!t2(t0(n)))&&t.push(i(n));return n}}let{message:u}=r;return l([o,{name:a,message:u}],r)};return i},t6=(e,{json:t,lossy:n}={})=>{let r=[];return t4(!(t||n),!!t,new Map,r)(e),r};var t3="function"==typeof structuredClone?(e,t)=>t&&("json"in t||"lossy"in t)?tJ(t6(e,t)):structuredClone(e):(e,t)=>tJ(t6(e,t));t8(/[A-Za-z]/);let t5=t8(/[\dA-Za-z]/);function t8(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function t9(e){let t=[],n=-1,r=0,l=0;for(;++n55295&&i<57344){let t=e.charCodeAt(n+1);i<56320&&t>56319&&t<57344?(o=String.fromCharCode(i,t),l=1):o="�"}else o=String.fromCharCode(i);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+l+1,o=""),l&&(n+=l,l=0)}return t.join("")+e.slice(r)}function t7(e,t){let n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function ne(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}t8(/[#-'*+\--9=?A-Z^-~]/),t8(/\d/),t8(/[\dA-Fa-f]/),t8(/[!-/:-@[-`{-~]/),t8(/\p{P}|\p{S}/u),t8(/\s/);let nt=function(e){if(null==e)return nr;if("function"==typeof e)return nn(e);if("object"==typeof e)return Array.isArray(e)?function(e){let t=[],n=-1;for(;++n":"")+")"})}return s;function s(){var c;let s,f,p,d=nl;if((!t||i(l,a,u[u.length-1]||void 0))&&!1===(d=Array.isArray(c=n(l,u))?c:"number"==typeof c?[!0,c]:null==c?nl:[c])[0])return d;if("children"in l&&l.children&&l.children&&"skip"!==d[0])for(f=(r?l.children.length:-1)+o,p=u.concat(l);f>-1&&f1:t}function nu(e,t,n){let r=0,l=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(l-1);for(;9===t||32===t;)l--,t=e.codePointAt(l-1)}return l>r?e.slice(r,l):""}let nc={blockquote:function(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){let n=t.value?t.value+"\n":"",r={};t.lang&&(r.className=["language-"+t.lang]);let l={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(l.data={meta:t.meta}),e.patch(t,l),l={type:"element",tagName:"pre",properties:{},children:[l=e.applyData(t,l)]},e.patch(t,l),l},delete:function(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){let n;let r="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",l=String(t.identifier).toUpperCase(),i=t9(l.toLowerCase()),o=e.footnoteOrder.indexOf(l),a=e.footnoteCounts.get(l);void 0===a?(a=0,e.footnoteOrder.push(l),n=e.footnoteOrder.length):n=o+1,a+=1,e.footnoteCounts.set(l,a);let u={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+i,id:r+"fnref-"+i+(a>1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(n)}]};e.patch(t,u);let c={type:"element",tagName:"sup",properties:{},children:[u]};return e.patch(t,c),e.applyData(t,c)},heading:function(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return no(e,t);let l={src:t9(r.url||""),alt:t.alt};null!==r.title&&void 0!==r.title&&(l.title=r.title);let i={type:"element",tagName:"img",properties:l,children:[]};return e.patch(t,i),e.applyData(t,i)},image:function(e,t){let n={src:t9(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){let n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return no(e,t);let l={href:t9(r.url||"")};null!==r.title&&void 0!==r.title&&(l.title=r.title);let i={type:"element",tagName:"a",properties:l,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)},link:function(e,t){let n={href:t9(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){let r=e.all(t),l=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r0&&e.children.unshift({type:"text",value:" "}),e.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let a=-1;for(;++a0){let r={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},i=q(t.children[1]),o=U(t.children[t.children.length-1]);i&&o&&(r.position={start:i,end:o}),l.push(r)}let i={type:"element",tagName:"table",properties:{},children:e.wrap(l,!0)};return e.patch(t,i),e.applyData(t,i)},tableCell:function(e,t){let n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){let r=n?n.children:void 0,l=0===(r?r.indexOf(t):1)?"th":"td",i=n&&"table"===n.type?n.align:void 0,o=i?i.length:t.children.length,a=-1,u=[];for(;++a0,!0),r[0]),l=r.index+r[0].length,r=n.exec(t);return i.push(nu(t.slice(l),l>0,!1)),i.join("")}(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:ns,yaml:ns,definition:ns,footnoteDefinition:ns};function ns(){}let nf={}.hasOwnProperty,np={};function nd(e,t){e.position&&(t.position=function(e){let t=q(e),n=U(e);if(t&&n)return{start:t,end:n}}(e))}function nh(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,l=e.data.hProperties;"string"==typeof t&&("element"===n.type?n.tagName=t:n={type:"element",tagName:t,properties:{},children:"children"in n?n.children:[n]}),"element"===n.type&&l&&Object.assign(n.properties,t3(l)),"children"in n&&n.children&&null!=r&&(n.children=r)}return n}function nm(e,t){let n=[],r=-1;for(t&&n.push({type:"text",value:"\n"});++r0&&n.push({type:"text",value:"\n"}),n}function ng(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function ny(e,t){let n=function(e,t){let n=t||np,r=new Map,l=new Map,i={all:function(e){let t=[];if("children"in e){let n=e.children,r=-1;for(;++r0&&f.push({type:"text",value:" "});let e="string"==typeof n?n:n(u,s);"string"==typeof e&&(e={type:"text",value:e}),f.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+c+(s>1?"-"+s:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof r?r:r(u,s),className:["data-footnote-backref"]},children:Array.isArray(e)?e:[e]})}let d=i[i.length-1];if(d&&"element"===d.type&&"p"===d.tagName){let e=d.children[d.children.length-1];e&&"text"===e.type?e.value+=" ":d.children.push({type:"text",value:" "}),d.children.push(...f)}else i.push(...f);let h={type:"element",tagName:"li",properties:{id:t+"fn-"+c},children:e.wrap(i,!0)};e.patch(l,h),a.push(h)}if(0!==a.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...t3(o),id:"footnote-label"},children:[{type:"text",value:l}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(a,!0)},{type:"text",value:"\n"}]}}(n),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return l&&i.children.push({type:"text",value:"\n"},l),i}function nv(e,t){return e&&"run"in e?async function(n,r){let l=ny(n,{file:r,...t});await e.run(l,r)}:function(n,r){return ny(n,{file:r,...e||t})}}function nx(e){if(e)throw e}var nk=n(6500);function nb(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}let nw={basename:function(e,t){let n;if(void 0!==t&&"string"!=typeof t)throw TypeError('"ext" argument must be a string');nS(e);let r=0,l=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.codePointAt(i)){if(n){r=i+1;break}}else l<0&&(n=!0,l=i+1);return l<0?"":e.slice(r,l)}if(t===e)return"";let o=-1,a=t.length-1;for(;i--;)if(47===e.codePointAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1),a>-1&&(e.codePointAt(i)===t.codePointAt(a--)?a<0&&(l=i):(a=-1,l=o));return r===l?l=o:l<0&&(l=e.length),e.slice(r,l)},dirname:function(e){let t;if(nS(e),0===e.length)return".";let n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?"/":".":1===n&&47===e.codePointAt(0)?"//":e.slice(0,n)},extname:function(e){let t;nS(e);let n=e.length,r=-1,l=0,i=-1,o=0;for(;n--;){let a=e.codePointAt(n);if(47===a){if(t){l=n+1;break}continue}r<0&&(t=!0,r=n+1),46===a?i<0?i=n:1!==o&&(o=1):i>-1&&(o=-1)}return i<0||r<0||0===o||1===o&&i===r-1&&i===l+1?"":e.slice(i,r)},join:function(...e){let t,n=-1;for(;++n2){if((r=l.lastIndexOf("/"))!==l.length-1){r<0?(l="",i=0):i=(l=l.slice(0,r)).length-1-l.lastIndexOf("/"),o=u,a=0;continue}}else if(l.length>0){l="",i=0,o=u,a=0;continue}}t&&(l=l.length>0?l+"/..":"..",i=2)}else l.length>0?l+="/"+e.slice(o+1,u):l=e.slice(o+1,u),i=u-o-1;o=u,a=0}else 46===n&&a>-1?a++:a=-1}return l}(e,!t);return 0!==n.length||t||(n="."),n.length>0&&47===e.codePointAt(e.length-1)&&(n+="/"),t?"/"+n:n}(t)},sep:"/"};function nS(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}let nC={cwd:function(){return"/"}};function nE(e){return!!(null!==e&&"object"==typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth)}let nI=["history","path","basename","stem","extname","dirname"];class nT{constructor(e){let t,n;t=e?nE(e)?{path:e}:"string"==typeof e||e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e?{value:e}:e:{},this.cwd="cwd"in t?"":nC.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++rt.length;o&&t.push(r);try{i=e.apply(this,t)}catch(e){if(o&&n)throw e;return r(e)}o||(i&&i.then&&"function"==typeof i.then?i.then(l,r):i instanceof Error?r(i):l(i))};function r(e,...l){n||(n=!0,t(e,...l))}function l(e){r(null,e)}})(a,l)(...o):r(null,...o)})(null,...t)},use:function(n){if("function"!=typeof n)throw TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}()}copy(){let e=new nL,t=-1;for(;++t0){let[r,...i]=t,o=n[l][1];nb(o)&&nb(r)&&(r=nk(!0,o,r)),n[l]=[e,r,...i]}}}}let nD=new nL().freeze();function nN(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `parser`")}function nF(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `compiler`")}function nR(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function n_(e){if(!nb(e)||"string"!=typeof e.type)throw TypeError("Expected node, got `"+e+"`")}function nj(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function nB(e){return e&&"object"==typeof e&&"message"in e&&"messages"in e?e:new nT(e)}let nH=[],nV={allowDangerousHtml:!0},nZ=/^(https?|ircs?|mailto|xmpp)$/i,nU=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function nq(e){let t=function(e){let t=e.rehypePlugins||nH,n=e.remarkPlugins||nH,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...nV}:nV;return nD().use(tQ).use(n).use(nv,r).use(t)}(e),n=function(e){let t=e.children||"",n=new nT;return"string"==typeof t&&(n.value=t),n}(e);return function(e,t){let n=t.allowedElements,r=t.allowElement,l=t.components,i=t.disallowedElements,o=t.skipHtml,a=t.unwrapDisallowed,u=t.urlTransform||nW;for(let e of nU)Object.hasOwn(t,e.from)&&(e.from,e.to&&e.to,e.id);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:"root"===e.type?e.children:[e]}),ni(e,function(e,t,l){if("raw"===e.type&&l&&"number"==typeof t)return o?l.children.splice(t,1):l.children[t]={type:"text",value:e.value},t;if("element"===e.type){let t;for(t in ef)if(Object.hasOwn(ef,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=ef[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=u(String(n||""),t,e))}}if("element"===e.type){let o=n?!n.includes(e.tagName):!!i&&i.includes(e.tagName);if(!o&&r&&"number"==typeof t&&(o=!r(e,t,l)),o&&l&&"number"==typeof t)return a&&e.children?l.children.splice(t,1,...e.children):l.children.splice(t,1),t}}),function(e,t){var n,r,l;let i;if(!t||void 0===t.Fragment)throw TypeError("Expected `Fragment` in options");let o=t.filePath||void 0;if(t.development){if("function"!=typeof t.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");n=t.jsxDEV,i=function(e,t,r,l){let i=Array.isArray(r.children),a=q(e);return n(t,r,l,i,{columnNumber:a?a.column-1:void 0,fileName:o,lineNumber:a?a.line:void 0},void 0)}}else{if("function"!=typeof t.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw TypeError("Expected `jsxs` in production options");r=t.jsx,l=t.jsxs,i=function(e,t,n,i){let o=Array.isArray(n.children)?l:r;return i?o(t,n,i):o(t,n)}}let a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?F:N,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},u=el(a,e,void 0);return u&&"string"!=typeof u?u:a.create(e,a.Fragment,{children:u||void 0},void 0)}(e,{Fragment:ep.Fragment,components:l,ignoreInvalidStyle:!0,jsx:ep.jsx,jsxs:ep.jsxs,passKeys:!0,passNode:!0})}(t.runSync(t.parse(n),n),e)}function nW(e){let t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),l=e.indexOf("/");return -1===t||-1!==l&&t>l||-1!==n&&t>n||-1!==r&&t>r||nZ.test(e.slice(0,t))?e:""}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/819-7a61baa559c82144.js b/litellm/proxy/_experimental/out/_next/static/chunks/819-7a61baa559c82144.js new file mode 100644 index 0000000000..792eb6c80c --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/819-7a61baa559c82144.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[819,4546],{88009:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},37527:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z"}}]},name:"bank",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},9775:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z"}}]},name:"bar-chart",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},11429:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z"}}]},name:"bg-colors",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},68208:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z"}}]},name:"block",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},49634:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},99458:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z"}}]},name:"credit-card",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},41169:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z"}}]},name:"experiment",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},10798:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z"}}]},name:"filter",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},64739:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},48231:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z"}}]},name:"line-chart",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},28595:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M719.4 499.1l-296.1-215A15.9 15.9 0 00398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 000-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z"}}]},name:"play-circle",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},34419:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},23907:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2a15.99 15.99 0 00-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-.9 3.7-.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 .7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-.8 4.2-2.6 5-5 1.4-4.2-.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z"}}]},name:"send",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},40312:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z"}}]},name:"shopping-cart",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},41361:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z"}}]},name:"team",theme:"outlined"},l=r(55015),c=o.forwardRef(function(e,t){return o.createElement(l.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},47323:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=r(5853),o=r(2265),a=r(47187),l=r(7084),c=r(13241),i=r(1153),s=r(26898);let d={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},u={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},m={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},h=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,i.bM)(t,s.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,i.bM)(t,s.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,i.bM)(t,s.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,c.q)((0,i.bM)(t,s.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},p=(0,i.fn)("Icon"),f=o.forwardRef((e,t)=>{let{icon:r,variant:s="simple",tooltip:f,size:b=l.u8.SM,color:g,className:v}=e,k=(0,n._T)(e,["icon","variant","tooltip","size","color","className"]),y=h(s,g),{tooltipProps:x,getReferenceProps:w}=(0,a.l)();return o.createElement("span",Object.assign({ref:(0,i.lq)([t,x.refs.setReference]),className:(0,c.q)(p("root"),"inline-flex shrink-0 items-center justify-center",y.bgColor,y.textColor,y.borderColor,y.ringColor,m[s].rounded,m[s].border,m[s].shadow,m[s].ring,d[b].paddingX,d[b].paddingY,v)},w,k),o.createElement(a.Z,Object.assign({text:f},x)),o.createElement(r,{className:(0,c.q)(p("icon"),"shrink-0",u[b].height,u[b].width)}))});f.displayName="Icon"},92414:function(e,t,r){"use strict";r.d(t,{Z:function(){return g}});var n=r(5853),o=r(2265);r(42698),r(64016),r(8710);var a=r(33232),l=r(44140),c=r(58747);let i=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),o.createElement("path",{d:"M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z"}))};var s=r(4537);let d=e=>{var t=(0,n._T)(e,[]);return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t),o.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))};var u=r(13241),m=r(1153),h=r(96398),p=r(51975),f=r(85238);let b=(0,m.fn)("MultiSelect"),g=o.forwardRef((e,t)=>{let{defaultValue:r=[],value:m,onValueChange:g,placeholder:v="Select...",placeholderSearch:k="Search",disabled:y=!1,icon:x,children:w,className:C,required:E,name:O,error:M=!1,errorMessage:j,id:N}=e,S=(0,n._T)(e,["defaultValue","value","onValueChange","placeholder","placeholderSearch","disabled","icon","children","className","required","name","error","errorMessage","id"]),Z=(0,o.useRef)(null),[z,H]=(0,l.Z)(r,m),{reactElementChildren:L,optionsAvailable:V}=(0,o.useMemo)(()=>{let e=o.Children.toArray(w).filter(o.isValidElement);return{reactElementChildren:e,optionsAvailable:(0,h.n0)("",e)}},[w]),[R,q]=(0,o.useState)(""),I=(null!=z?z:[]).length>0,B=(0,o.useMemo)(()=>R?(0,h.n0)(R,L):V,[R,L,V]),T=()=>{q("")};return o.createElement("div",{className:(0,u.q)("w-full min-w-[10rem] text-tremor-default",C)},o.createElement("div",{className:"relative"},o.createElement("select",{title:"multi-select-hidden",required:E,className:(0,u.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:z,onChange:e=>{e.preventDefault()},name:O,disabled:y,multiple:!0,id:N,onFocus:()=>{let e=Z.current;e&&e.focus()}},o.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},v),B.map(e=>{let t=e.props.value,r=e.props.children;return o.createElement("option",{className:"hidden",key:t,value:t},r)})),o.createElement(p.Ri,Object.assign({as:"div",ref:t,defaultValue:z,value:z,onChange:e=>{null==g||g(e),H(e)},disabled:y,id:N,multiple:!0},S),e=>{let{value:t}=e;return o.createElement(o.Fragment,null,o.createElement(p.Y4,{className:(0,u.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-1.5","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",x?"pl-11 -ml-0.5":"pl-3",(0,h.um)(t.length>0,y,M)),ref:Z},x&&o.createElement("span",{className:(0,u.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},o.createElement(x,{className:(0,u.q)(b("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),o.createElement("div",{className:"h-6 flex items-center"},t.length>0?o.createElement("div",{className:"flex flex-nowrap overflow-x-scroll [&::-webkit-scrollbar]:hidden [scrollbar-width:none] gap-x-1 mr-5 -ml-1.5 relative"},V.filter(e=>t.includes(e.props.value)).map((e,r)=>{var n;return o.createElement("div",{key:r,className:(0,u.q)("max-w-[100px] lg:max-w-[200px] flex justify-center items-center pl-2 pr-1.5 py-1 font-medium","rounded-tremor-small","bg-tremor-background-muted dark:bg-dark-tremor-background-muted","bg-tremor-background-subtle dark:bg-dark-tremor-background-subtle","text-tremor-content-default dark:text-dark-tremor-content-default","text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis")},o.createElement("div",{className:"text-xs truncate "},null!==(n=e.props.children)&&void 0!==n?n:e.props.value),o.createElement("div",{onClick:r=>{r.preventDefault();let n=t.filter(t=>t!==e.props.value);null==g||g(n),H(n)}},o.createElement(d,{className:(0,u.q)(b("clearIconItem"),"cursor-pointer rounded-tremor-full w-3.5 h-3.5 ml-2","text-tremor-content-subtle hover:text-tremor-content","dark:text-dark-tremor-content-subtle dark:hover:text-tremor-content")})))})):o.createElement("span",null,v)),o.createElement("span",{className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-2.5")},o.createElement(c.Z,{className:(0,u.q)(b("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),I&&!y?o.createElement("button",{type:"button",className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),H([]),null==g||g([])}},o.createElement(s.Z,{className:(0,u.q)(b("clearIconAllItems"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,o.createElement(f.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},o.createElement(p.O_,{anchor:"bottom start",className:(0,u.q)("z-10 divide-y w-[var(--button-width)] overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},o.createElement("div",{className:(0,u.q)("flex items-center w-full px-2.5","bg-tremor-background-muted","dark:bg-dark-tremor-background-muted")},o.createElement("span",null,o.createElement(i,{className:(0,u.q)("flex-none w-4 h-4 mr-2","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),o.createElement("input",{name:"search",type:"input",autoComplete:"off",placeholder:k,className:(0,u.q)("w-full focus:outline-none focus:ring-none bg-transparent text-tremor-default py-2","text-tremor-content-emphasis","dark:text-dark-tremor-content-subtle"),onKeyDown:e=>{"Space"===e.code&&""!==e.target.value&&e.stopPropagation()},onChange:e=>q(e.target.value),value:R})),o.createElement(a.Z.Provider,Object.assign({},{onBlur:{handleResetSearch:T}},{value:{selectedValue:t}}),B))))})),M&&j?o.createElement("p",{className:(0,u.q)("errorMessage","text-sm text-rose-500 mt-1")},j):null)});g.displayName="MultiSelect"},46030:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(5853);r(42698),r(64016),r(8710);var o=r(33232),a=r(2265),l=r(13241),c=r(1153),i=r(51975);let s=(0,c.fn)("MultiSelectItem"),d=a.forwardRef((e,t)=>{let{value:r,className:d,children:u}=e,m=(0,n._T)(e,["value","className","children"]),{selectedValue:h}=(0,a.useContext)(o.Z),p=(0,c.NZ)(r,h);return a.createElement(i.wt,Object.assign({className:(0,l.q)(s("root"),"flex justify-start items-center cursor-default text-tremor-default p-2.5","data-[focus]:bg-tremor-background-muted data-[focus]:text-tremor-content-strong data-[select]ed:text-tremor-content-strong text-tremor-content-emphasis","dark:data-[focus]:bg-dark-tremor-background-muted dark:data-[focus]:text-dark-tremor-content-strong dark:data-[select]ed:text-dark-tremor-content-strong dark:data-[select]ed:bg-dark-tremor-background-muted dark:text-dark-tremor-content-emphasis",d),ref:t,key:r,value:r},m),a.createElement("input",{type:"checkbox",className:(0,l.q)(s("checkbox"),"flex-none focus:ring-none focus:outline-none cursor-pointer mr-2.5","accent-tremor-brand","dark:accent-dark-tremor-brand"),checked:p,readOnly:!0}),a.createElement("span",{className:"whitespace-nowrap truncate"},null!=u?u:r))});d.displayName="MultiSelectItem"},49804:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(5853),o=r(13241),a=r(1153),l=r(2265),c=r(9496);let i=(0,a.fn)("Col"),s=l.forwardRef((e,t)=>{let{numColSpan:r=1,numColSpanSm:a,numColSpanMd:s,numColSpanLg:d,children:u,className:m}=e,h=(0,n._T)(e,["numColSpan","numColSpanSm","numColSpanMd","numColSpanLg","children","className"]),p=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"";return l.createElement("div",Object.assign({ref:t,className:(0,o.q)(i("root"),(()=>{let e=p(r,c.PT),t=p(a,c.SP),n=p(s,c.VS),l=p(d,c._w);return(0,o.q)(e,t,n,l)})(),m)},h),u)});s.displayName="Col"},94789:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(5853),o=r(2265),a=r(26898),l=r(13241),c=r(1153);let i=(0,c.fn)("Callout"),s=o.forwardRef((e,t)=>{let{title:r,icon:s,color:d,className:u,children:m}=e,h=(0,n._T)(e,["title","icon","color","className","children"]);return o.createElement("div",Object.assign({ref:t,className:(0,l.q)(i("root"),"flex flex-col overflow-hidden rounded-tremor-default text-tremor-default border-l-4 py-3 pr-3 pl-4",d?(0,l.q)((0,c.bM)(d,a.K.background).bgColor,(0,c.bM)(d,a.K.darkBorder).borderColor,(0,c.bM)(d,a.K.darkText).textColor,"dark:bg-opacity-10 bg-opacity-10"):(0,l.q)("bg-tremor-brand-faint border-tremor-brand-emphasis text-tremor-brand-emphasis","dark:bg-dark-tremor-brand-muted/70 dark:border-dark-tremor-brand-emphasis dark:text-dark-tremor-brand-emphasis"),u)},h),o.createElement("div",{className:(0,l.q)(i("header"),"flex items-start")},s?o.createElement(s,{className:(0,l.q)(i("icon"),"flex-none h-5 w-5 mr-1.5")}):null,o.createElement("h4",{className:(0,l.q)(i("title"),"font-semibold")},r)),o.createElement("p",{className:(0,l.q)(i("body"),"overflow-y-auto",m?"mt-2":"")},m))});s.displayName="Callout"},35829:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(5853),o=r(26898),a=r(13241),l=r(1153),c=r(2265);let i=c.forwardRef((e,t)=>{let{color:r,children:i,className:s}=e,d=(0,n._T)(e,["color","children","className"]);return c.createElement("p",Object.assign({ref:t,className:(0,a.q)("font-semibold text-tremor-metric",r?(0,l.bM)(r,o.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",s)},d),i)});i.displayName="Metric"},96889:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(5853),o=r(2265),a=r(26898),l=r(13241),c=r(1153);let i=(0,c.fn)("BarList");function s(e,t){let{data:r=[],color:s,valueFormatter:d=c.Cj,showAnimation:u=!1,onValueChange:m,sortOrder:h="descending",className:p}=e,f=(0,n._T)(e,["data","color","valueFormatter","showAnimation","onValueChange","sortOrder","className"]),b=m?"button":"div",g=o.useMemo(()=>"none"===h?r:[...r].sort((e,t)=>"ascending"===h?e.value-t.value:t.value-e.value),[r,h]),v=o.useMemo(()=>{let e=Math.max(...g.map(e=>e.value),0);return g.map(t=>0===t.value?0:Math.max(t.value/e*100,2))},[g]);return o.createElement("div",Object.assign({ref:t,className:(0,l.q)(i("root"),"flex justify-between space-x-6",p),"aria-sort":h},f),o.createElement("div",{className:(0,l.q)(i("bars"),"relative w-full space-y-1.5")},g.map((e,t)=>{var r,n,d;let h=e.icon;return o.createElement(b,{key:null!==(r=e.key)&&void 0!==r?r:t,onClick:()=>{null==m||m(e)},className:(0,l.q)(i("bar"),"group w-full flex items-center rounded-tremor-small",m?["cursor-pointer","hover:bg-tremor-background-muted dark:hover:bg-dark-tremor-background-subtle/40"]:"")},o.createElement("div",{className:(0,l.q)("flex items-center rounded transition-all bg-opacity-40","h-8",e.color||s?[(0,c.bM)(null!==(n=e.color)&&void 0!==n?n:s,a.K.background).bgColor,m?"group-hover:bg-opacity-30":""]:"bg-tremor-brand-subtle dark:bg-dark-tremor-brand-subtle/60",!m||e.color||s?"":"group-hover:bg-tremor-brand-subtle/30 group-hover:dark:bg-dark-tremor-brand-subtle/70",t===g.length-1?"mb-0":"",u?"duration-500":""),style:{width:"".concat(v[t],"%"),transition:u?"all 1s":""}},o.createElement("div",{className:(0,l.q)("absolute left-2 pr-4 flex max-w-full")},h?o.createElement(h,{className:(0,l.q)(i("barIcon"),"flex-none h-5 w-5 mr-2","text-tremor-content","dark:text-dark-tremor-content")}):null,e.href?o.createElement("a",{href:e.href,target:null!==(d=e.target)&&void 0!==d?d:"_blank",rel:"noreferrer",className:(0,l.q)(i("barLink"),"whitespace-nowrap hover:underline truncate text-tremor-default",m?"cursor-pointer":"","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis"),onClick:e=>e.stopPropagation()},e.name):o.createElement("p",{className:(0,l.q)(i("barText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name))))})),o.createElement("div",{className:i("labels")},g.map((e,t)=>{var r;return o.createElement("div",{key:null!==(r=e.key)&&void 0!==r?r:t,className:(0,l.q)(i("labelWrapper"),"flex justify-end items-center","h-8",t===g.length-1?"mb-0":"mb-1.5")},o.createElement("p",{className:(0,l.q)(i("labelText"),"whitespace-nowrap leading-none truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},d(e.value)))})))}s.displayName="BarList";let d=o.forwardRef(s)},51653:function(e,t,r){"use strict";r.d(t,{Z:function(){return q}});var n=r(2265),o=r(8900),a=r(39725),l=r(49638),c=r(54537),i=r(55726),s=r(36760),d=r.n(s),u=r(66632),m=r(18242),h=r(28791),p=r(19722),f=r(71744),b=r(93463),g=r(12918),v=r(99320);let k=(e,t,r,n,o)=>({background:e,border:"".concat((0,b.bf)(n.lineWidth)," ").concat(n.lineType," ").concat(t),["".concat(o,"-icon")]:{color:r}}),y=e=>{let{componentCls:t,motionDurationSlow:r,marginXS:n,marginSM:o,fontSize:a,fontSizeLG:l,lineHeight:c,borderRadiusLG:i,motionEaseInOutCirc:s,withDescriptionIconSize:d,colorText:u,colorTextHeading:m,withDescriptionPadding:h,defaultPadding:p}=e;return{[t]:Object.assign(Object.assign({},(0,g.Wf)(e)),{position:"relative",display:"flex",alignItems:"center",padding:p,wordWrap:"break-word",borderRadius:i,["&".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-content")]:{flex:1,minWidth:0},["".concat(t,"-icon")]:{marginInlineEnd:n,lineHeight:0},"&-description":{display:"none",fontSize:a,lineHeight:c},"&-message":{color:m},["&".concat(t,"-motion-leave")]:{overflow:"hidden",opacity:1,transition:"max-height ".concat(r," ").concat(s,", opacity ").concat(r," ").concat(s,",\n padding-top ").concat(r," ").concat(s,", padding-bottom ").concat(r," ").concat(s,",\n margin-bottom ").concat(r," ").concat(s)},["&".concat(t,"-motion-leave-active")]:{maxHeight:0,marginBottom:"0 !important",paddingTop:0,paddingBottom:0,opacity:0}}),["".concat(t,"-with-description")]:{alignItems:"flex-start",padding:h,["".concat(t,"-icon")]:{marginInlineEnd:o,fontSize:d,lineHeight:0},["".concat(t,"-message")]:{display:"block",marginBottom:n,color:m,fontSize:l},["".concat(t,"-description")]:{display:"block",color:u}},["".concat(t,"-banner")]:{marginBottom:0,border:"0 !important",borderRadius:0}}},x=e=>{let{componentCls:t,colorSuccess:r,colorSuccessBorder:n,colorSuccessBg:o,colorWarning:a,colorWarningBorder:l,colorWarningBg:c,colorError:i,colorErrorBorder:s,colorErrorBg:d,colorInfo:u,colorInfoBorder:m,colorInfoBg:h}=e;return{[t]:{"&-success":k(o,n,r,e,t),"&-info":k(h,m,u,e,t),"&-warning":k(c,l,a,e,t),"&-error":Object.assign(Object.assign({},k(d,s,i,e,t)),{["".concat(t,"-description > pre")]:{margin:0,padding:0}})}}},w=e=>{let{componentCls:t,iconCls:r,motionDurationMid:n,marginXS:o,fontSizeIcon:a,colorIcon:l,colorIconHover:c}=e;return{[t]:{"&-action":{marginInlineStart:o},["".concat(t,"-close-icon")]:{marginInlineStart:o,padding:0,overflow:"hidden",fontSize:a,lineHeight:(0,b.bf)(a),backgroundColor:"transparent",border:"none",outline:"none",cursor:"pointer",["".concat(r,"-close")]:{color:l,transition:"color ".concat(n),"&:hover":{color:c}}},"&-close-text":{color:l,transition:"color ".concat(n),"&:hover":{color:c}}}}};var C=(0,v.I$)("Alert",e=>[y(e),x(e),w(e)],e=>({withDescriptionIconSize:e.fontSizeHeading3,defaultPadding:"".concat(e.paddingContentVerticalSM,"px ").concat(12,"px"),withDescriptionPadding:"".concat(e.paddingMD,"px ").concat(e.paddingContentHorizontalLG,"px")})),E=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let O={success:o.Z,info:i.Z,error:a.Z,warning:c.Z},M=e=>{let{icon:t,prefixCls:r,type:o}=e,a=O[o]||null;return t?(0,p.wm)(t,n.createElement("span",{className:"".concat(r,"-icon")},t),()=>({className:d()("".concat(r,"-icon"),t.props.className)})):n.createElement(a,{className:"".concat(r,"-icon")})},j=e=>{let{isClosable:t,prefixCls:r,closeIcon:o,handleClose:a,ariaProps:c}=e,i=!0===o||void 0===o?n.createElement(l.Z,null):o;return t?n.createElement("button",Object.assign({type:"button",onClick:a,className:"".concat(r,"-close-icon"),tabIndex:0},c),i):null},N=n.forwardRef((e,t)=>{let{description:r,prefixCls:o,message:a,banner:l,className:c,rootClassName:i,style:s,onMouseEnter:p,onMouseLeave:b,onClick:g,afterClose:v,showIcon:k,closable:y,closeText:x,closeIcon:w,action:O,id:N}=e,S=E(e,["description","prefixCls","message","banner","className","rootClassName","style","onMouseEnter","onMouseLeave","onClick","afterClose","showIcon","closable","closeText","closeIcon","action","id"]),[Z,z]=n.useState(!1),H=n.useRef(null);n.useImperativeHandle(t,()=>({nativeElement:H.current}));let{getPrefixCls:L,direction:V,closable:R,closeIcon:q,className:I,style:B}=(0,f.dj)("alert"),T=L("alert",o),[_,A,F]=C(T),P=t=>{var r;z(!0),null===(r=e.onClose)||void 0===r||r.call(e,t)},K=n.useMemo(()=>void 0!==e.type?e.type:l?"warning":"info",[e.type,l]),W=n.useMemo(()=>"object"==typeof y&&!!y.closeIcon||!!x||("boolean"==typeof y?y:!1!==w&&null!=w||!!R),[x,w,y,R]),D=!!l&&void 0===k||k,X=d()(T,"".concat(T,"-").concat(K),{["".concat(T,"-with-description")]:!!r,["".concat(T,"-no-icon")]:!D,["".concat(T,"-banner")]:!!l,["".concat(T,"-rtl")]:"rtl"===V},I,c,i,F,A),G=(0,m.Z)(S,{aria:!0,data:!0}),Y=n.useMemo(()=>"object"==typeof y&&y.closeIcon?y.closeIcon:x||(void 0!==w?w:"object"==typeof R&&R.closeIcon?R.closeIcon:q),[w,y,R,x,q]),J=n.useMemo(()=>{let e=null!=y?y:R;if("object"==typeof e){let{closeIcon:t}=e;return E(e,["closeIcon"])}return{}},[y,R]);return _(n.createElement(u.ZP,{visible:!Z,motionName:"".concat(T,"-motion"),motionAppear:!1,motionEnter:!1,onLeaveStart:e=>({maxHeight:e.offsetHeight}),onLeaveEnd:v},(t,o)=>{let{className:l,style:c}=t;return n.createElement("div",Object.assign({id:N,ref:(0,h.sQ)(H,o),"data-show":!Z,className:d()(X,l),style:Object.assign(Object.assign(Object.assign({},B),s),c),onMouseEnter:p,onMouseLeave:b,onClick:g,role:"alert"},G),D?n.createElement(M,{description:r,icon:e.icon,prefixCls:T,type:K}):null,n.createElement("div",{className:"".concat(T,"-content")},a?n.createElement("div",{className:"".concat(T,"-message")},a):null,r?n.createElement("div",{className:"".concat(T,"-description")},r):null),O?n.createElement("div",{className:"".concat(T,"-action")},O):null,n.createElement(j,{isClosable:W,prefixCls:T,closeIcon:Y,handleClose:P,ariaProps:J}))}))});var S=r(76405),Z=r(25049),z=r(24995),H=r(63929),L=r(37977),V=r(41690);let R=function(e){function t(){var e,r,n;return(0,S.Z)(this,t),r=t,n=arguments,r=(0,z.Z)(r),(e=(0,L.Z)(this,(0,H.Z)()?Reflect.construct(r,n||[],(0,z.Z)(this).constructor):r.apply(this,n))).state={error:void 0,info:{componentStack:""}},e}return(0,V.Z)(t,e),(0,Z.Z)(t,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,info:t})}},{key:"render",value:function(){let{message:e,description:t,id:r,children:o}=this.props,{error:a,info:l}=this.state,c=(null==l?void 0:l.componentStack)||null,i=void 0===e?(a||"").toString():e;return a?n.createElement(N,{id:r,type:"error",message:i,description:n.createElement("pre",{style:{fontSize:"0.9em",overflowX:"auto"}},void 0===t?c:t)}):o}}])}(n.Component);N.ErrorBoundary=R;var q=N},76188:function(e,t,r){"use strict";r.d(t,{Z:function(){return Z}});var n=r(2265),o=r(36760),a=r.n(o),l=r(6543),c=r(71744),i=r(33759),s=r(28617),d={xxl:3,xl:3,lg:3,md:3,sm:2,xs:1};let u=n.createContext({});var m=r(45287),h=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let p=e=>(0,m.Z)(e).map(e=>Object.assign(Object.assign({},null==e?void 0:e.props),{key:e.key}));var f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r},b=(e,t)=>{let[r,o]=(0,n.useMemo)(()=>{let r,n,o,a;return r=[],n=[],o=!1,a=0,t.filter(e=>e).forEach(t=>{let{filled:l}=t,c=f(t,["filled"]);if(l){n.push(c),r.push(n),n=[],a=0;return}let i=e-a;(a+=t.span||1)>=e?(a>e?(o=!0,n.push(Object.assign(Object.assign({},c),{span:i}))):n.push(c),r.push(n),n=[],a=0):n.push(c)}),n.length>0&&r.push(n),[r=r.map(t=>{let r=t.reduce((e,t)=>e+(t.span||1),0);if(rnull!=e;var v=e=>{let{itemPrefixCls:t,component:r,span:o,className:l,style:c,labelStyle:i,contentStyle:s,bordered:d,label:m,content:h,colon:p,type:f,styles:b}=e,{classNames:v}=n.useContext(u),k=Object.assign(Object.assign({},i),null==b?void 0:b.label),y=Object.assign(Object.assign({},s),null==b?void 0:b.content);return d?n.createElement(r,{colSpan:o,style:c,className:a()(l,{["".concat(t,"-item-").concat(f)]:"label"===f||"content"===f,[null==v?void 0:v.label]:(null==v?void 0:v.label)&&"label"===f,[null==v?void 0:v.content]:(null==v?void 0:v.content)&&"content"===f})},g(m)&&n.createElement("span",{style:k},m),g(h)&&n.createElement("span",{style:y},h)):n.createElement(r,{colSpan:o,style:c,className:a()("".concat(t,"-item"),l)},n.createElement("div",{className:"".concat(t,"-item-container")},g(m)&&n.createElement("span",{style:k,className:a()("".concat(t,"-item-label"),null==v?void 0:v.label,{["".concat(t,"-item-no-colon")]:!p})},m),g(h)&&n.createElement("span",{style:y,className:a()("".concat(t,"-item-content"),null==v?void 0:v.content)},h)))};function k(e,t,r){let{colon:o,prefixCls:a,bordered:l}=t,{component:c,type:i,showLabel:s,showContent:d,labelStyle:u,contentStyle:m,styles:h}=r;return e.map((e,t)=>{let{label:r,children:p,prefixCls:f=a,className:b,style:g,labelStyle:k,contentStyle:y,span:x=1,key:w,styles:C}=e;return"string"==typeof c?n.createElement(v,{key:"".concat(i,"-").concat(w||t),className:b,style:g,styles:{label:Object.assign(Object.assign(Object.assign(Object.assign({},u),null==h?void 0:h.label),k),null==C?void 0:C.label),content:Object.assign(Object.assign(Object.assign(Object.assign({},m),null==h?void 0:h.content),y),null==C?void 0:C.content)},span:x,colon:o,component:c,itemPrefixCls:f,bordered:l,label:s?r:null,content:d?p:null,type:i}):[n.createElement(v,{key:"label-".concat(w||t),className:b,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},u),null==h?void 0:h.label),g),k),null==C?void 0:C.label),span:1,colon:o,component:c[0],itemPrefixCls:f,bordered:l,label:r,type:"label"}),n.createElement(v,{key:"content-".concat(w||t),className:b,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},m),null==h?void 0:h.content),g),y),null==C?void 0:C.content),span:2*x-1,component:c[1],itemPrefixCls:f,bordered:l,content:p,type:"content"})]})}var y=e=>{let t=n.useContext(u),{prefixCls:r,vertical:o,row:a,index:l,bordered:c}=e;return o?n.createElement(n.Fragment,null,n.createElement("tr",{key:"label-".concat(l),className:"".concat(r,"-row")},k(a,e,Object.assign({component:"th",type:"label",showLabel:!0},t))),n.createElement("tr",{key:"content-".concat(l),className:"".concat(r,"-row")},k(a,e,Object.assign({component:"td",type:"content",showContent:!0},t)))):n.createElement("tr",{key:l,className:"".concat(r,"-row")},k(a,e,Object.assign({component:c?["th","td"]:"td",type:"item",showLabel:!0,showContent:!0},t)))},x=r(93463),w=r(12918),C=r(99320),E=r(71140);let O=e=>{let{componentCls:t,labelBg:r}=e;return{["&".concat(t,"-bordered")]:{["> ".concat(t,"-view")]:{border:"".concat((0,x.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"> table":{tableLayout:"auto"},["".concat(t,"-row")]:{borderBottom:"".concat((0,x.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"&:first-child":{"> th:first-child, > td:first-child":{borderStartStartRadius:e.borderRadiusLG}},"&:last-child":{borderBottom:"none","> th:first-child, > td:first-child":{borderEndStartRadius:e.borderRadiusLG}},["> ".concat(t,"-item-label, > ").concat(t,"-item-content")]:{padding:"".concat((0,x.bf)(e.padding)," ").concat((0,x.bf)(e.paddingLG)),borderInlineEnd:"".concat((0,x.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"&:last-child":{borderInlineEnd:"none"}},["> ".concat(t,"-item-label")]:{color:e.colorTextSecondary,backgroundColor:r,"&::after":{display:"none"}}}},["&".concat(t,"-middle")]:{["".concat(t,"-row")]:{["> ".concat(t,"-item-label, > ").concat(t,"-item-content")]:{padding:"".concat((0,x.bf)(e.paddingSM)," ").concat((0,x.bf)(e.paddingLG))}}},["&".concat(t,"-small")]:{["".concat(t,"-row")]:{["> ".concat(t,"-item-label, > ").concat(t,"-item-content")]:{padding:"".concat((0,x.bf)(e.paddingXS)," ").concat((0,x.bf)(e.padding))}}}}}},M=e=>{let{componentCls:t,extraColor:r,itemPaddingBottom:n,itemPaddingEnd:o,colonMarginRight:a,colonMarginLeft:l,titleMarginBottom:c}=e;return{[t]:Object.assign(Object.assign(Object.assign({},(0,w.Wf)(e)),O(e)),{"&-rtl":{direction:"rtl"},["".concat(t,"-header")]:{display:"flex",alignItems:"center",marginBottom:c},["".concat(t,"-title")]:Object.assign(Object.assign({},w.vS),{flex:"auto",color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.fontSizeLG,lineHeight:e.lineHeightLG}),["".concat(t,"-extra")]:{marginInlineStart:"auto",color:r,fontSize:e.fontSize},["".concat(t,"-view")]:{width:"100%",borderRadius:e.borderRadiusLG,table:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse"}},["".concat(t,"-row")]:{"> th, > td":{paddingBottom:n,paddingInlineEnd:o},"> th:last-child, > td:last-child":{paddingInlineEnd:0},"&:last-child":{borderBottom:"none","> th, > td":{paddingBottom:0}}},["".concat(t,"-item-label")]:{color:e.labelColor,fontWeight:"normal",fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:"start","&::after":{content:'":"',position:"relative",top:-.5,marginInline:"".concat((0,x.bf)(l)," ").concat((0,x.bf)(a))},["&".concat(t,"-item-no-colon::after")]:{content:'""'}},["".concat(t,"-item-no-label")]:{"&::after":{margin:0,content:'""'}},["".concat(t,"-item-content")]:{display:"table-cell",flex:1,color:e.contentColor,fontSize:e.fontSize,lineHeight:e.lineHeight,wordBreak:"break-word",overflowWrap:"break-word"},["".concat(t,"-item")]:{paddingBottom:0,verticalAlign:"top","&-container":{display:"flex",["".concat(t,"-item-label")]:{display:"inline-flex",alignItems:"baseline"},["".concat(t,"-item-content")]:{display:"inline-flex",alignItems:"baseline",minWidth:"1em"}}},"&-middle":{["".concat(t,"-row")]:{"> th, > td":{paddingBottom:e.paddingSM}}},"&-small":{["".concat(t,"-row")]:{"> th, > td":{paddingBottom:e.paddingXS}}}})}};var j=(0,C.I$)("Descriptions",e=>M((0,E.IX)(e,{})),e=>({labelBg:e.colorFillAlter,labelColor:e.colorTextTertiary,titleColor:e.colorText,titleMarginBottom:e.fontSizeSM*e.lineHeightSM,itemPaddingBottom:e.padding,itemPaddingEnd:e.padding,colonMarginRight:e.marginXS,colonMarginLeft:e.marginXXS/2,contentColor:e.colorText,extraColor:e.colorText})),N=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};let S=e=>{let{prefixCls:t,title:r,extra:o,column:m,colon:f=!0,bordered:g,layout:v,children:k,className:x,rootClassName:w,style:C,size:E,labelStyle:O,contentStyle:M,styles:S,items:Z,classNames:z}=e,H=N(e,["prefixCls","title","extra","column","colon","bordered","layout","children","className","rootClassName","style","size","labelStyle","contentStyle","styles","items","classNames"]),{getPrefixCls:L,direction:V,className:R,style:q,classNames:I,styles:B}=(0,c.dj)("descriptions"),T=L("descriptions",t),_=(0,s.Z)(),A=n.useMemo(()=>{var e;return"number"==typeof m?m:null!==(e=(0,l.m9)(_,Object.assign(Object.assign({},d),m)))&&void 0!==e?e:3},[_,m]),F=function(e,t,r){let o=n.useMemo(()=>t||p(r),[t,r]);return n.useMemo(()=>o.map(t=>{var{span:r}=t,n=h(t,["span"]);return"filled"===r?Object.assign(Object.assign({},n),{filled:!0}):Object.assign(Object.assign({},n),{span:"number"==typeof r?r:(0,l.m9)(e,r)})}),[o,e])}(_,Z,k),P=(0,i.Z)(E),K=b(A,F),[W,D,X]=j(T),G=n.useMemo(()=>({labelStyle:O,contentStyle:M,styles:{content:Object.assign(Object.assign({},B.content),null==S?void 0:S.content),label:Object.assign(Object.assign({},B.label),null==S?void 0:S.label)},classNames:{label:a()(I.label,null==z?void 0:z.label),content:a()(I.content,null==z?void 0:z.content)}}),[O,M,S,z,I,B]);return W(n.createElement(u.Provider,{value:G},n.createElement("div",Object.assign({className:a()(T,R,I.root,null==z?void 0:z.root,{["".concat(T,"-").concat(P)]:P&&"default"!==P,["".concat(T,"-bordered")]:!!g,["".concat(T,"-rtl")]:"rtl"===V},x,w,D,X),style:Object.assign(Object.assign(Object.assign(Object.assign({},q),B.root),null==S?void 0:S.root),C)},H),(r||o)&&n.createElement("div",{className:a()("".concat(T,"-header"),I.header,null==z?void 0:z.header),style:Object.assign(Object.assign({},B.header),null==S?void 0:S.header)},r&&n.createElement("div",{className:a()("".concat(T,"-title"),I.title,null==z?void 0:z.title),style:Object.assign(Object.assign({},B.title),null==S?void 0:S.title)},r),o&&n.createElement("div",{className:a()("".concat(T,"-extra"),I.extra,null==z?void 0:z.extra),style:Object.assign(Object.assign({},B.extra),null==S?void 0:S.extra)},o)),n.createElement("div",{className:"".concat(T,"-view")},n.createElement("table",null,n.createElement("tbody",null,K.map((e,t)=>n.createElement(y,{key:t,index:t,colon:f,prefixCls:T,vertical:"vertical"===v,bordered:g,row:e}))))))))};S.Item=e=>{let{children:t}=e;return t};var Z=S},13817:function(e,t,r){"use strict";r.d(t,{default:function(){return x}});var n=r(83145),o=r(2265),a=r(36760),l=r.n(a),c=r(18694),i=r(71744),s=r(80856),d=r(45287),u=r(32186),m=r(25437),h=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r};function p(e){let{suffixCls:t,tagName:r,displayName:n}=e;return e=>o.forwardRef((n,a)=>o.createElement(e,Object.assign({ref:a,suffixCls:t,tagName:r},n)))}let f=o.forwardRef((e,t)=>{let{prefixCls:r,suffixCls:n,className:a,tagName:c}=e,s=h(e,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:d}=o.useContext(i.E_),u=d("layout",r),[p,f,b]=(0,m.ZP)(u),g=n?"".concat(u,"-").concat(n):u;return p(o.createElement(c,Object.assign({className:l()(r||g,a,f,b),ref:t},s)))}),b=o.forwardRef((e,t)=>{let{direction:r}=o.useContext(i.E_),[a,p]=o.useState([]),{prefixCls:f,className:b,rootClassName:g,children:v,hasSider:k,tagName:y,style:x}=e,w=h(e,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),C=(0,c.Z)(w,["suffixCls"]),{getPrefixCls:E,className:O,style:M}=(0,i.dj)("layout"),j=E("layout",f),N="boolean"==typeof k?k:!!a.length||(0,d.Z)(v).some(e=>e.type===u.Z),[S,Z,z]=(0,m.ZP)(j),H=l()(j,{["".concat(j,"-has-sider")]:N,["".concat(j,"-rtl")]:"rtl"===r},O,b,g,Z,z),L=o.useMemo(()=>({siderHook:{addSider:e=>{p(t=>[].concat((0,n.Z)(t),[e]))},removeSider:e=>{p(t=>t.filter(t=>t!==e))}}}),[]);return S(o.createElement(s.V.Provider,{value:L},o.createElement(y,Object.assign({ref:t,className:H,style:Object.assign(Object.assign({},M),x)},C),v)))}),g=p({tagName:"div",displayName:"Layout"})(b),v=p({suffixCls:"header",tagName:"header",displayName:"Header"})(f),k=p({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(f),y=p({suffixCls:"content",tagName:"main",displayName:"Content"})(f);g.Header=v,g.Footer=k,g.Content=y,g.Sider=u.Z,g._InternalSiderContext=u.D;var x=g},23910:function(e,t,r){var n=r(74288).Symbol;e.exports=n},54506:function(e,t,r){var n=r(23910),o=r(4479),a=r(80910),l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":l&&l in Object(e)?o(e):a(e)}},41087:function(e,t,r){var n=r(5035),o=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(o,""):e}},17071:function(e,t,r){var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},4479:function(e,t,r){var n=r(23910),o=Object.prototype,a=o.hasOwnProperty,l=o.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=l.call(e);return n&&(t?e[c]=r:delete e[c]),o}},80910:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},74288:function(e,t,r){var n=r(17071),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},5035:function(e){var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},7310:function(e,t,r){var n=r(28302),o=r(11121),a=r(6660),l=Math.max,c=Math.min;e.exports=function(e,t,r){var i,s,d,u,m,h,p=0,f=!1,b=!1,g=!0;if("function"!=typeof e)throw TypeError("Expected a function");function v(t){var r=i,n=s;return i=s=void 0,p=t,u=e.apply(n,r)}function k(e){var r=e-h,n=e-p;return void 0===h||r>=t||r<0||b&&n>=d}function y(){var e,r,n,a=o();if(k(a))return x(a);m=setTimeout(y,(e=a-h,r=a-p,n=t-e,b?c(n,d-r):n))}function x(e){return(m=void 0,g&&i)?v(e):(i=s=void 0,u)}function w(){var e,r=o(),n=k(r);if(i=arguments,s=this,h=r,n){if(void 0===m)return p=e=h,m=setTimeout(y,t),f?v(e):u;if(b)return clearTimeout(m),m=setTimeout(y,t),v(h)}return void 0===m&&(m=setTimeout(y,t)),u}return t=a(t)||0,n(r)&&(f=!!r.leading,d=(b="maxWait"in r)?l(a(r.maxWait)||0,t):d,g="trailing"in r?!!r.trailing:g),w.cancel=function(){void 0!==m&&clearTimeout(m),p=0,i=h=s=m=void 0},w.flush=function(){return void 0===m?u:x(o())},w}},28302:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},10303:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},78371:function(e,t,r){var n=r(54506),o=r(10303);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},11121:function(e,t,r){var n=r(74288);e.exports=function(){return n.Date.now()}},6660:function(e,t,r){var n=r(41087),o=r(28302),a=r(78371),l=0/0,c=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,s=/^0o[0-7]+$/i,d=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return l;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=i.test(e);return r||s.test(e)?d(e.slice(2),r?2:8):c.test(e)?l:+e}},82222:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},40875:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},22135:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},41671:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},5136:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]])},64935:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]])},96362:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},29202:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},33245:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},54001:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},51817:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},21047:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},33276:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},96137:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},15868:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]])},80221:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},18930:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},70525:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]])},76865:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},17689:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]])},49663:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("user-check",[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},79862:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]])},95805:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},11239:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},86669:function(e,t,r){"use strict";r.d(t,{gc:function(){return y},jF:function(){return v}});var n=r(2265);let o=e=>"boolean"==typeof e||e instanceof Boolean,a=e=>"number"==typeof e||e instanceof Number,l=e=>"bigint"==typeof e||e instanceof BigInt,c=e=>!!e&&e instanceof Date,i=e=>"string"==typeof e||e instanceof String,s=e=>Array.isArray(e),d=e=>"object"==typeof e&&null!==e,u=e=>!!e&&e instanceof Object&&"function"==typeof e;function m(e,t){return void 0===t&&(t=!1),!e||t?`"${e}"`:e}function h(e){let{field:t,value:r,data:o,lastElement:a,openBracket:l,closeBracket:c,level:i,style:s,shouldExpandNode:d,clickToExpandNode:u,outerRef:h,beforeExpandChange:p}=e,f=(0,n.useRef)(!1),[b,v]=(0,n.useState)(()=>d(i,r,t)),k=(0,n.useRef)(null);(0,n.useEffect)(()=>{f.current?v(d(i,r,t)):f.current=!0},[d]);let y=(0,n.useId)();if(0===o.length)return function(e){let{field:t,openBracket:r,closeBracket:o,lastElement:a,style:l}=e;return(0,n.createElement)("div",{className:l.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||""===t)&&(0,n.createElement)("span",{className:l.label},m(t,l.quotesForFieldNames),":"),(0,n.createElement)("span",{className:l.punctuation},r),(0,n.createElement)("span",{className:l.punctuation},o),!a&&(0,n.createElement)("span",{className:l.punctuation},","))}({field:t,openBracket:l,closeBracket:c,lastElement:a,style:s});let x=b?s.collapseIcon:s.expandIcon,w=b?s.ariaLables.collapseJson:s.ariaLables.expandJson,C=i+1,E=o.length-1,O=e=>{b!==e&&(!p||p({level:i,value:r,field:t,newExpandValue:e}))&&v(e)},M=e=>{if("ArrowRight"===e.key||"ArrowLeft"===e.key)e.preventDefault(),O("ArrowRight"===e.key);else if("ArrowUp"===e.key||"ArrowDown"===e.key){e.preventDefault();let t="ArrowUp"===e.key?-1:1;if(!h.current)return;let r=h.current.querySelectorAll("[role=button]"),n=-1;for(let e=0;e{var e;O(!b);let t=k.current;if(!t)return;let r=null===(e=h.current)||void 0===e?void 0:e.querySelector('[role=button][tabindex="0"]');r&&(r.tabIndex=-1),t.tabIndex=0,t.focus()};return(0,n.createElement)("div",{className:s.basicChildStyle,role:"treeitem","aria-expanded":b,"aria-selected":void 0},(0,n.createElement)("span",{className:x,onClick:j,onKeyDown:M,role:"button","aria-label":w,"aria-expanded":b,"aria-controls":b?y:void 0,ref:k,tabIndex:0===i?0:-1}),(t||""===t)&&(u?(0,n.createElement)("span",{className:s.clickableLabel,onClick:j,onKeyDown:M},m(t,s.quotesForFieldNames),":"):(0,n.createElement)("span",{className:s.label},m(t,s.quotesForFieldNames),":")),(0,n.createElement)("span",{className:s.punctuation},l),b?(0,n.createElement)("ul",{id:y,role:"group",className:s.childFieldsContainer},o.map((e,t)=>(0,n.createElement)(g,{key:e[0]||t,field:e[0],value:e[1],style:s,lastElement:t===E,level:C,shouldExpandNode:d,clickToExpandNode:u,beforeExpandChange:p,outerRef:h}))):(0,n.createElement)("span",{className:s.collapsedContent,onClick:j,onKeyDown:M}),(0,n.createElement)("span",{className:s.punctuation},c),!a&&(0,n.createElement)("span",{className:s.punctuation},","))}function p(e){let{field:t,value:r,style:n,lastElement:o,shouldExpandNode:a,clickToExpandNode:l,level:c,outerRef:i,beforeExpandChange:s}=e;return h({field:t,value:r,lastElement:o||!1,level:c,openBracket:"{",closeBracket:"}",style:n,shouldExpandNode:a,clickToExpandNode:l,data:Object.keys(r).map(e=>[e,r[e]]),outerRef:i,beforeExpandChange:s})}function f(e){let{field:t,value:r,style:n,lastElement:o,level:a,shouldExpandNode:l,clickToExpandNode:c,outerRef:i,beforeExpandChange:s}=e;return h({field:t,value:r,lastElement:o||!1,level:a,openBracket:"[",closeBracket:"]",style:n,shouldExpandNode:l,clickToExpandNode:c,data:r.map(e=>[void 0,e]),outerRef:i,beforeExpandChange:s})}function b(e){let t,{field:r,value:s,style:d,lastElement:h}=e,p=d.otherValue;if(null===s)t="null",p=d.nullValue;else if(void 0===s)t="undefined",p=d.undefinedValue;else if(i(s)){var f;f=!d.noQuotesForStringValues,t=d.stringifyStringValues?JSON.stringify(s):f?`"${s}"`:s,p=d.stringValue}else o(s)?(t=s?"true":"false",p=d.booleanValue):a(s)?(t=s.toString(),p=d.numberValue):l(s)?(t=`${s.toString()}n`,p=d.numberValue):t=c(s)?s.toISOString():u(s)?"function() { }":s.toString();return(0,n.createElement)("div",{className:d.basicChildStyle,role:"treeitem","aria-selected":void 0},(r||""===r)&&(0,n.createElement)("span",{className:d.label},m(r,d.quotesForFieldNames),":"),(0,n.createElement)("span",{className:p},t),!h&&(0,n.createElement)("span",{className:d.punctuation},","))}function g(e){let t=e.value;return s(t)?(0,n.createElement)(f,Object.assign({},e)):!d(t)||c(t)||u(t)?(0,n.createElement)(b,Object.assign({},e)):(0,n.createElement)(p,Object.assign({},e))}let v={container:"_2IvMF _GzYRV",basicChildStyle:"_2bkNM",childFieldsContainer:"_1BXBN",label:"_1MGIk",clickableLabel:"_2YKJg _1MGIk _1MFti",nullValue:"_2T6PJ",undefinedValue:"_1Gho6",stringValue:"_vGjyY",booleanValue:"_3zQKs",numberValue:"_1bQdo",otherValue:"_1xvuR",punctuation:"_3uHL6 _3eOF8",collapseIcon:"_oLqym _f10Tu _1MFti _1LId0",expandIcon:"_2AXVT _f10Tu _1MFti _1UmXx",collapsedContent:"_2KJWg _1pNG9 _1MFti",noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:{collapseJson:"collapse JSON",expandJson:"expand JSON"},stringifyStringValues:!1},k=()=>!0,y=e=>{let{data:t,style:r=v,shouldExpandNode:o=k,clickToExpandNode:a=!1,beforeExpandChange:l,compactTopLevel:c,...i}=e,s=(0,n.useRef)(null);return(0,n.createElement)("div",Object.assign({"aria-label":"JSON view"},i,{className:r.container,ref:s,role:"tree"}),c&&d(t)?Object.entries(t).map(e=>{let[t,c]=e;return(0,n.createElement)(g,{key:t,field:t,value:c,style:{...v,...r},lastElement:!0,level:1,shouldExpandNode:o,clickToExpandNode:a,beforeExpandChange:l,outerRef:s})}):(0,n.createElement)(g,{value:t,style:{...v,...r},lastElement:!0,level:0,shouldExpandNode:o,clickToExpandNode:a,outerRef:s,beforeExpandChange:l}))}},1479:function(e,t){"use strict";t.Z={'code[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"]::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},prolog:{color:"hsl(230, 4%, 64%)"},cdata:{color:"hsl(230, 4%, 64%)"},doctype:{color:"hsl(230, 8%, 24%)"},punctuation:{color:"hsl(230, 8%, 24%)"},entity:{color:"hsl(230, 8%, 24%)",cursor:"help"},"attr-name":{color:"hsl(35, 99%, 36%)"},"class-name":{color:"hsl(35, 99%, 36%)"},boolean:{color:"hsl(35, 99%, 36%)"},constant:{color:"hsl(35, 99%, 36%)"},number:{color:"hsl(35, 99%, 36%)"},atrule:{color:"hsl(35, 99%, 36%)"},keyword:{color:"hsl(301, 63%, 40%)"},property:{color:"hsl(5, 74%, 59%)"},tag:{color:"hsl(5, 74%, 59%)"},symbol:{color:"hsl(5, 74%, 59%)"},deleted:{color:"hsl(5, 74%, 59%)"},important:{color:"hsl(5, 74%, 59%)"},selector:{color:"hsl(119, 34%, 47%)"},string:{color:"hsl(119, 34%, 47%)"},char:{color:"hsl(119, 34%, 47%)"},builtin:{color:"hsl(119, 34%, 47%)"},inserted:{color:"hsl(119, 34%, 47%)"},regex:{color:"hsl(119, 34%, 47%)"},"attr-value":{color:"hsl(119, 34%, 47%)"},"attr-value > .token.punctuation":{color:"hsl(119, 34%, 47%)"},variable:{color:"hsl(221, 87%, 60%)"},operator:{color:"hsl(221, 87%, 60%)"},function:{color:"hsl(221, 87%, 60%)"},url:{color:"hsl(198, 99%, 37%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(230, 8%, 24%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(230, 8%, 24%)"},".language-css .token.selector":{color:"hsl(5, 74%, 59%)"},".language-css .token.property":{color:"hsl(230, 8%, 24%)"},".language-css .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.string.url":{color:"hsl(119, 34%, 47%)"},".language-css .token.important":{color:"hsl(301, 63%, 40%)"},".language-css .token.atrule .token.rule":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.operator":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(344, 84%, 43%)"},".language-json .token.operator":{color:"hsl(230, 8%, 24%)"},".language-json .token.null.keyword":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.url":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.operator":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.content":{color:"hsl(221, 87%, 60%)"},".language-markdown .token.url > .token.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.url-reference.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(119, 34%, 47%)"},".language-markdown .token.bold .token.content":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.italic .token.content":{color:"hsl(301, 63%, 40%)"},".language-markdown .token.strike .token.content":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.list.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(5, 74%, 59%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.cr:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.lf:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.space:before":{color:"hsla(230, 8%, 24%, 0.2)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},".line-highlight.line-highlight":{background:"hsla(230, 8%, 24%, 0.05)"},".line-highlight.line-highlight:before":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(230, 8%, 24%, 0.05)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".command-line .command-line-prompt":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(230, 1%, 62%)"},".command-line .command-line-prompt > span:before":{color:"hsl(230, 1%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(301, 63%, 40%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(0, 0, 95%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(0, 0, 95%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(0, 0, 95%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(0, 0, 95%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(0, 0%, 100%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(230, 8%, 24%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(230, 8%, 24%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(230, 8%, 24%)"}}},52621:function(){},82422:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"}))});t.Z=o},51853:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"}))});t.Z=o},3477:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});t.Z=o},71437:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"}))});t.Z=o},82376:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"}))});t.Z=o},17732:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});t.Z=o},3837:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))});t.Z=o},21770:function(e,t,r){"use strict";r.d(t,{D:function(){return d}});var n=r(2265),o=r(2894),a=r(18238),l=r(24112),c=r(45345),i=class extends l.l{#e;#t=void 0;#r;#n;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#o()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,c.VS)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#r,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,c.Ym)(t.mutationKey)!==(0,c.Ym)(this.options.mutationKey)?this.reset():this.#r?.state.status==="pending"&&this.#r.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#r?.removeObserver(this)}onMutationUpdate(e){this.#o(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#r?.removeObserver(this),this.#r=void 0,this.#o(),this.#a()}mutate(e,t){return this.#n=t,this.#r?.removeObserver(this),this.#r=this.#e.getMutationCache().build(this.#e,this.options),this.#r.addObserver(this),this.#r.execute(e)}#o(){let e=this.#r?.state??(0,o.R)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#a(e){a.Vr.batch(()=>{if(this.#n&&this.hasListeners()){let t=this.#t.variables,r=this.#t.context,n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};e?.type==="success"?(this.#n.onSuccess?.(e.data,t,r,n),this.#n.onSettled?.(e.data,null,t,r,n)):e?.type==="error"&&(this.#n.onError?.(e.error,t,r,n),this.#n.onSettled?.(void 0,e.error,t,r,n))}this.listeners.forEach(e=>{e(this.#t)})})}},s=r(29827);function d(e,t){let r=(0,s.NL)(t),[o]=n.useState(()=>new i(r,e));n.useEffect(()=>{o.setOptions(e)},[o,e]);let l=n.useSyncExternalStore(n.useCallback(e=>o.subscribe(a.Vr.batchCalls(e)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),d=n.useCallback((e,t)=>{o.mutate(e,t).catch(c.ZT)},[o]);if(l.error&&(0,c.L3)(o.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:d,mutateAsync:l.mutate}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8205-8dc0e40367f8cfd0.js b/litellm/proxy/_experimental/out/_next/static/chunks/8205-8dc0e40367f8cfd0.js new file mode 100644 index 0000000000..34e49907ab --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/8205-8dc0e40367f8cfd0.js @@ -0,0 +1,5 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8205],{12660:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},83669:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},44625:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},29271:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},41589:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file-image",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},50010:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file-pdf",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},92403:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 00-11.4 0l-39.8 39.8a8.15 8.15 0 000 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 00-11.4 0l-39.8 39.8a8.15 8.15 0 000 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 000 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 00608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z"}}]},name:"key",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},62272:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},99890:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z"}}]},name:"picture",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},55322:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},25980:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 00-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0021.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0021.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 00-21.7-5.9L746 287.8a15.99 15.99 0 00-5.8 21.8L760 344z"}}]},name:"sound",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},71891:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(1119),s=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1067.88-67.89 48 48 0 10-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z"}}]},name:"tags",theme:"outlined"},i=n(55015),o=s.forwardRef(function(e,t){return s.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},85847:function(e,t,n){"use strict";n.d(t,{Z:function(){return en}});var r=n(2265),s=n(36760),a=n.n(s),i=n(31686),o=n(11993),l=n(83145),c=n(41154),u=n(26365),d=n(58525),h=n(50506),f=n(16671),p=n(32559),g=n(1119),m=n(6989),v=n(54887);function b(e,t,n,r){var s=(t-n)/(r-n),a={};switch(e){case"rtl":a.right="".concat(100*s,"%"),a.transform="translateX(50%)";break;case"btt":a.bottom="".concat(100*s,"%"),a.transform="translateY(50%)";break;case"ttb":a.top="".concat(100*s,"%"),a.transform="translateY(-50%)";break;default:a.left="".concat(100*s,"%"),a.transform="translateX(-50%)"}return a}function y(e,t){return Array.isArray(e)?e[t]:e}var w=n(95814),_=r.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0,styles:{},classNames:{}}),S=r.createContext({}),k=["prefixCls","value","valueIndex","onStartMove","onDelete","style","render","dragging","draggingDelete","onOffsetChange","onChangeComplete","onFocus","onMouseEnter"],x=r.forwardRef(function(e,t){var n,s=e.prefixCls,l=e.value,c=e.valueIndex,u=e.onStartMove,d=e.onDelete,h=e.style,f=e.render,p=e.dragging,v=e.draggingDelete,S=e.onOffsetChange,x=e.onChangeComplete,R=e.onFocus,C=e.onMouseEnter,M=(0,m.Z)(e,k),E=r.useContext(_),j=E.min,O=E.max,P=E.direction,A=E.disabled,I=E.keyboard,L=E.range,z=E.tabIndex,T=E.ariaLabelForHandle,Z=E.ariaLabelledByForHandle,N=E.ariaRequired,F=E.ariaValueTextFormatterForHandle,q=E.styles,B=E.classNames,$="".concat(s,"-handle"),D=function(e){A||u(e,c)},H=b(P,l,j,O),U={};null!==c&&(U={tabIndex:A?null:y(z,c),role:"slider","aria-valuemin":j,"aria-valuemax":O,"aria-valuenow":l,"aria-disabled":A,"aria-label":y(T,c),"aria-labelledby":y(Z,c),"aria-required":y(N,c),"aria-valuetext":null===(n=y(F,c))||void 0===n?void 0:n(l),"aria-orientation":"ltr"===P||"rtl"===P?"horizontal":"vertical",onMouseDown:D,onTouchStart:D,onFocus:function(e){null==R||R(e,c)},onMouseEnter:function(e){C(e,c)},onKeyDown:function(e){if(!A&&I){var t=null;switch(e.which||e.keyCode){case w.Z.LEFT:t="ltr"===P||"btt"===P?-1:1;break;case w.Z.RIGHT:t="ltr"===P||"btt"===P?1:-1;break;case w.Z.UP:t="ttb"!==P?1:-1;break;case w.Z.DOWN:t="ttb"!==P?-1:1;break;case w.Z.HOME:t="min";break;case w.Z.END:t="max";break;case w.Z.PAGE_UP:t=2;break;case w.Z.PAGE_DOWN:t=-2;break;case w.Z.BACKSPACE:case w.Z.DELETE:null==d||d(c)}null!==t&&(e.preventDefault(),S(t,c))}},onKeyUp:function(e){switch(e.which||e.keyCode){case w.Z.LEFT:case w.Z.RIGHT:case w.Z.UP:case w.Z.DOWN:case w.Z.HOME:case w.Z.END:case w.Z.PAGE_UP:case w.Z.PAGE_DOWN:null==x||x()}}});var W=r.createElement("div",(0,g.Z)({ref:t,className:a()($,(0,o.Z)((0,o.Z)((0,o.Z)({},"".concat($,"-").concat(c+1),null!==c&&L),"".concat($,"-dragging"),p),"".concat($,"-dragging-delete"),v),B.handle),style:(0,i.Z)((0,i.Z)((0,i.Z)({},H),h),q.handle)},U,M));return f&&(W=f(W,{index:c,prefixCls:s,value:l,dragging:p,draggingDelete:v})),W}),R=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","activeHandleRender","draggingIndex","draggingDelete","onFocus"],C=r.forwardRef(function(e,t){var n=e.prefixCls,s=e.style,a=e.onStartMove,o=e.onOffsetChange,l=e.values,c=e.handleRender,d=e.activeHandleRender,h=e.draggingIndex,f=e.draggingDelete,p=e.onFocus,b=(0,m.Z)(e,R),w=r.useRef({}),_=r.useState(!1),S=(0,u.Z)(_,2),k=S[0],C=S[1],M=r.useState(-1),E=(0,u.Z)(M,2),j=E[0],O=E[1],P=function(e){O(e),C(!0)};r.useImperativeHandle(t,function(){return{focus:function(e){var t;null===(t=w.current[e])||void 0===t||t.focus()},hideHelp:function(){(0,v.flushSync)(function(){C(!1)})}}});var A=(0,i.Z)({prefixCls:n,onStartMove:a,onOffsetChange:o,render:c,onFocus:function(e,t){P(t),null==p||p(e)},onMouseEnter:function(e,t){P(t)}},b);return r.createElement(r.Fragment,null,l.map(function(e,t){var n=h===t;return r.createElement(x,(0,g.Z)({ref:function(e){e?w.current[t]=e:delete w.current[t]},dragging:n,draggingDelete:n&&f,style:y(s,t),key:t,value:e,valueIndex:t},A))}),d&&k&&r.createElement(x,(0,g.Z)({key:"a11y"},A,{value:l[j],valueIndex:null,dragging:-1!==h,draggingDelete:f,render:d,style:{pointerEvents:"none"},tabIndex:null,"aria-hidden":!0})))}),M=function(e){var t=e.prefixCls,n=e.style,s=e.children,l=e.value,c=e.onClick,u=r.useContext(_),d=u.min,h=u.max,f=u.direction,p=u.includedStart,g=u.includedEnd,m=u.included,v="".concat(t,"-text"),y=b(f,l,d,h);return r.createElement("span",{className:a()(v,(0,o.Z)({},"".concat(v,"-active"),m&&p<=l&&l<=g)),style:(0,i.Z)((0,i.Z)({},y),n),onMouseDown:function(e){e.stopPropagation()},onClick:function(){c(l)}},s)},E=function(e){var t=e.prefixCls,n=e.marks,s=e.onClick,a="".concat(t,"-mark");return n.length?r.createElement("div",{className:a},n.map(function(e){var t=e.value,n=e.style,i=e.label;return r.createElement(M,{key:t,prefixCls:a,style:n,value:t,onClick:s},i)})):null},j=function(e){var t=e.prefixCls,n=e.value,s=e.style,l=e.activeStyle,c=r.useContext(_),u=c.min,d=c.max,h=c.direction,f=c.included,p=c.includedStart,g=c.includedEnd,m="".concat(t,"-dot"),v=f&&p<=n&&n<=g,y=(0,i.Z)((0,i.Z)({},b(h,n,u,d)),"function"==typeof s?s(n):s);return v&&(y=(0,i.Z)((0,i.Z)({},y),"function"==typeof l?l(n):l)),r.createElement("span",{className:a()(m,(0,o.Z)({},"".concat(m,"-active"),v)),style:y})},O=function(e){var t=e.prefixCls,n=e.marks,s=e.dots,a=e.style,i=e.activeStyle,o=r.useContext(_),l=o.min,c=o.max,u=o.step,d=r.useMemo(function(){var e=new Set;if(n.forEach(function(t){e.add(t.value)}),s&&null!==u)for(var t=l;t<=c;)e.add(t),t+=u;return Array.from(e)},[l,c,u,s,n]);return r.createElement("div",{className:"".concat(t,"-step")},d.map(function(e){return r.createElement(j,{prefixCls:t,key:e,value:e,style:a,activeStyle:i})}))},P=function(e){var t=e.prefixCls,n=e.style,s=e.start,l=e.end,c=e.index,u=e.onStartMove,d=e.replaceCls,h=r.useContext(_),f=h.direction,p=h.min,g=h.max,m=h.disabled,v=h.range,b=h.classNames,y="".concat(t,"-track"),w=(s-p)/(g-p),S=(l-p)/(g-p),k=function(e){!m&&u&&u(e,-1)},x={};switch(f){case"rtl":x.right="".concat(100*w,"%"),x.width="".concat(100*S-100*w,"%");break;case"btt":x.bottom="".concat(100*w,"%"),x.height="".concat(100*S-100*w,"%");break;case"ttb":x.top="".concat(100*w,"%"),x.height="".concat(100*S-100*w,"%");break;default:x.left="".concat(100*w,"%"),x.width="".concat(100*S-100*w,"%")}var R=d||a()(y,(0,o.Z)((0,o.Z)({},"".concat(y,"-").concat(c+1),null!==c&&v),"".concat(t,"-track-draggable"),u),b.track);return r.createElement("div",{className:R,style:(0,i.Z)((0,i.Z)({},x),n),onMouseDown:k,onTouchStart:k})},A=function(e){var t=e.prefixCls,n=e.style,s=e.values,o=e.startPoint,l=e.onStartMove,c=r.useContext(_),u=c.included,d=c.range,h=c.min,f=c.styles,p=c.classNames,g=r.useMemo(function(){if(!d){if(0===s.length)return[];var e=null!=o?o:h,t=s[0];return[{start:Math.min(e,t),end:Math.max(e,t)}]}for(var n=[],r=0;r130&&p=0&&en},[en,eT]),eN=r.useMemo(function(){return Object.keys(ef||{}).map(function(e){var t=ef[e],n={value:Number(e)};return t&&"object"===(0,c.Z)(t)&&!r.isValidElement(t)&&("label"in t||"style"in t)?(n.style=t.style,n.label=t.label):n.label=t,n}).filter(function(e){var t=e.label;return t||"number"==typeof t}).sort(function(e,t){return e.value-t.value})},[ef]),eF=(n=void 0===ee||ee,s=r.useCallback(function(e){return Math.max(eL,Math.min(ez,e))},[eL,ez]),g=r.useCallback(function(e){if(null!==eT){var t=eL+Math.round((s(e)-eL)/eT)*eT,n=function(e){return(String(e).split(".")[1]||"").length},r=Math.max(n(eT),n(ez),n(eL)),a=Number(t.toFixed(r));return eL<=a&&a<=ez?a:null}return null},[eT,eL,ez,s]),m=r.useCallback(function(e){var t=s(e),n=eN.map(function(e){return e.value});null!==eT&&n.push(g(e)),n.push(eL,ez);var r=n[0],a=ez-eL;return n.forEach(function(e){var n=Math.abs(t-e);n<=a&&(r=e,a=n)}),r},[eL,ez,eN,eT,s,g]),v=function e(t,n,r){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unit";if("number"==typeof n){var a,i=t[r],o=i+n,c=[];eN.forEach(function(e){c.push(e.value)}),c.push(eL,ez),c.push(g(i));var u=n>0?1:-1;"unit"===s?c.push(g(i+u*eT)):c.push(g(o)),c=c.filter(function(e){return null!==e}).filter(function(e){return n<0?e<=i:e>=i}),"unit"===s&&(c=c.filter(function(e){return e!==i}));var d="unit"===s?i:o,h=Math.abs((a=c[0])-d);if(c.forEach(function(e){var t=Math.abs(e-d);t1){var f=(0,l.Z)(t);return f[r]=a,e(f,n-u,r,s)}return a}return"min"===n?eL:"max"===n?ez:void 0},b=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unit",s=e[n],a=v(e,t,n,r);return{value:a,changed:a!==s}},y=function(e){return null===eZ&&0===e||"number"==typeof eZ&&e3&&void 0!==arguments[3]?arguments[3]:"unit",a=e.map(m),i=a[r],o=v(a,t,r,s);if(a[r]=o,!1===n){var l=eZ||0;r>0&&a[r-1]!==i&&(a[r]=Math.max(a[r],a[r-1]+l)),r0;h-=1)for(var f=!0;y(a[h]-a[h-1])&&f;){var p=b(a,-1,h-1);a[h-1]=p.value,f=p.changed}for(var g=a.length-1;g>0;g-=1)for(var w=!0;y(a[g]-a[g-1])&&w;){var _=b(a,-1,g-1);a[g-1]=_.value,w=_.changed}for(var S=0;S=0?J+1:2;for(r=r.slice(0,a);r.length=0&&ex.current.focus(e)}e9(null)},[e8]);var e7=r.useMemo(function(){return(!eP||null!==eT)&&eP},[eP,eT]),te=(0,d.Z)(function(e,t){e3(e,t),null==K||K(eX(eV))}),tt=-1!==eQ;r.useEffect(function(){if(!tt){var e=eV.lastIndexOf(e0);ex.current.focus(e)}},[tt]);var tn=r.useMemo(function(){return(0,l.Z)(e2).sort(function(e,t){return e-t})},[e2]),tr=r.useMemo(function(){return ej?[tn[0],tn[tn.length-1]]:[eL,tn[0]]},[tn,ej,eL]),ts=(0,u.Z)(tr,2),ta=ts[0],ti=ts[1];r.useImperativeHandle(t,function(){return{focus:function(){ex.current.focus(0)},blur:function(){var e,t=document.activeElement;null!==(e=eR.current)&&void 0!==e&&e.contains(t)&&(null==t||t.blur())}}}),r.useEffect(function(){Z&&ex.current.focus(0)},[]);var to=r.useMemo(function(){return{min:eL,max:ez,direction:eC,disabled:I,keyboard:T,step:eT,included:ei,includedStart:ta,includedEnd:ti,range:ej,tabIndex:ey,ariaLabelForHandle:ew,ariaLabelledByForHandle:e_,ariaRequired:eS,ariaValueTextFormatterForHandle:ek,styles:M||{},classNames:R||{}}},[eL,ez,eC,I,T,eT,ei,ta,ti,ej,ey,ew,e_,eS,ek,M,R]);return r.createElement(_.Provider,{value:to},r.createElement("div",{ref:eR,className:a()(S,k,(0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},"".concat(S,"-disabled"),I),"".concat(S,"-vertical"),es),"".concat(S,"-horizontal"),!es),"".concat(S,"-with-marks"),eN.length)),style:x,onMouseDown:function(e){e.preventDefault();var t,n=eR.current.getBoundingClientRect(),r=n.width,s=n.height,a=n.left,i=n.top,o=n.bottom,l=n.right,c=e.clientX,u=e.clientY;switch(eC){case"btt":t=(o-u)/s;break;case"ttb":t=(u-i)/s;break;case"rtl":t=(l-c)/r;break;default:t=(c-a)/r}e4(eB(eL+t*(ez-eL)),e)},id:j},r.createElement("div",{className:a()("".concat(S,"-rail"),null==R?void 0:R.rail),style:(0,i.Z)((0,i.Z)({},eu),null==M?void 0:M.rail)}),!1!==ev&&r.createElement(A,{prefixCls:S,style:el,values:eV,startPoint:eo,onStartMove:e7?te:void 0}),r.createElement(O,{prefixCls:S,marks:eN,dots:ep,style:ed,activeStyle:eh}),r.createElement(C,{ref:ex,prefixCls:S,style:ec,values:e2,draggingIndex:eQ,draggingDelete:e1,onStartMove:te,onOffsetChange:function(e,t){if(!I){var n=e$(eV,e,t);null==K||K(eX(eV)),eJ(n.values),e9(n.value)}},onFocus:N,onBlur:F,handleRender:eg,activeHandleRender:em,onChangeComplete:eG,onDelete:eO?function(e){if(!I&&eO&&!(eV.length<=eA)){var t=(0,l.Z)(eV);t.splice(e,1),null==K||K(eX(t)),eJ(t),ex.current.hideHelp(),ex.current.focus(Math.max(0,e-1))}}:void 0}),r.createElement(E,{prefixCls:S,marks:eN,onClick:e4})))}),Z=n(53346),N=n(86586);let F=(0,r.createContext)({});var q=n(28791),B=n(99981);let $=r.forwardRef((e,t)=>{let{open:n,draggingDelete:s,value:a}=e,i=(0,r.useRef)(null),o=n&&!s,l=(0,r.useRef)(null);function c(){Z.Z.cancel(l.current),l.current=null}return r.useEffect(()=>(o?l.current=(0,Z.Z)(()=>{var e;null===(e=i.current)||void 0===e||e.forceAlign(),l.current=null}):c(),c),[o,e.title,a]),r.createElement(B.Z,Object.assign({ref:(0,q.sQ)(i,t)},e,{open:o}))});var D=n(93463),H=n(54558),U=n(12918),W=n(99320),V=n(71140);let X=e=>{let{componentCls:t,antCls:n,controlSize:r,dotSize:s,marginFull:a,marginPart:i,colorFillContentHover:o,handleColorDisabled:l,calc:c,handleSize:u,handleSizeHover:d,handleActiveColor:h,handleActiveOutlineColor:f,handleLineWidth:p,handleLineWidthHover:g,motionDurationMid:m}=e;return{[t]:Object.assign(Object.assign({},(0,U.Wf)(e)),{position:"relative",height:r,margin:"".concat((0,D.bf)(i)," ").concat((0,D.bf)(a)),padding:0,cursor:"pointer",touchAction:"none","&-vertical":{margin:"".concat((0,D.bf)(a)," ").concat((0,D.bf)(i))},["".concat(t,"-rail")]:{position:"absolute",backgroundColor:e.railBg,borderRadius:e.borderRadiusXS,transition:"background-color ".concat(m)},["".concat(t,"-track,").concat(t,"-tracks")]:{position:"absolute",transition:"background-color ".concat(m)},["".concat(t,"-track")]:{backgroundColor:e.trackBg,borderRadius:e.borderRadiusXS},["".concat(t,"-track-draggable")]:{boxSizing:"content-box",backgroundClip:"content-box",border:"solid rgba(0,0,0,0)"},"&:hover":{["".concat(t,"-rail")]:{backgroundColor:e.railHoverBg},["".concat(t,"-track")]:{backgroundColor:e.trackHoverBg},["".concat(t,"-dot")]:{borderColor:o},["".concat(t,"-handle::after")]:{boxShadow:"0 0 0 ".concat((0,D.bf)(p)," ").concat(e.colorPrimaryBorderHover)},["".concat(t,"-dot-active")]:{borderColor:e.dotActiveBorderColor}},["".concat(t,"-handle")]:{position:"absolute",width:u,height:u,outline:"none",userSelect:"none","&-dragging-delete":{opacity:0},"&::before":{content:'""',position:"absolute",insetInlineStart:c(p).mul(-1).equal(),insetBlockStart:c(p).mul(-1).equal(),width:c(u).add(c(p).mul(2)).equal(),height:c(u).add(c(p).mul(2)).equal(),backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:u,height:u,backgroundColor:e.colorBgElevated,boxShadow:"0 0 0 ".concat((0,D.bf)(p)," ").concat(e.handleColor),outline:"0px solid transparent",borderRadius:"50%",cursor:"pointer",transition:"\n inset-inline-start ".concat(m,",\n inset-block-start ").concat(m,",\n width ").concat(m,",\n height ").concat(m,",\n box-shadow ").concat(m,",\n outline ").concat(m,"\n ")},"&:hover, &:active, &:focus":{"&::before":{insetInlineStart:c(d).sub(u).div(2).add(g).mul(-1).equal(),insetBlockStart:c(d).sub(u).div(2).add(g).mul(-1).equal(),width:c(d).add(c(g).mul(2)).equal(),height:c(d).add(c(g).mul(2)).equal()},"&::after":{boxShadow:"0 0 0 ".concat((0,D.bf)(g)," ").concat(h),outline:"6px solid ".concat(f),width:d,height:d,insetInlineStart:e.calc(u).sub(d).div(2).equal(),insetBlockStart:e.calc(u).sub(d).div(2).equal()}}},["&-lock ".concat(t,"-handle")]:{"&::before, &::after":{transition:"none"}},["".concat(t,"-mark")]:{position:"absolute",fontSize:e.fontSize},["".concat(t,"-mark-text")]:{position:"absolute",display:"inline-block",color:e.colorTextDescription,textAlign:"center",wordBreak:"keep-all",cursor:"pointer",userSelect:"none","&-active":{color:e.colorText}},["".concat(t,"-step")]:{position:"absolute",background:"transparent",pointerEvents:"none"},["".concat(t,"-dot")]:{position:"absolute",width:s,height:s,backgroundColor:e.colorBgElevated,border:"".concat((0,D.bf)(p)," solid ").concat(e.dotBorderColor),borderRadius:"50%",cursor:"pointer",transition:"border-color ".concat(e.motionDurationSlow),pointerEvents:"auto","&-active":{borderColor:e.dotActiveBorderColor}},["&".concat(t,"-disabled")]:{cursor:"not-allowed",["".concat(t,"-rail")]:{backgroundColor:"".concat(e.railBg," !important")},["".concat(t,"-track")]:{backgroundColor:"".concat(e.trackBgDisabled," !important")},["\n ".concat(t,"-dot\n ")]:{backgroundColor:e.colorBgElevated,borderColor:e.trackBgDisabled,boxShadow:"none",cursor:"not-allowed"},["".concat(t,"-handle::after")]:{backgroundColor:e.colorBgElevated,cursor:"not-allowed",width:u,height:u,boxShadow:"0 0 0 ".concat((0,D.bf)(p)," ").concat(l),insetInlineStart:0,insetBlockStart:0},["\n ".concat(t,"-mark-text,\n ").concat(t,"-dot\n ")]:{cursor:"not-allowed !important"}},["&-tooltip ".concat(n,"-tooltip-inner")]:{minWidth:"unset"}})}},J=(e,t)=>{let{componentCls:n,railSize:r,handleSize:s,dotSize:a,marginFull:i,calc:o}=e,l=t?"width":"height",c=t?"height":"width",u=t?"insetBlockStart":"insetInlineStart",d=t?"top":"insetInlineStart",h=o(r).mul(3).sub(s).div(2).equal(),f=o(s).sub(r).div(2).equal(),p=t?{borderWidth:"".concat((0,D.bf)(f)," 0"),transform:"translateY(".concat((0,D.bf)(o(f).mul(-1).equal()),")")}:{borderWidth:"0 ".concat((0,D.bf)(f)),transform:"translateX(".concat((0,D.bf)(e.calc(f).mul(-1).equal()),")")};return{[t?"paddingBlock":"paddingInline"]:r,[c]:o(r).mul(3).equal(),["".concat(n,"-rail")]:{[l]:"100%",[c]:r},["".concat(n,"-track,").concat(n,"-tracks")]:{[c]:r},["".concat(n,"-track-draggable")]:Object.assign({},p),["".concat(n,"-handle")]:{[u]:h},["".concat(n,"-mark")]:{insetInlineStart:0,top:0,[d]:o(r).mul(3).add(t?0:i).equal(),[l]:"100%"},["".concat(n,"-step")]:{insetInlineStart:0,top:0,[d]:r,[l]:"100%",[c]:r},["".concat(n,"-dot")]:{position:"absolute",[u]:o(r).sub(a).div(2).equal()}}},G=e=>{let{componentCls:t,marginPartWithMark:n}=e;return{["".concat(t,"-horizontal")]:Object.assign(Object.assign({},J(e,!0)),{["&".concat(t,"-with-marks")]:{marginBottom:n}})}},K=e=>{let{componentCls:t}=e;return{["".concat(t,"-vertical")]:Object.assign(Object.assign({},J(e,!1)),{height:"100%"})}};var Y=(0,W.I$)("Slider",e=>{let t=(0,V.IX)(e,{marginPart:e.calc(e.controlHeight).sub(e.controlSize).div(2).equal(),marginFull:e.calc(e.controlSize).div(2).equal(),marginPartWithMark:e.calc(e.controlHeightLG).sub(e.controlSize).equal()});return[X(t),G(t),K(t)]},e=>{let t=e.controlHeightLG/4,n=e.controlHeightSM/2,r=e.lineWidth+1,s=e.lineWidth+1.5,a=e.colorPrimary,i=new H.t(a).setA(.2).toRgbString();return{controlSize:t,railSize:4,handleSize:t,handleSizeHover:n,dotSize:8,handleLineWidth:r,handleLineWidthHover:s,railBg:e.colorFillTertiary,railHoverBg:e.colorFillSecondary,trackBg:e.colorPrimaryBorder,trackHoverBg:e.colorPrimaryBorderHover,handleColor:e.colorPrimaryBorder,handleActiveColor:a,handleActiveOutlineColor:i,handleColorDisabled:new H.t(e.colorTextDisabled).onBackground(e.colorBgContainer).toHexString(),dotBorderColor:e.colorBorderSecondary,dotActiveBorderColor:e.colorPrimaryBorder,trackBgDisabled:e.colorBgContainerDisabled}});function Q(){let[e,t]=r.useState(!1),n=r.useRef(null),s=()=>{Z.Z.cancel(n.current)};return r.useEffect(()=>s,[]),[e,e=>{s(),e?t(e):n.current=(0,Z.Z)(()=>{t(e)})}]}var ee=n(71744),et=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(n[r[s]]=e[r[s]]);return n},en=r.forwardRef((e,t)=>{let{prefixCls:n,range:s,className:i,rootClassName:o,style:l,disabled:c,tooltipPrefixCls:u,tipFormatter:d,tooltipVisible:h,getTooltipPopupContainer:f,tooltipPlacement:p,tooltip:g={},onChangeComplete:m,classNames:v,styles:b}=e,y=et(e,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement","tooltip","onChangeComplete","classNames","styles"]),{vertical:w}=e,{getPrefixCls:_,direction:S,className:k,style:x,classNames:R,styles:C,getPopupContainer:M}=(0,ee.dj)("slider"),E=r.useContext(N.Z),{handleRender:j,direction:O}=r.useContext(F),P="rtl"===(O||S),[A,I]=Q(),[L,z]=Q(),q=Object.assign({},g),{open:B,placement:D,getPopupContainer:H,prefixCls:U,formatter:W}=q,V=null!=B?B:h,X=(A||L)&&!1!==V,J=W||null===W?W:d||null===d?d:e=>"number"==typeof e?e.toString():"",[G,K]=Q(),en=(e,t)=>e||(t?P?"left":"right":"top"),er=_("slider",n),[es,ea,ei]=Y(er),eo=a()(i,k,R.root,null==v?void 0:v.root,o,{["".concat(er,"-rtl")]:P,["".concat(er,"-lock")]:G},ea,ei);P&&!y.vertical&&(y.reverse=!y.reverse),r.useEffect(()=>{let e=()=>{(0,Z.Z)(()=>{z(!1)},1)};return document.addEventListener("mouseup",e),()=>{document.removeEventListener("mouseup",e)}},[]);let el=s&&!V,ec=j||((e,t)=>{let{index:n}=t,s=e.props;function a(e,t,n){var r,a;n&&(null===(r=y[e])||void 0===r||r.call(y,t)),null===(a=s[e])||void 0===a||a.call(s,t)}let i=Object.assign(Object.assign({},s),{onMouseEnter:e=>{I(!0),a("onMouseEnter",e)},onMouseLeave:e=>{I(!1),a("onMouseLeave",e)},onMouseDown:e=>{z(!0),K(!0),a("onMouseDown",e)},onFocus:e=>{var t;z(!0),null===(t=y.onFocus)||void 0===t||t.call(y,e),a("onFocus",e,!0)},onBlur:e=>{var t;z(!1),null===(t=y.onBlur)||void 0===t||t.call(y,e),a("onBlur",e,!0)}}),o=r.cloneElement(e,i),l=(!!V||X)&&null!==J;return el?o:r.createElement($,Object.assign({},q,{prefixCls:_("tooltip",null!=U?U:u),title:J?J(t.value):"",value:t.value,open:l,placement:en(null!=D?D:p,w),key:n,classNames:{root:"".concat(er,"-tooltip")},getPopupContainer:H||f||M}),o)}),eu=el?(e,t)=>{let n=r.cloneElement(e,{style:Object.assign(Object.assign({},e.props.style),{visibility:"hidden"})});return r.createElement($,Object.assign({},q,{prefixCls:_("tooltip",null!=U?U:u),title:J?J(t.value):"",open:null!==J&&X,placement:en(null!=D?D:p,w),key:"tooltip",classNames:{root:"".concat(er,"-tooltip")},getPopupContainer:H||f||M,draggingDelete:t.draggingDelete}),n)}:void 0,ed=Object.assign(Object.assign(Object.assign(Object.assign({},C.root),x),null==b?void 0:b.root),l),eh=Object.assign(Object.assign({},C.tracks),null==b?void 0:b.tracks),ef=a()(R.tracks,null==v?void 0:v.tracks);return es(r.createElement(T,Object.assign({},y,{classNames:Object.assign({handle:a()(R.handle,null==v?void 0:v.handle),rail:a()(R.rail,null==v?void 0:v.rail),track:a()(R.track,null==v?void 0:v.track)},ef?{tracks:ef}:{}),styles:Object.assign({handle:Object.assign(Object.assign({},C.handle),null==b?void 0:b.handle),rail:Object.assign(Object.assign({},C.rail),null==b?void 0:b.rail),track:Object.assign(Object.assign({},C.track),null==b?void 0:b.track)},Object.keys(eh).length?{tracks:eh}:{}),step:y.step,range:s,className:eo,style:ed,disabled:null!=c?c:E,ref:t,prefixCls:er,handleRender:ec,activeHandleRender:eu,onChangeComplete:e=>{null==m||m(e),K(!1)}})))})},33145:function(e,t,n){"use strict";n.d(t,{default:function(){return s.a}});var r=n(48461),s=n.n(r)},65878:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let r=n(47043),s=n(53099),a=n(57437),i=s._(n(2265)),o=r._(n(54887)),l=r._(n(38293)),c=n(55346),u=n(90128),d=n(62589);n(31765);let h=n(25523),f=r._(n(5084)),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,n,r,s,a,i){let o=null==e?void 0:e.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),null==n?void 0:n.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,s=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}(null==r?void 0:r.current)&&r.current(e)}}))}function m(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,i.forwardRef)((e,t)=>{let{src:n,srcSet:r,sizes:s,height:o,width:l,decoding:c,className:u,style:d,fetchPriority:h,placeholder:f,loading:p,unoptimized:v,fill:b,onLoadRef:y,onLoadingCompleteRef:w,setBlurComplete:_,setShowAltText:S,sizesInput:k,onLoad:x,onError:R,...C}=e;return(0,a.jsx)("img",{...C,...m(h),loading:p,width:l,height:o,decoding:c,"data-nimg":b?"fill":"1",className:u,style:d,sizes:s,srcSet:r,src:n,ref:(0,i.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(R&&(e.src=e.src),e.complete&&g(e,f,y,w,_,v,k))},[n,f,y,w,_,R,v,k,t]),onLoad:e=>{g(e.currentTarget,f,y,w,_,v,k)},onError:e=>{S(!0),"empty"!==f&&_(!0),R&&R(e)}})});function b(e){let{isAppRouter:t,imgAttributes:n}=e,r={as:"image",imageSrcSet:n.srcSet,imageSizes:n.sizes,crossOrigin:n.crossOrigin,referrerPolicy:n.referrerPolicy,...m(n.fetchPriority)};return t&&o.default.preload?(o.default.preload(n.src,r),null):(0,a.jsx)(l.default,{children:(0,a.jsx)("link",{rel:"preload",href:n.srcSet?void 0:n.src,...r},"__nimg-"+n.src+n.srcSet+n.sizes)})}let y=(0,i.forwardRef)((e,t)=>{let n=(0,i.useContext)(h.RouterContext),r=(0,i.useContext)(d.ImageConfigContext),s=(0,i.useMemo)(()=>{var e;let t=p||r||u.imageConfigDefault,n=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),s=t.deviceSizes.sort((e,t)=>e-t),a=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:n,deviceSizes:s,qualities:a}},[r]),{onLoad:o,onLoadingComplete:l}=e,g=(0,i.useRef)(o);(0,i.useEffect)(()=>{g.current=o},[o]);let m=(0,i.useRef)(l);(0,i.useEffect)(()=>{m.current=l},[l]);let[y,w]=(0,i.useState)(!1),[_,S]=(0,i.useState)(!1),{props:k,meta:x}=(0,c.getImgProps)(e,{defaultLoader:f.default,imgConf:s,blurComplete:y,showAltText:_});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v,{...k,unoptimized:x.unoptimized,placeholder:x.placeholder,fill:x.fill,onLoadRef:g,onLoadingCompleteRef:m,setBlurComplete:w,setShowAltText:S,sizesInput:e.sizes,ref:t}),x.priority?(0,a.jsx)(b,{isAppRouter:!n,imgAttributes:k}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24601:function(){},91436:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext({})},23964:function(e,t){"use strict";function n(e){let{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return n}})},55346:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return o}}),n(31765);let r=n(96496),s=n(90128);function a(e){return void 0!==e.default}function i(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function o(e,t){var n,o;let l,c,u,{src:d,sizes:h,unoptimized:f=!1,priority:p=!1,loading:g,className:m,quality:v,width:b,height:y,fill:w=!1,style:_,overrideSrc:S,onLoad:k,onLoadingComplete:x,placeholder:R="empty",blurDataURL:C,fetchPriority:M,decoding:E="async",layout:j,objectFit:O,objectPosition:P,lazyBoundary:A,lazyRoot:I,...L}=e,{imgConf:z,showAltText:T,blurComplete:Z,defaultLoader:N}=t,F=z||s.imageConfigDefault;if("allSizes"in F)l=F;else{let e=[...F.deviceSizes,...F.imageSizes].sort((e,t)=>e-t),t=F.deviceSizes.sort((e,t)=>e-t),r=null==(n=F.qualities)?void 0:n.sort((e,t)=>e-t);l={...F,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===N)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let q=L.loader||N;delete L.loader,delete L.srcSet;let B="__next_img_default"in q;if(B){if("custom"===l.loader)throw Error('Image with src "'+d+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=q;q=t=>{let{config:n,...r}=t;return e(r)}}if(j){"fill"===j&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[j];e&&(_={..._,...e});let t={responsive:"100vw",fill:"100vw"}[j];t&&!h&&(h=t)}let $="",D=i(b),H=i(y);if("object"==typeof(o=d)&&(a(o)||void 0!==o.src)){let e=a(d)?d.default:d;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(c=e.blurWidth,u=e.blurHeight,C=C||e.blurDataURL,$=e.src,!w){if(D||H){if(D&&!H){let t=D/e.width;H=Math.round(e.height*t)}else if(!D&&H){let t=H/e.height;D=Math.round(e.width*t)}}else D=e.width,H=e.height}}let U=!p&&("lazy"===g||void 0===g);(!(d="string"==typeof d?d:$)||d.startsWith("data:")||d.startsWith("blob:"))&&(f=!0,U=!1),l.unoptimized&&(f=!0),B&&d.endsWith(".svg")&&!l.dangerouslyAllowSVG&&(f=!0),p&&(M="high");let W=i(v),V=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:P}:{},T?{}:{color:"transparent"},_),X=Z||"empty"===R?null:"blur"===R?'url("data:image/svg+xml;charset=utf-8,'+(0,r.getImageBlurSvg)({widthInt:D,heightInt:H,blurWidth:c,blurHeight:u,blurDataURL:C||"",objectFit:V.objectFit})+'")':'url("'+R+'")',J=X?{backgroundSize:V.objectFit||"cover",backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},G=function(e){let{config:t,src:n,unoptimized:r,width:s,quality:a,sizes:i,loader:o}=e;if(r)return{src:n,srcSet:void 0,sizes:void 0};let{widths:l,kind:c}=function(e,t,n){let{deviceSizes:r,allSizes:s}=e;if(n){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let r;r=e.exec(n);r)t.push(parseInt(r[2]));if(t.length){let e=.01*Math.min(...t);return{widths:s.filter(t=>t>=r[0]*e),kind:"w"}}return{widths:s,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>s.find(t=>t>=e)||s[s.length-1]))],kind:"x"}}(t,s,i),u=l.length-1;return{sizes:i||"w"!==c?i:"100vw",srcSet:l.map((e,r)=>o({config:t,src:n,quality:a,width:e})+" "+("w"===c?e:r+1)+c).join(", "),src:o({config:t,src:n,quality:a,width:l[u]})}}({config:l,src:d,unoptimized:f,width:D,quality:W,sizes:h,loader:q});return{props:{...L,loading:U?"lazy":g,fetchPriority:M,width:D,height:H,decoding:E,className:m,style:{...V,...J},sizes:G.sizes,srcSet:G.srcSet,src:S||G.src},meta:{unoptimized:f,priority:p,placeholder:R,fill:w}}}},38293:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return g},defaultHead:function(){return d}});let r=n(47043),s=n(53099),a=n(57437),i=s._(n(2265)),o=r._(n(17421)),l=n(91436),c=n(48701),u=n(23964);function d(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(31765);let f=["name","httpEquiv","charSet","itemProp"];function p(e,t){let{inAmpMode:n}=t;return e.reduce(h,[]).reverse().concat(d(n).reverse()).filter(function(){let e=new Set,t=new Set,n=new Set,r={};return s=>{let a=!0,i=!1;if(s.key&&"number"!=typeof s.key&&s.key.indexOf("$")>0){i=!0;let t=s.key.slice(s.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(s.type){case"title":case"base":t.has(s.type)?a=!1:t.add(s.type);break;case"meta":for(let e=0,t=f.length;e{let r=e.key||t;if(!n&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:r})})}let g=function(e){let{children:t}=e,n=(0,i.useContext)(l.AmpStateContext),r=(0,i.useContext)(c.HeadManagerContext);return(0,a.jsx)(o.default,{reduceComponentsToState:p,headManager:r,inAmpMode:(0,u.isInAmpMode)(n),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96496:function(e,t){"use strict";function n(e){let{widthInt:t,heightInt:n,blurWidth:r,blurHeight:s,blurDataURL:a,objectFit:i}=e,o=r?40*r:t,l=s?40*s:n,c=o&&l?"viewBox='0 0 "+o+" "+l+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(c?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},62589:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let r=n(47043)._(n(2265)),s=n(90128),a=r.default.createContext(s.imageConfigDefault)},90128:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{VALID_LOADERS:function(){return n},imageConfigDefault:function(){return r}});let n=["default","imgix","cloudinary","akamai","custom"],r={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},48461:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return o}});let r=n(47043),s=n(55346),a=n(65878),i=r._(n(5084));function o(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=a.Image},5084:function(e,t){"use strict";function n(e){var t;let{config:n,src:r,width:s,quality:a}=e,i=a||(null==(t=n.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75){}:r.useLayoutEffect,i=s?()=>{}:r.useEffect;function o(e){let{headManager:t,reduceComponentsToState:n}=e;function o(){if(t&&t.mountedInstances){let s=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(s,e))}}if(s){var l;null==t||null==(l=t.mountedInstances)||l.add(e.children),o()}return a(()=>{var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),()=>{var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),a(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},18975:function(e,t,n){"use strict";var r=n(40257);n(24601);var s=n(2265),a=s&&"object"==typeof s&&"default"in s?s:{default:s},i=void 0!==r&&r.env&&!0,o=function(e){return"[object String]"===Object.prototype.toString.call(e)},l=function(){function e(e){var t=void 0===e?{}:e,n=t.name,r=void 0===n?"stylesheet":n,s=t.optimizeForSpeed,a=void 0===s?i:s;c(o(r),"`name` must be a string"),this._name=r,this._deletedRulePlaceholder="#"+r+"-deleted-rule____{}",c("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var l="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=l?l.getAttribute("content"):null}var t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(i||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,n){return"number"==typeof n?e._serverSheet.cssRules[n]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),n},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t>>0},d={};function h(e,t){if(!t)return"jsx-"+e;var n=String(t),r=e+n;return d[r]||(d[r]="jsx-"+u(e+"-"+n)),d[r]}function f(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var n=e+t;return d[n]||(d[n]=t.replace(/__jsx-style-dynamic-selector/g,e)),d[n]}var p=function(){function e(e){var t=void 0===e?{}:e,n=t.styleSheet,r=void 0===n?null:n,s=t.optimizeForSpeed,a=void 0!==s&&s;this._sheet=r||new l({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),r&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var n=this.getIdAndRules(e),r=n.styleId,s=n.rules;if(r in this._instancesCounts){this._instancesCounts[r]+=1;return}var a=s.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[r]=a,this._instancesCounts[r]=1},t.remove=function(e){var t=this,n=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(n in this._instancesCounts,"styleId: `"+n+"` not found"),this._instancesCounts[n]-=1,this._instancesCounts[n]<1){var r=this._fromServer&&this._fromServer[n];r?(r.parentNode.removeChild(r),delete this._fromServer[n]):(this._indices[n].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[n]),delete this._instancesCounts[n]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],n=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return n[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,n;return t=this.cssRules(),void 0===(n=e)&&(n={}),t.map(function(e){var t=e[0],r=e[1];return a.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:n.nonce?n.nonce:void 0,dangerouslySetInnerHTML:{__html:r}})})},t.getIdAndRules=function(e){var t=e.children,n=e.dynamic,r=e.id;if(n){var s=h(r,n);return{styleId:s,rules:Array.isArray(t)?t.map(function(e){return f(s,e)}):[f(s,t)]}}return{styleId:h(r),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),g=s.createContext(null);g.displayName="StyleSheetContext";var m=a.default.useInsertionEffect||a.default.useLayoutEffect,v="undefined"!=typeof window?new p:void 0;function b(e){var t=v||s.useContext(g);return t&&("undefined"==typeof window?t.add(e):m(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}b.dynamic=function(e){return e.map(function(e){return h(e[0],e[1])}).join(" ")},t.style=b},29:function(e,t,n){"use strict";e.exports=n(18975).style},85498:function(e,t,n){"use strict";var r,s,a,i,o,l,c,u,d,h,f,p,g,m,v,b,y,w,_,S,k,x,R,C,M,E,j,O,P,A,I,L,z,T,Z,N,F,q,B,$,D,H,U,W,V,X,J,G,K;let Y,Q,ee;function et(e,t,n,r,s){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!s)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n}function en(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}n.d(t,{ZP:function(){return tB}});let er=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return er=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(+e^n()&15>>+e/4).toString(16))};function es(e){return"object"==typeof e&&null!==e&&("name"in e&&"AbortError"===e.name||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}let ea=e=>{if(e instanceof Error)return e;if("object"==typeof e&&null!==e){try{if("[object Error]"===Object.prototype.toString.call(e)){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};class ei extends Error{}class eo extends ei{constructor(e,t,n,r){super(`${eo.makeMessage(e,t,n)}`),this.status=e,this.headers=r,this.requestID=r?.get("request-id"),this.error=t}static makeMessage(e,t,n){let r=t?.message?"string"==typeof t.message?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,t,n,r){return e&&r?400===e?new ed(e,t,n,r):401===e?new eh(e,t,n,r):403===e?new ef(e,t,n,r):404===e?new ep(e,t,n,r):409===e?new eg(e,t,n,r):422===e?new em(e,t,n,r):429===e?new ev(e,t,n,r):e>=500?new eb(e,t,n,r):new eo(e,t,n,r):new ec({message:n,cause:ea(t)})}}class el extends eo{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class ec extends eo{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class eu extends ec{constructor({message:e}={}){super({message:e??"Request timed out."})}}class ed extends eo{}class eh extends eo{}class ef extends eo{}class ep extends eo{}class eg extends eo{}class em extends eo{}class ev extends eo{}class eb extends eo{}let ey=/^[a-z][a-z0-9+.-]*:/i,ew=e=>ey.test(e);function e_(e){return"object"!=typeof e?{}:e??{}}let eS=(e,t)=>{if("number"!=typeof t||!Number.isInteger(t))throw new ei(`${e} must be an integer`);if(t<0)throw new ei(`${e} must be a positive integer`);return t},ek=e=>{try{return JSON.parse(e)}catch(e){return}},ex=e=>new Promise(t=>setTimeout(t,e)),eR={off:0,error:200,warn:300,info:400,debug:500},eC=(e,t,n)=>{if(e){if(Object.prototype.hasOwnProperty.call(eR,e))return e;eP(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(eR))}`)}};function eM(){}function eE(e,t,n){return!t||eR[e]>eR[n]?eM:t[e].bind(t)}let ej={error:eM,warn:eM,info:eM,debug:eM},eO=new WeakMap;function eP(e){let t=e.logger,n=e.logLevel??"off";if(!t)return ej;let r=eO.get(t);if(r&&r[0]===n)return r[1];let s={error:eE("error",t,n),warn:eE("warn",t,n),info:eE("info",t,n),debug:eE("debug",t,n)};return eO.set(t,[n,s]),s}let eA=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,"x-api-key"===e.toLowerCase()||"authorization"===e.toLowerCase()||"cookie"===e.toLowerCase()||"set-cookie"===e.toLowerCase()?"***":t]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),eI="0.54.0",eL=()=>"undefined"!=typeof window&&void 0!==window.document&&"undefined"!=typeof navigator,ez=()=>{let e="undefined"!=typeof Deno&&null!=Deno.build?"deno":"undefined"!=typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===e)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":eZ(Deno.build.os),"X-Stainless-Arch":eT(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===e)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":eZ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":eT(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:e,pattern:t}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n){let t=n[1]||0,r=n[2]||0,s=n[3]||0;return{browser:e,version:`${t}.${r}.${s}`}}}return null}();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eI,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}},eT=e=>"x32"===e?"x32":"x86_64"===e||"x64"===e?"x64":"arm"===e?"arm":"aarch64"===e||"arm64"===e?"arm64":e?`other:${e}`:"unknown",eZ=e=>(e=e.toLowerCase()).includes("ios")?"iOS":"android"===e?"Android":"darwin"===e?"MacOS":"win32"===e?"Windows":"freebsd"===e?"FreeBSD":"openbsd"===e?"OpenBSD":"linux"===e?"Linux":e?`Other:${e}`:"Unknown",eN=()=>Y??(Y=ez());function eF(...e){let t=globalThis.ReadableStream;if(void 0===t)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function eq(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return eF({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function eB(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function e$(e){if(null===e||"object"!=typeof e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}let eD=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)});function eH(e){let t;return(Q??(Q=(t=new globalThis.TextEncoder).encode.bind(t)))(e)}function eU(e){let t;return(ee??(ee=(t=new globalThis.TextDecoder).decode.bind(t)))(e)}class eW{constructor(){r.set(this,void 0),s.set(this,void 0),et(this,r,new Uint8Array,"f"),et(this,s,null,"f")}decode(e){let t;if(null==e)return[];let n=e instanceof ArrayBuffer?new Uint8Array(e):"string"==typeof e?eH(e):e;et(this,r,function(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}([en(this,r,"f"),n]),"f");let a=[];for(;null!=(t=function(e,t){for(let n=t??0;n({next:()=>{if(0===r.length){let r=n.next();e.push(r),t.push(r)}return r.shift()}});return[new eV(()=>r(e),this.controller),new eV(()=>r(t),this.controller)]}toReadableStream(){let e;let t=this;return eF({async start(){e=t[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:r}=await e.next();if(r)return t.close();let s=eH(JSON.stringify(n)+"\n");t.enqueue(s)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}}async function*eX(e,t){if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new ei("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new ei("Attempted to iterate over a response with no body")}let n=new eG,r=new eW;for await(let t of eJ(eB(e.body)))for(let e of r.decode(t)){let t=n.decode(e);t&&(yield t)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*eJ(e){let t=new Uint8Array;for await(let n of e){let e;if(null==n)continue;let r=n instanceof ArrayBuffer?new Uint8Array(n):"string"==typeof n?eH(n):n,s=new Uint8Array(t.length+r.length);for(s.set(t),s.set(r,t.length),t=s;-1!==(e=function(e){for(let t=0;t0&&(yield t)}class eG{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,n,r]=function(e,t){let n=e.indexOf(":");return -1!==n?[e.substring(0,n),":",e.substring(n+t.length)]:[e,"",""]}(e,":");return r.startsWith(" ")&&(r=r.substring(1)),"event"===t?this.event=r:"data"===t&&this.data.push(r),null}}async function eK(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:s,startTime:a}=t,i=await (async()=>{if(t.options.stream)return(eP(e).debug("response",n.status,n.url,n.headers,n.body),t.options.__streamClass)?t.options.__streamClass.fromSSEResponse(n,t.controller):eV.fromSSEResponse(n,t.controller);if(204===n.status)return null;if(t.options.__binaryResponse)return n;let r=n.headers.get("content-type"),s=r?.split(";")[0]?.trim();return s?.includes("application/json")||s?.endsWith("+json")?eY(await n.json(),n):await n.text()})();return eP(e).debug(`[${r}] response parsed`,eA({retryOfRequestLogID:s,url:n.url,status:n.status,body:i,durationMs:Date.now()-a})),i}function eY(e,t){return!e||"object"!=typeof e||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("request-id"),enumerable:!1})}class eQ extends Promise{constructor(e,t,n=eK){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,a.set(this,void 0),et(this,a,e,"f")}_thenUnwrap(e){return new eQ(en(this,a,"f"),this.responsePromise,async(t,n)=>eY(e(await this.parseResponse(t,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(en(this,a,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}a=new WeakMap;class e0{constructor(e,t,n,r){i.set(this,void 0),et(this,i,e,"f"),this.options=r,this.response=t,this.body=n}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new ei("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await en(this,i,"f").requestAPIList(this.constructor,e)}async *iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async *[(i=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}}class e1 extends eQ{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await eK(e,t),t.options))}async *[Symbol.asyncIterator](){for await(let e of(await this))yield e}}class e2 extends e0{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1,this.first_id=n.first_id||null,this.last_id=n.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let e=this.first_id;return e?{...this.options,query:{...e_(this.options.query),before_id:e}}:null}let e=this.last_id;return e?{...this.options,query:{...e_(this.options.query),after_id:e}}:null}}let e3=()=>{if("undefined"==typeof File){let{process:e}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof e?.versions?.node&&20>parseInt(e.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function e4(e,t,n){return e3(),new File(e,t??"unknown_file",n)}function e6(e){return("object"==typeof e&&null!==e&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}let e5=e=>null!=e&&"object"==typeof e&&"function"==typeof e[Symbol.asyncIterator],e8=async(e,t)=>({...e,body:await e7(e.body,t)}),e9=new WeakMap,e7=async(e,t)=>{if(!await function(e){let t="function"==typeof e?e:e.fetch,n=e9.get(t);if(n)return n;let r=(async()=>{try{let e="Response"in t?t.Response:(await t("data:,")).constructor,n=new FormData;if(n.toString()===await new e(n).text())return!1;return!0}catch{return!0}})();return e9.set(t,r),r}(t))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([e,t])=>tr(n,e,t))),n},te=e=>e instanceof Blob&&"name"in e,tt=e=>"object"==typeof e&&null!==e&&(e instanceof Response||e5(e)||te(e)),tn=e=>{if(tt(e))return!0;if(Array.isArray(e))return e.some(tn);if(e&&"object"==typeof e){for(let t in e)if(tn(e[t]))return!0}return!1},tr=async(e,t,n)=>{if(void 0!==n){if(null==n)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof n||"number"==typeof n||"boolean"==typeof n)e.append(t,String(n));else if(n instanceof Response){let r={},s=n.headers.get("Content-Type");s&&(r={type:s}),e.append(t,e4([await n.blob()],e6(n),r))}else if(e5(n))e.append(t,e4([await new Response(eq(n)).blob()],e6(n)));else if(te(n))e.append(t,e4([n],e6(n),{type:n.type}));else if(Array.isArray(n))await Promise.all(n.map(n=>tr(e,t+"[]",n)));else if("object"==typeof n)await Promise.all(Object.entries(n).map(([n,r])=>tr(e,`${t}[${n}]`,r)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},ts=e=>null!=e&&"object"==typeof e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.text&&"function"==typeof e.slice&&"function"==typeof e.arrayBuffer,ta=e=>null!=e&&"object"==typeof e&&"string"==typeof e.name&&"number"==typeof e.lastModified&&ts(e),ti=e=>null!=e&&"object"==typeof e&&"string"==typeof e.url&&"function"==typeof e.blob;async function to(e,t,n){if(e3(),e=await e,t||(t=e6(e)),ta(e))return e instanceof File&&null==t&&null==n?e:e4([await e.arrayBuffer()],t??e.name,{type:e.type,lastModified:e.lastModified,...n});if(ti(e)){let r=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),e4(await tl(r),t,n)}let r=await tl(e);if(!n?.type){let e=r.find(e=>"object"==typeof e&&"type"in e&&e.type);"string"==typeof e&&(n={...n,type:e})}return e4(r,t,n)}async function tl(e){let t=[];if("string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(ts(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(e5(e))for await(let n of e)t.push(...await tl(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:""}${function(e){if("object"!=typeof e||null===e)return"";let t=Object.getOwnPropertyNames(e);return`; props: [${t.map(e=>`"${e}"`).join(", ")}]`}(e)}`)}return t}class tc{constructor(e){this._client=e}}let tu=Symbol.for("brand.privateNullableHeaders"),td=Array.isArray,th=e=>{let t=new Headers,n=new Set;for(let r of e){let e=new Set;for(let[s,a]of function*(e){let t;if(!e)return;if(tu in e){let{values:t,nulls:n}=e;for(let e of(yield*t.entries(),n))yield[e,null];return}let n=!1;for(let r of(e instanceof Headers?t=e.entries():td(e)?t=e:(n=!0,t=Object.entries(e??{})),t)){let e=r[0];if("string"!=typeof e)throw TypeError("expected header name to be a string");let t=td(r[1])?r[1]:[r[1]],s=!1;for(let r of t)void 0!==r&&(n&&!s&&(s=!0,yield[e,null]),yield[e,r])}}(r)){let r=s.toLowerCase();e.has(r)||(t.delete(s),e.add(r)),null===a?(t.delete(s),n.add(r)):(t.append(s,a),n.delete(r))}}return{[tu]:!0,values:t,nulls:n}};function tf(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let tp=((e=tf)=>function(t,...n){let r;if(1===t.length)return t[0];let s=!1,a=t.reduce((t,r,a)=>(/[?#]/.test(r)&&(s=!0),t+r+(a===n.length?"":(s?encodeURIComponent:e)(String(n[a])))),""),i=a.split(/[?#]/,1)[0],o=[],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(r=l.exec(i));)o.push({start:r.index,length:r[0].length});if(o.length>0){let e=0,t=o.reduce((t,n)=>{let r=" ".repeat(n.start-e),s="^".repeat(n.length);return e=n.start+n.length,t+r+s},"");throw new ei(`Path parameters result in path with invalid segments: +${a} +${t}`)}return a})(tf);class tg extends tc{list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/files",e2,{query:r,...t,headers:th([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(tp`/v1/files/${e}`,{...n,headers:th([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},n?.headers])})}download(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/files/${e}/content`,{...n,headers:th([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/files/${e}`,{...n,headers:th([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},n?.headers])})}upload(e,t){let{betas:n,...r}=e;return this._client.post("/v1/files",e8({body:r,...t,headers:th([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},t?.headers])},this._client))}}class tm extends tc{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/models/${e}?beta=true`,{...n,headers:th([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/models?beta=true",e2,{query:r,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers])})}}class tv{constructor(e,t){this.iterator=e,this.controller=t}async *decoder(){let e=new eW;for await(let t of this.iterator)for(let n of e.decode(t))yield JSON.parse(n);for(let t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(e,t){if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new ei("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new ei("Attempted to iterate over a response with no body")}return new tv(eB(e.body),t)}}class tb extends tc{create(e,t){let{betas:n,...r}=e;return this._client.post("/v1/messages/batches?beta=true",{body:r,...t,headers:th([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/messages/batches/${e}?beta=true`,{...n,headers:th([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/messages/batches?beta=true",e2,{query:r,...t,headers:th([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(tp`/v1/messages/batches/${e}?beta=true`,{...n,headers:th([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},n?.headers])})}cancel(e,t={},n){let{betas:r}=t??{};return this._client.post(tp`/v1/messages/batches/${e}/cancel?beta=true`,{...n,headers:th([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},n?.headers])})}async results(e,t={},n){let r=await this.retrieve(e);if(!r.results_url)throw new ei(`No batch \`results_url\`; Has it finished processing? ${r.processing_status} - ${r.id}`);let{betas:s}=t??{};return this._client.get(r.results_url,{...n,headers:th([{"anthropic-beta":[...s??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},n?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>tv.fromResponse(t.response,t.controller))}}let ty=e=>{let t=0,n=[];for(;t{if(0===e.length)return e;let t=e[e.length-1];switch(t.type){case"separator":return tw(e=e.slice(0,e.length-1));case"number":let n=t.value[t.value.length-1];if("."===n||"-"===n)return tw(e=e.slice(0,e.length-1));case"string":let r=e[e.length-2];if(r?.type==="delimiter"||r?.type==="brace"&&"{"===r.value)return tw(e=e.slice(0,e.length-1));break;case"delimiter":return tw(e=e.slice(0,e.length-1))}return e},t_=e=>{let t=[];return e.map(e=>{"brace"===e.type&&("{"===e.value?t.push("}"):t.splice(t.lastIndexOf("}"),1)),"paren"===e.type&&("["===e.value?t.push("]"):t.splice(t.lastIndexOf("]"),1))}),t.length>0&&t.reverse().map(t=>{"}"===t?e.push({type:"brace",value:"}"}):"]"===t&&e.push({type:"paren",value:"]"})}),e},tS=e=>{let t="";return e.map(e=>{"string"===e.type?t+='"'+e.value+'"':t+=e.value}),t},tk=e=>JSON.parse(tS(t_(tw(ty(e))))),tx="__json_buf";function tR(e){return"tool_use"===e.type||"server_tool_use"===e.type||"mcp_tool_use"===e.type}class tC{constructor(){o.add(this),this.messages=[],this.receivedMessages=[],l.set(this,void 0),this.controller=new AbortController,c.set(this,void 0),u.set(this,()=>{}),d.set(this,()=>{}),h.set(this,void 0),f.set(this,()=>{}),p.set(this,()=>{}),g.set(this,{}),m.set(this,!1),v.set(this,!1),b.set(this,!1),y.set(this,!1),w.set(this,void 0),_.set(this,void 0),x.set(this,e=>{if(et(this,v,!0,"f"),es(e)&&(e=new el),e instanceof el)return et(this,b,!0,"f"),this._emit("abort",e);if(e instanceof ei)return this._emit("error",e);if(e instanceof Error){let t=new ei(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new ei(String(e)))}),et(this,c,new Promise((e,t)=>{et(this,u,e,"f"),et(this,d,t,"f")}),"f"),et(this,h,new Promise((e,t)=>{et(this,f,e,"f"),et(this,p,t,"f")}),"f"),en(this,c,"f").catch(()=>{}),en(this,h,"f").catch(()=>{})}get response(){return en(this,w,"f")}get request_id(){return en(this,_,"f")}async withResponse(){let e=await en(this,c,"f");if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new tC;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,n){let r=new tC;for(let e of t.messages)r._addMessageParam(e);return r._run(()=>r._createMessage(e,{...t,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},en(this,x,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),en(this,o,"m",R).call(this);let{response:s,data:a}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();for await(let e of(this._connected(s),a))en(this,o,"m",C).call(this,e);if(a.controller.signal?.aborted)throw new el;en(this,o,"m",M).call(this)}_connected(e){this.ended||(et(this,w,e,"f"),et(this,_,e?.headers.get("request-id"),"f"),en(this,u,"f").call(this,e),this._emit("connect"))}get ended(){return en(this,m,"f")}get errored(){return en(this,v,"f")}get aborted(){return en(this,b,"f")}abort(){this.controller.abort()}on(e,t){return(en(this,g,"f")[e]||(en(this,g,"f")[e]=[])).push({listener:t}),this}off(e,t){let n=en(this,g,"f")[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(en(this,g,"f")[e]||(en(this,g,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{et(this,y,!0,"f"),"error"!==e&&this.once("error",n),this.once(e,t)})}async done(){et(this,y,!0,"f"),await en(this,h,"f")}get currentMessage(){return en(this,l,"f")}async finalMessage(){return await this.done(),en(this,o,"m",S).call(this)}async finalText(){return await this.done(),en(this,o,"m",k).call(this)}_emit(e,...t){if(en(this,m,"f"))return;"end"===e&&(et(this,m,!0,"f"),en(this,f,"f").call(this));let n=en(this,g,"f")[e];if(n&&(en(this,g,"f")[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];en(this,y,"f")||n?.length||Promise.reject(e),en(this,d,"f").call(this,e),en(this,p,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];en(this,y,"f")||n?.length||Promise.reject(e),en(this,d,"f").call(this,e),en(this,p,"f").call(this,e),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",en(this,o,"m",S).call(this))}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),en(this,o,"m",R).call(this),this._connected(null);let r=eV.fromReadableStream(e,this.controller);for await(let e of r)en(this,o,"m",C).call(this,e);if(r.controller.signal?.aborted)throw new el;en(this,o,"m",M).call(this)}[(l=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakMap,h=new WeakMap,f=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,y=new WeakMap,w=new WeakMap,_=new WeakMap,x=new WeakMap,o=new WeakSet,S=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},k=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");let e=this.receivedMessages.at(-1).content.filter(e=>"text"===e.type).map(e=>e.text);if(0===e.length)throw new ei("stream ended without producing a content block with type=text");return e.join(" ")},R=function(){this.ended||et(this,l,void 0,"f")},C=function(e){if(this.ended)return;let t=en(this,o,"m",E).call(this,e);switch(this._emit("streamEvent",e,t),e.type){case"content_block_delta":{let n=t.content.at(-1);switch(e.delta.type){case"text_delta":"text"===n.type&&this._emit("text",e.delta.text,n.text||"");break;case"citations_delta":"text"===n.type&&this._emit("citation",e.delta.citation,n.citations??[]);break;case"input_json_delta":tR(n)&&n.input&&this._emit("inputJson",e.delta.partial_json,n.input);break;case"thinking_delta":"thinking"===n.type&&this._emit("thinking",e.delta.thinking,n.thinking);break;case"signature_delta":"thinking"===n.type&&this._emit("signature",n.signature);break;default:e.delta}break}case"message_stop":this._addMessageParam(t),this._addMessage(t,!0);break;case"content_block_stop":this._emit("contentBlock",t.content.at(-1));break;case"message_start":et(this,l,t,"f")}},M=function(){if(this.ended)throw new ei("stream has ended, this shouldn't happen");let e=en(this,l,"f");if(!e)throw new ei("request ended without sending any chunks");return et(this,l,void 0,"f"),e},E=function(e){let t=en(this,l,"f");if("message_start"===e.type){if(t)throw new ei(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new ei(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case"message_stop":case"content_block_stop":return t;case"message_delta":return t.container=e.delta.container,t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,null!=e.usage.input_tokens&&(t.usage.input_tokens=e.usage.input_tokens),null!=e.usage.cache_creation_input_tokens&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),null!=e.usage.cache_read_input_tokens&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),null!=e.usage.server_tool_use&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case"content_block_start":return t.content.push(e.content_block),t;case"content_block_delta":{let n=t.content.at(e.index);switch(e.delta.type){case"text_delta":n?.type==="text"&&(n.text+=e.delta.text);break;case"citations_delta":n?.type==="text"&&(n.citations??(n.citations=[]),n.citations.push(e.delta.citation));break;case"input_json_delta":if(n&&tR(n)){let t=n[tx]||"";if(Object.defineProperty(n,tx,{value:t+=e.delta.partial_json,enumerable:!1,writable:!0}),t)try{n.input=tk(t)}catch(n){let e=new ei(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${n}. JSON: ${t}`);en(this,x,"f").call(this,e)}}break;case"thinking_delta":n?.type==="thinking"&&(n.thinking+=e.delta.thinking);break;case"signature_delta":n?.type==="thinking"&&(n.signature=e.delta.signature);break;default:e.delta}return t}}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("streamEvent",n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on("end",()=>{for(let e of(n=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eV(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}let tM={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192},tE={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025"};class tj extends tc{constructor(){super(...arguments),this.batches=new tb(this._client)}create(e,t){let{betas:n,...r}=e;r.model in tE&&console.warn(`The model '${r.model}' is deprecated and will reach end-of-life on ${tE[r.model]} +Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let s=this._client._options.timeout;if(!r.stream&&null==s){let e=tM[r.model]??void 0;s=this._client.calculateNonstreamingTimeout(r.max_tokens,e)}return this._client.post("/v1/messages?beta=true",{body:r,timeout:s??6e5,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}stream(e,t){return tC.createMessage(this,e,t)}countTokens(e,t){let{betas:n,...r}=e;return this._client.post("/v1/messages/count_tokens?beta=true",{body:r,...t,headers:th([{"anthropic-beta":[...n??[],"token-counting-2024-11-01"].toString()},t?.headers])})}}tj.Batches=tb;class tO extends tc{constructor(){super(...arguments),this.models=new tm(this._client),this.messages=new tj(this._client),this.files=new tg(this._client)}}tO.Models=tm,tO.Messages=tj,tO.Files=tg;class tP extends tc{create(e,t){let{betas:n,...r}=e;return this._client.post("/v1/complete",{body:r,timeout:this._client._options.timeout??6e5,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}}let tA="__json_buf";function tI(e){return"tool_use"===e.type||"server_tool_use"===e.type}class tL{constructor(){j.add(this),this.messages=[],this.receivedMessages=[],O.set(this,void 0),this.controller=new AbortController,P.set(this,void 0),A.set(this,()=>{}),I.set(this,()=>{}),L.set(this,void 0),z.set(this,()=>{}),T.set(this,()=>{}),Z.set(this,{}),N.set(this,!1),F.set(this,!1),q.set(this,!1),B.set(this,!1),$.set(this,void 0),D.set(this,void 0),W.set(this,e=>{if(et(this,F,!0,"f"),es(e)&&(e=new el),e instanceof el)return et(this,q,!0,"f"),this._emit("abort",e);if(e instanceof ei)return this._emit("error",e);if(e instanceof Error){let t=new ei(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new ei(String(e)))}),et(this,P,new Promise((e,t)=>{et(this,A,e,"f"),et(this,I,t,"f")}),"f"),et(this,L,new Promise((e,t)=>{et(this,z,e,"f"),et(this,T,t,"f")}),"f"),en(this,P,"f").catch(()=>{}),en(this,L,"f").catch(()=>{})}get response(){return en(this,$,"f")}get request_id(){return en(this,D,"f")}async withResponse(){let e=await en(this,P,"f");if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new tL;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,n){let r=new tL;for(let e of t.messages)r._addMessageParam(e);return r._run(()=>r._createMessage(e,{...t,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},en(this,W,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),en(this,j,"m",V).call(this);let{response:s,data:a}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();for await(let e of(this._connected(s),a))en(this,j,"m",X).call(this,e);if(a.controller.signal?.aborted)throw new el;en(this,j,"m",J).call(this)}_connected(e){this.ended||(et(this,$,e,"f"),et(this,D,e?.headers.get("request-id"),"f"),en(this,A,"f").call(this,e),this._emit("connect"))}get ended(){return en(this,N,"f")}get errored(){return en(this,F,"f")}get aborted(){return en(this,q,"f")}abort(){this.controller.abort()}on(e,t){return(en(this,Z,"f")[e]||(en(this,Z,"f")[e]=[])).push({listener:t}),this}off(e,t){let n=en(this,Z,"f")[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(en(this,Z,"f")[e]||(en(this,Z,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{et(this,B,!0,"f"),"error"!==e&&this.once("error",n),this.once(e,t)})}async done(){et(this,B,!0,"f"),await en(this,L,"f")}get currentMessage(){return en(this,O,"f")}async finalMessage(){return await this.done(),en(this,j,"m",H).call(this)}async finalText(){return await this.done(),en(this,j,"m",U).call(this)}_emit(e,...t){if(en(this,N,"f"))return;"end"===e&&(et(this,N,!0,"f"),en(this,z,"f").call(this));let n=en(this,Z,"f")[e];if(n&&(en(this,Z,"f")[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];en(this,B,"f")||n?.length||Promise.reject(e),en(this,I,"f").call(this,e),en(this,T,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];en(this,B,"f")||n?.length||Promise.reject(e),en(this,I,"f").call(this,e),en(this,T,"f").call(this,e),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",en(this,j,"m",H).call(this))}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),en(this,j,"m",V).call(this),this._connected(null);let r=eV.fromReadableStream(e,this.controller);for await(let e of r)en(this,j,"m",X).call(this,e);if(r.controller.signal?.aborted)throw new el;en(this,j,"m",J).call(this)}[(O=new WeakMap,P=new WeakMap,A=new WeakMap,I=new WeakMap,L=new WeakMap,z=new WeakMap,T=new WeakMap,Z=new WeakMap,N=new WeakMap,F=new WeakMap,q=new WeakMap,B=new WeakMap,$=new WeakMap,D=new WeakMap,W=new WeakMap,j=new WeakSet,H=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},U=function(){if(0===this.receivedMessages.length)throw new ei("stream ended without producing a Message with role=assistant");let e=this.receivedMessages.at(-1).content.filter(e=>"text"===e.type).map(e=>e.text);if(0===e.length)throw new ei("stream ended without producing a content block with type=text");return e.join(" ")},V=function(){this.ended||et(this,O,void 0,"f")},X=function(e){if(this.ended)return;let t=en(this,j,"m",G).call(this,e);switch(this._emit("streamEvent",e,t),e.type){case"content_block_delta":{let n=t.content.at(-1);switch(e.delta.type){case"text_delta":"text"===n.type&&this._emit("text",e.delta.text,n.text||"");break;case"citations_delta":"text"===n.type&&this._emit("citation",e.delta.citation,n.citations??[]);break;case"input_json_delta":tI(n)&&n.input&&this._emit("inputJson",e.delta.partial_json,n.input);break;case"thinking_delta":"thinking"===n.type&&this._emit("thinking",e.delta.thinking,n.thinking);break;case"signature_delta":"thinking"===n.type&&this._emit("signature",n.signature);break;default:e.delta}break}case"message_stop":this._addMessageParam(t),this._addMessage(t,!0);break;case"content_block_stop":this._emit("contentBlock",t.content.at(-1));break;case"message_start":et(this,O,t,"f")}},J=function(){if(this.ended)throw new ei("stream has ended, this shouldn't happen");let e=en(this,O,"f");if(!e)throw new ei("request ended without sending any chunks");return et(this,O,void 0,"f"),e},G=function(e){let t=en(this,O,"f");if("message_start"===e.type){if(t)throw new ei(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new ei(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case"message_stop":case"content_block_stop":return t;case"message_delta":return t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,null!=e.usage.input_tokens&&(t.usage.input_tokens=e.usage.input_tokens),null!=e.usage.cache_creation_input_tokens&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),null!=e.usage.cache_read_input_tokens&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),null!=e.usage.server_tool_use&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case"content_block_start":return t.content.push(e.content_block),t;case"content_block_delta":{let n=t.content.at(e.index);switch(e.delta.type){case"text_delta":n?.type==="text"&&(n.text+=e.delta.text);break;case"citations_delta":n?.type==="text"&&(n.citations??(n.citations=[]),n.citations.push(e.delta.citation));break;case"input_json_delta":if(n&&tI(n)){let t=n[tA]||"";Object.defineProperty(n,tA,{value:t+=e.delta.partial_json,enumerable:!1,writable:!0}),t&&(n.input=tk(t))}break;case"thinking_delta":n?.type==="thinking"&&(n.thinking+=e.delta.thinking);break;case"signature_delta":n?.type==="thinking"&&(n.signature=e.delta.signature);break;default:e.delta}return t}}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("streamEvent",n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on("end",()=>{for(let e of(n=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(n=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eV(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}class tz extends tc{create(e,t){return this._client.post("/v1/messages/batches",{body:e,...t})}retrieve(e,t){return this._client.get(tp`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/v1/messages/batches",e2,{query:e,...t})}delete(e,t){return this._client.delete(tp`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(tp`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){let n=await this.retrieve(e);if(!n.results_url)throw new ei(`No batch \`results_url\`; Has it finished processing? ${n.processing_status} - ${n.id}`);return this._client.get(n.results_url,{...t,headers:th([{Accept:"application/binary"},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>tv.fromResponse(t.response,t.controller))}}class tT extends tc{constructor(){super(...arguments),this.batches=new tz(this._client)}create(e,t){e.model in tZ&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${tZ[e.model]} +Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let n=this._client._options.timeout;if(!e.stream&&null==n){let t=tM[e.model]??void 0;n=this._client.calculateNonstreamingTimeout(e.max_tokens,t)}return this._client.post("/v1/messages",{body:e,timeout:n??6e5,...t,stream:e.stream??!1})}stream(e,t){return tL.createMessage(this,e,t)}countTokens(e,t){return this._client.post("/v1/messages/count_tokens",{body:e,...t})}}let tZ={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025"};tT.Batches=tz;class tN extends tc{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(tp`/v1/models/${e}`,{...n,headers:th([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList("/v1/models",e2,{query:r,...t,headers:th([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},t?.headers])})}}let tF=e=>void 0!==globalThis.process?globalThis.process.env?.[e]?.trim()??void 0:void 0!==globalThis.Deno?globalThis.Deno.env?.get?.(e)?.trim():void 0;class tq{constructor({baseURL:e=tF("ANTHROPIC_BASE_URL"),apiKey:t=tF("ANTHROPIC_API_KEY")??null,authToken:n=tF("ANTHROPIC_AUTH_TOKEN")??null,...r}={}){K.set(this,void 0);let s={apiKey:t,authToken:n,...r,baseURL:e||"https://api.anthropic.com"};if(!s.dangerouslyAllowBrowser&&eL())throw new ei("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew Anthropic({ apiKey, dangerouslyAllowBrowser: true });\n");this.baseURL=s.baseURL,this.timeout=s.timeout??tB.DEFAULT_TIMEOUT,this.logger=s.logger??console;let a="warn";this.logLevel=a,this.logLevel=eC(s.logLevel,"ClientOptions.logLevel",this)??eC(tF("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??a,this.fetchOptions=s.fetchOptions,this.maxRetries=s.maxRetries??2,this.fetch=s.fetch??function(){if("undefined"!=typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}(),et(this,K,eD,"f"),this._options=s,this.apiKey=t,this.authToken=n}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(this.apiKey&&e.get("x-api-key")||t.has("x-api-key")||this.authToken&&e.get("authorization")||t.has("authorization")))throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}authHeaders(e){return th([this.apiKeyAuth(e),this.bearerAuth(e)])}apiKeyAuth(e){if(null!=this.apiKey)return th([{"X-Api-Key":this.apiKey}])}bearerAuth(e){if(null!=this.authToken)return th([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(e){return Object.entries(e).filter(([e,t])=>void 0!==t).map(([e,t])=>{if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(null===t)return`${encodeURIComponent(e)}=`;throw new ei(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${eI}`}defaultIdempotencyKey(){return`stainless-node-retry-${er()}`}makeStatusError(e,t,n,r){return eo.generate(e,t,n,r)}buildURL(e,t){let n=new URL(ew(e)?e:this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),r=this.defaultQuery();return!function(e){if(!e)return!0;for(let t in e)return!1;return!0}(r)&&(t={...r,...t}),"object"==typeof t&&t&&!Array.isArray(t)&&(n.search=this.stringifyQuery(t)),n.toString()}_calculateNonstreamingTimeout(e){if(3600*e/128e3>600)throw new ei("Streaming is strongly recommended for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 6e5}async prepareOptions(e){}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new eQ(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){let r=await e,s=r.maxRetries??this.maxRetries;null==t&&(t=s),await this.prepareOptions(r);let{req:a,url:i,timeout:o}=this.buildRequest(r,{retryCount:s-t});await this.prepareRequest(a,{url:i,options:r});let l="log_"+(16777216*Math.random()|0).toString(16).padStart(6,"0"),c=void 0===n?"":`, retryOf: ${n}`,u=Date.now();if(eP(this).debug(`[${l}] sending request`,eA({retryOfRequestLogID:n,method:r.method,url:i,options:r,headers:a.headers})),r.signal?.aborted)throw new el;let d=new AbortController,h=await this.fetchWithTimeout(i,a,o,d).catch(ea),f=Date.now();if(h instanceof Error){let e=`retrying, ${t} attempts remaining`;if(r.signal?.aborted)throw new el;let s=es(h)||/timed? ?out/i.test(String(h)+("cause"in h?String(h.cause):""));if(t)return eP(this).info(`[${l}] connection ${s?"timed out":"failed"} - ${e}`),eP(this).debug(`[${l}] connection ${s?"timed out":"failed"} (${e})`,eA({retryOfRequestLogID:n,url:i,durationMs:f-u,message:h.message})),this.retryRequest(r,t,n??l);if(eP(this).info(`[${l}] connection ${s?"timed out":"failed"} - error; no more retries left`),eP(this).debug(`[${l}] connection ${s?"timed out":"failed"} (error; no more retries left)`,eA({retryOfRequestLogID:n,url:i,durationMs:f-u,message:h.message})),s)throw new eu;throw new ec({cause:h})}let p=[...h.headers.entries()].filter(([e])=>"request-id"===e).map(([e,t])=>", "+e+": "+JSON.stringify(t)).join(""),g=`[${l}${c}${p}] ${a.method} ${i} ${h.ok?"succeeded":"failed"} with status ${h.status} in ${f-u}ms`;if(!h.ok){let e=this.shouldRetry(h);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await e$(h.body),eP(this).info(`${g} - ${e}`),eP(this).debug(`[${l}] response error (${e})`,eA({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,durationMs:f-u})),this.retryRequest(r,t,n??l,h.headers)}let s=e?"error; no more retries left":"error; not retryable";eP(this).info(`${g} - ${s}`);let a=await h.text().catch(e=>ea(e).message),i=ek(a),o=i?void 0:a;throw eP(this).debug(`[${l}] response error (${s})`,eA({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,message:o,durationMs:Date.now()-u})),this.makeStatusError(h.status,i,o,h.headers)}return eP(this).info(g),eP(this).debug(`[${l}] response start`,eA({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,durationMs:f-u})),{response:h,options:r,controller:d,requestLogID:l,retryOfRequestLogID:n,startTime:u}}getAPIList(e,t,n){return this.requestAPIList(t,{method:"get",path:e,...n})}requestAPIList(e,t){return new e1(this,this.makeRequest(t,null,void 0),e)}async fetchWithTimeout(e,t,n,r){let{signal:s,method:a,...i}=t||{};s&&s.addEventListener("abort",()=>r.abort());let o=setTimeout(()=>r.abort(),n),l=globalThis.ReadableStream&&i.body instanceof globalThis.ReadableStream||"object"==typeof i.body&&null!==i.body&&Symbol.asyncIterator in i.body,c={signal:r.signal,...l?{duplex:"half"}:{},method:"GET",...i};a&&(c.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,c)}finally{clearTimeout(o)}}shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||e.status>=500)}async retryRequest(e,t,n,r){let s;let a=r?.get("retry-after-ms");if(a){let e=parseFloat(a);Number.isNaN(e)||(s=e)}let i=r?.get("retry-after");if(i&&!s){let e=parseFloat(i);s=Number.isNaN(e)?Date.parse(i)-Date.now():1e3*e}if(!(s&&0<=s&&s<6e4)){let n=e.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(t,n)}return await ex(s),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}calculateNonstreamingTimeout(e,t){if(36e5*e/128e3>6e5||null!=t&&e>t)throw new ei("Streaming is strongly recommended for operations that may token longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 6e5}buildRequest(e,{retryCount:t=0}={}){let n={...e},{method:r,path:s,query:a}=n,i=this.buildURL(s,a);"timeout"in n&&eS("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:o,body:l}=this.buildBody({options:n}),c=this.buildHeaders({options:e,method:r,bodyHeaders:o,retryCount:t});return{req:{method:r,headers:c,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:"half"},...l&&{body:l},...this.fetchOptions??{},...n.fetchOptions??{}},url:i,timeout:n.timeout}}buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let s={};this.idempotencyHeader&&"get"!==t&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let a=th([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...eN(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=th([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||"string"==typeof e&&n.values.has("content-type")||e instanceof Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:"object"==typeof e&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&"function"==typeof e.next)?{bodyHeaders:void 0,body:eq(e)}:en(this,K,"f").call(this,{body:e,headers:n})}}K=new WeakMap,tq.Anthropic=tq,tq.HUMAN_PROMPT="\n\nHuman:",tq.AI_PROMPT="\n\nAssistant:",tq.DEFAULT_TIMEOUT=6e5,tq.AnthropicError=ei,tq.APIError=eo,tq.APIConnectionError=ec,tq.APIConnectionTimeoutError=eu,tq.APIUserAbortError=el,tq.NotFoundError=ep,tq.ConflictError=eg,tq.RateLimitError=ev,tq.BadRequestError=ed,tq.AuthenticationError=eh,tq.InternalServerError=eb,tq.PermissionDeniedError=ef,tq.UnprocessableEntityError=em,tq.toFile=to;class tB extends tq{constructor(){super(...arguments),this.completions=new tP(this),this.messages=new tT(this),this.models=new tN(this),this.beta=new tO(this)}}tB.Completions=tP,tB.Messages=tT,tB.Models=tN,tB.Beta=tO;let{HUMAN_PROMPT:t$,AI_PROMPT:tD}=tB},93837:function(e,t,n){"use strict";let r;n.d(t,{Z:function(){return o}});var s={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let a=new Uint8Array(16),i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));var o=function(e,t,n){if(s.randomUUID&&!t&&!e)return s.randomUUID();let o=(e=e||{}).random??e.rng?.()??function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(a)}();if(o.length<16)throw Error("Random bytes length must be >= 16");if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t){if((n=n||0)<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=o[e];return t}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(o)}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8345-1fd48ab6ac35310b.js b/litellm/proxy/_experimental/out/_next/static/chunks/8345-1fd48ab6ac35310b.js deleted file mode 100644 index f79c16f655..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/8345-1fd48ab6ac35310b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8345,8717],{96473:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},c=n(55015),i=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},77565:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},c=n(55015),i=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},57400:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z"}},{tag:"path",attrs:{d:"M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z"}}]},name:"safety",theme:"outlined"},c=n(55015),i=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},15883:function(e,t,n){n.d(t,{Z:function(){return i}});var a=n(1119),o=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},c=n(55015),i=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,a.Z)({},e,{ref:t,icon:r}))})},96761:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(5853),o=n(26898),r=n(13241),c=n(1153),i=n(2265);let l=i.forwardRef((e,t)=>{let{color:n,children:l,className:d}=e,s=(0,a._T)(e,["color","children","className"]);return i.createElement("p",Object.assign({ref:t,className:(0,r.q)("font-medium text-tremor-title",n?(0,c.bM)(n,o.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",d)},s),l)});l.displayName="Title"},44851:function(e,t,n){n.d(t,{default:function(){return V}});var a=n(2265),o=n(77565),r=n(36760),c=n.n(r),i=n(1119),l=n(83145),d=n(26365),s=n(41154),u=n(50506),f=n(32559),p=n(6989),m=n(45287),h=n(31686),b=n(11993),g=n(66632),v=n(95814),x=a.forwardRef(function(e,t){var n=e.prefixCls,o=e.forceRender,r=e.className,i=e.style,l=e.children,s=e.isActive,u=e.role,f=e.classNames,p=e.styles,m=a.useState(s||o),h=(0,d.Z)(m,2),g=h[0],v=h[1];return(a.useEffect(function(){(o||s)&&v(!0)},[o,s]),g)?a.createElement("div",{ref:t,className:c()("".concat(n,"-content"),(0,b.Z)((0,b.Z)({},"".concat(n,"-content-active"),s),"".concat(n,"-content-inactive"),!s),r),style:i,role:u},a.createElement("div",{className:c()("".concat(n,"-content-box"),null==f?void 0:f.body),style:null==p?void 0:p.body},l)):null});x.displayName="PanelContent";var y=["showArrow","headerClass","isActive","onItemClick","forceRender","className","classNames","styles","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],k=a.forwardRef(function(e,t){var n=e.showArrow,o=e.headerClass,r=e.isActive,l=e.onItemClick,d=e.forceRender,s=e.className,u=e.classNames,f=void 0===u?{}:u,m=e.styles,k=void 0===m?{}:m,w=e.prefixCls,C=e.collapsible,Z=e.accordion,I=e.panelKey,E=e.extra,S=e.header,N=e.expandIcon,M=e.openMotion,O=e.destroyInactivePanel,z=e.children,j=(0,p.Z)(e,y),P="disabled"===C,B=(0,b.Z)((0,b.Z)((0,b.Z)({onClick:function(){null==l||l(I)},onKeyDown:function(e){("Enter"===e.key||e.keyCode===v.Z.ENTER||e.which===v.Z.ENTER)&&(null==l||l(I))},role:Z?"tab":"button"},"aria-expanded",r),"aria-disabled",P),"tabIndex",P?-1:0),R="function"==typeof N?N(e):a.createElement("i",{className:"arrow"}),A=R&&a.createElement("div",(0,i.Z)({className:"".concat(w,"-expand-icon")},["header","icon"].includes(C)?B:{}),R),L=c()("".concat(w,"-item"),(0,b.Z)((0,b.Z)({},"".concat(w,"-item-active"),r),"".concat(w,"-item-disabled"),P),s),W=c()(o,"".concat(w,"-header"),(0,b.Z)({},"".concat(w,"-collapsible-").concat(C),!!C),f.header),T=(0,h.Z)({className:W,style:k.header},["header","icon"].includes(C)?{}:B);return a.createElement("div",(0,i.Z)({},j,{ref:t,className:L}),a.createElement("div",T,(void 0===n||n)&&A,a.createElement("span",(0,i.Z)({className:"".concat(w,"-header-text")},"header"===C?B:{}),S),null!=E&&"boolean"!=typeof E&&a.createElement("div",{className:"".concat(w,"-extra")},E)),a.createElement(g.ZP,(0,i.Z)({visible:r,leavedClassName:"".concat(w,"-content-hidden")},M,{forceRender:d,removeOnLeave:O}),function(e,t){var n=e.className,o=e.style;return a.createElement(x,{ref:t,prefixCls:w,className:n,classNames:f,style:o,styles:k,isActive:r,forceRender:d,role:Z?"tabpanel":void 0},z)}))}),w=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],C=function(e,t){var n=t.prefixCls,o=t.accordion,r=t.collapsible,c=t.destroyInactivePanel,l=t.onItemClick,d=t.activeKey,s=t.openMotion,u=t.expandIcon;return e.map(function(e,t){var f=e.children,m=e.label,h=e.key,b=e.collapsible,g=e.onItemClick,v=e.destroyInactivePanel,x=(0,p.Z)(e,w),y=String(null!=h?h:t),C=null!=b?b:r,Z=!1;return Z=o?d[0]===y:d.indexOf(y)>-1,a.createElement(k,(0,i.Z)({},x,{prefixCls:n,key:y,panelKey:y,isActive:Z,accordion:o,openMotion:s,expandIcon:u,header:m,collapsible:C,onItemClick:function(e){"disabled"!==C&&(l(e),null==g||g(e))},destroyInactivePanel:null!=v?v:c}),f)})},Z=function(e,t,n){if(!e)return null;var o=n.prefixCls,r=n.accordion,c=n.collapsible,i=n.destroyInactivePanel,l=n.onItemClick,d=n.activeKey,s=n.openMotion,u=n.expandIcon,f=e.key||String(t),p=e.props,m=p.header,h=p.headerClass,b=p.destroyInactivePanel,g=p.collapsible,v=p.onItemClick,x=!1;x=r?d[0]===f:d.indexOf(f)>-1;var y=null!=g?g:c,k={key:f,panelKey:f,header:m,headerClass:h,isActive:x,prefixCls:o,destroyInactivePanel:null!=b?b:i,openMotion:s,accordion:r,children:e.props.children,onItemClick:function(e){"disabled"!==y&&(l(e),null==v||v(e))},expandIcon:u,collapsible:y};return"string"==typeof e.type?e:(Object.keys(k).forEach(function(e){void 0===k[e]&&delete k[e]}),a.cloneElement(e,k))},I=n(18242);function E(e){var t=e;if(!Array.isArray(t)){var n=(0,s.Z)(t);t="number"===n||"string"===n?[t]:[]}return t.map(function(e){return String(e)})}var S=Object.assign(a.forwardRef(function(e,t){var n,o=e.prefixCls,r=void 0===o?"rc-collapse":o,s=e.destroyInactivePanel,p=e.style,h=e.accordion,b=e.className,g=e.children,v=e.collapsible,x=e.openMotion,y=e.expandIcon,k=e.activeKey,w=e.defaultActiveKey,S=e.onChange,N=e.items,M=c()(r,b),O=(0,u.Z)([],{value:k,onChange:function(e){return null==S?void 0:S(e)},defaultValue:w,postState:E}),z=(0,d.Z)(O,2),j=z[0],P=z[1];(0,f.ZP)(!g,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var B=(n={prefixCls:r,accordion:h,openMotion:x,expandIcon:y,collapsible:v,destroyInactivePanel:void 0!==s&&s,onItemClick:function(e){return P(function(){return h?j[0]===e?[]:[e]:j.indexOf(e)>-1?j.filter(function(t){return t!==e}):[].concat((0,l.Z)(j),[e])})},activeKey:j},Array.isArray(N)?C(N,n):(0,m.Z)(g).map(function(e,t){return Z(e,t,n)}));return a.createElement("div",(0,i.Z)({ref:t,className:M,style:p,role:h?"tablist":void 0},(0,I.Z)(e,{aria:!0,data:!0})),B)}),{Panel:k});S.Panel;var N=n(18694),M=n(68710),O=n(19722),z=n(71744),j=n(33759);let P=a.forwardRef((e,t)=>{let{getPrefixCls:n}=a.useContext(z.E_),{prefixCls:o,className:r,showArrow:i=!0}=e,l=n("collapse",o),d=c()({["".concat(l,"-no-arrow")]:!i},r);return a.createElement(S.Panel,Object.assign({ref:t},e,{prefixCls:l,className:d}))});var B=n(93463),R=n(12918),A=n(63074),L=n(99320),W=n(71140);let T=e=>{let{componentCls:t,contentBg:n,padding:a,headerBg:o,headerPadding:r,collapseHeaderPaddingSM:c,collapseHeaderPaddingLG:i,collapsePanelBorderRadius:l,lineWidth:d,lineType:s,colorBorder:u,colorText:f,colorTextHeading:p,colorTextDisabled:m,fontSizeLG:h,lineHeight:b,lineHeightLG:g,marginSM:v,paddingSM:x,paddingLG:y,paddingXS:k,motionDurationSlow:w,fontSizeIcon:C,contentPadding:Z,fontHeight:I,fontHeightLG:E}=e,S="".concat((0,B.bf)(d)," ").concat(s," ").concat(u);return{[t]:Object.assign(Object.assign({},(0,R.Wf)(e)),{backgroundColor:o,border:S,borderRadius:l,"&-rtl":{direction:"rtl"},["& > ".concat(t,"-item")]:{borderBottom:S,"&:first-child":{["\n &,\n & > ".concat(t,"-header")]:{borderRadius:"".concat((0,B.bf)(l)," ").concat((0,B.bf)(l)," 0 0")}},"&:last-child":{["\n &,\n & > ".concat(t,"-header")]:{borderRadius:"0 0 ".concat((0,B.bf)(l)," ").concat((0,B.bf)(l))}},["> ".concat(t,"-header")]:Object.assign(Object.assign({position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:r,color:p,lineHeight:b,cursor:"pointer",transition:"all ".concat(w,", visibility 0s")},(0,R.Qy)(e)),{["> ".concat(t,"-header-text")]:{flex:"auto"},["".concat(t,"-expand-icon")]:{height:I,display:"flex",alignItems:"center",paddingInlineEnd:v},["".concat(t,"-arrow")]:Object.assign(Object.assign({},(0,R.Ro)()),{fontSize:C,transition:"transform ".concat(w),svg:{transition:"transform ".concat(w)}}),["".concat(t,"-header-text")]:{marginInlineEnd:"auto"}}),["".concat(t,"-collapsible-header")]:{cursor:"default",["".concat(t,"-header-text")]:{flex:"none",cursor:"pointer"},["".concat(t,"-expand-icon")]:{cursor:"pointer"}},["".concat(t,"-collapsible-icon")]:{cursor:"unset",["".concat(t,"-expand-icon")]:{cursor:"pointer"}}},["".concat(t,"-content")]:{color:f,backgroundColor:n,borderTop:S,["& > ".concat(t,"-content-box")]:{padding:Z},"&-hidden":{display:"none"}},"&-small":{["> ".concat(t,"-item")]:{["> ".concat(t,"-header")]:{padding:c,paddingInlineStart:k,["> ".concat(t,"-expand-icon")]:{marginInlineStart:e.calc(x).sub(k).equal()}},["> ".concat(t,"-content > ").concat(t,"-content-box")]:{padding:x}}},"&-large":{["> ".concat(t,"-item")]:{fontSize:h,lineHeight:g,["> ".concat(t,"-header")]:{padding:i,paddingInlineStart:a,["> ".concat(t,"-expand-icon")]:{height:E,marginInlineStart:e.calc(y).sub(a).equal()}},["> ".concat(t,"-content > ").concat(t,"-content-box")]:{padding:y}}},["".concat(t,"-item:last-child")]:{borderBottom:0,["> ".concat(t,"-content")]:{borderRadius:"0 0 ".concat((0,B.bf)(l)," ").concat((0,B.bf)(l))}},["& ".concat(t,"-item-disabled > ").concat(t,"-header")]:{"\n &,\n & > .arrow\n ":{color:m,cursor:"not-allowed"}},["&".concat(t,"-icon-position-end")]:{["& > ".concat(t,"-item")]:{["> ".concat(t,"-header")]:{["".concat(t,"-expand-icon")]:{order:1,paddingInlineEnd:0,paddingInlineStart:v}}}}})}},q=e=>{let{componentCls:t}=e,n="> ".concat(t,"-item > ").concat(t,"-header ").concat(t,"-arrow");return{["".concat(t,"-rtl")]:{[n]:{transform:"rotate(180deg)"}}}},K=e=>{let{componentCls:t,headerBg:n,borderlessContentPadding:a,borderlessContentBg:o,colorBorder:r}=e;return{["".concat(t,"-borderless")]:{backgroundColor:n,border:0,["> ".concat(t,"-item")]:{borderBottom:"1px solid ".concat(r)},["\n > ".concat(t,"-item:last-child,\n > ").concat(t,"-item:last-child ").concat(t,"-header\n ")]:{borderRadius:0},["> ".concat(t,"-item:last-child")]:{borderBottom:0},["> ".concat(t,"-item > ").concat(t,"-content")]:{backgroundColor:o,borderTop:0},["> ".concat(t,"-item > ").concat(t,"-content > ").concat(t,"-content-box")]:{padding:a}}}},_=e=>{let{componentCls:t,paddingSM:n}=e;return{["".concat(t,"-ghost")]:{backgroundColor:"transparent",border:0,["> ".concat(t,"-item")]:{borderBottom:0,["> ".concat(t,"-content")]:{backgroundColor:"transparent",border:0,["> ".concat(t,"-content-box")]:{paddingBlock:n}}}}}};var H=(0,L.I$)("Collapse",e=>{let t=(0,W.IX)(e,{collapseHeaderPaddingSM:"".concat((0,B.bf)(e.paddingXS)," ").concat((0,B.bf)(e.paddingSM)),collapseHeaderPaddingLG:"".concat((0,B.bf)(e.padding)," ").concat((0,B.bf)(e.paddingLG)),collapsePanelBorderRadius:e.borderRadiusLG});return[T(t),K(t),_(t),q(t),(0,A.Z)(t)]},e=>({headerPadding:"".concat(e.paddingSM,"px ").concat(e.padding,"px"),headerBg:e.colorFillAlter,contentPadding:"".concat(e.padding,"px 16px"),contentBg:e.colorBgContainer,borderlessContentPadding:"".concat(e.paddingXXS,"px 16px ").concat(e.padding,"px"),borderlessContentBg:"transparent"})),V=Object.assign(a.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r,expandIcon:i,className:l,style:d}=(0,z.dj)("collapse"),{prefixCls:s,className:u,rootClassName:f,style:p,bordered:h=!0,ghost:b,size:g,expandIconPosition:v="start",children:x,destroyInactivePanel:y,destroyOnHidden:k,expandIcon:w}=e,C=(0,j.Z)(e=>{var t;return null!==(t=null!=g?g:e)&&void 0!==t?t:"middle"}),Z=n("collapse",s),I=n(),[E,P,B]=H(Z),R=a.useMemo(()=>"left"===v?"start":"right"===v?"end":v,[v]),A=null!=w?w:i,L=a.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="function"==typeof A?A(e):a.createElement(o.Z,{rotate:e.isActive?"rtl"===r?-90:90:void 0,"aria-label":e.isActive?"expanded":"collapsed"});return(0,O.Tm)(t,()=>{var e;return{className:c()(null===(e=t.props)||void 0===e?void 0:e.className,"".concat(Z,"-arrow"))}})},[A,Z,r]),W=c()("".concat(Z,"-icon-position-").concat(R),{["".concat(Z,"-borderless")]:!h,["".concat(Z,"-rtl")]:"rtl"===r,["".concat(Z,"-ghost")]:!!b,["".concat(Z,"-").concat(C)]:"middle"!==C},l,u,f,P,B),T=a.useMemo(()=>Object.assign(Object.assign({},(0,M.Z)(I)),{motionAppear:!1,leavedClassName:"".concat(Z,"-content-hidden")}),[I,Z]),q=a.useMemo(()=>x?(0,m.Z)(x).map((e,t)=>{var n,a;let o=e.props;if(null==o?void 0:o.disabled){let r=null!==(n=e.key)&&void 0!==n?n:String(t),c=Object.assign(Object.assign({},(0,N.Z)(e.props,["disabled"])),{key:r,collapsible:null!==(a=o.collapsible)&&void 0!==a?a:"disabled"});return(0,O.Tm)(e,c)}return e}):null,[x]);return E(a.createElement(S,Object.assign({ref:t,openMotion:T},(0,N.Z)(e,["rootClassName"]),{expandIcon:L,prefixCls:Z,className:W,style:Object.assign(Object.assign({},d),p),destroyInactivePanel:null!=k?k:y}),q))}),{Panel:P})},23496:function(e,t,n){n.d(t,{Z:function(){return g}});var a=n(2265),o=n(36760),r=n.n(o),c=n(71744),i=n(33759),l=n(93463),d=n(12918),s=n(99320),u=n(71140);let f=e=>{let{componentCls:t}=e;return{[t]:{"&-horizontal":{["&".concat(t)]:{"&-sm":{marginBlock:e.marginXS},"&-md":{marginBlock:e.margin}}}}}},p=e=>{let{componentCls:t,sizePaddingEdgeHorizontal:n,colorSplit:a,lineWidth:o,textPaddingInline:r,orientationMargin:c,verticalMarginInline:i}=e;return{[t]:Object.assign(Object.assign({},(0,d.Wf)(e)),{borderBlockStart:"".concat((0,l.bf)(o)," solid ").concat(a),"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:i,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:"".concat((0,l.bf)(o)," solid ").concat(a)},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:"".concat((0,l.bf)(e.marginLG)," 0")},["&-horizontal".concat(t,"-with-text")]:{display:"flex",alignItems:"center",margin:"".concat((0,l.bf)(e.dividerHorizontalWithTextGutterMargin)," 0"),color:e.colorTextHeading,fontWeight:500,fontSize:e.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:"0 ".concat(a),"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:"".concat((0,l.bf)(o)," solid transparent"),borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},["&-horizontal".concat(t,"-with-text-start")]:{"&::before":{width:"calc(".concat(c," * 100%)")},"&::after":{width:"calc(100% - ".concat(c," * 100%)")}},["&-horizontal".concat(t,"-with-text-end")]:{"&::before":{width:"calc(100% - ".concat(c," * 100%)")},"&::after":{width:"calc(".concat(c," * 100%)")}},["".concat(t,"-inner-text")]:{display:"inline-block",paddingBlock:0,paddingInline:r},"&-dashed":{background:"none",borderColor:a,borderStyle:"dashed",borderWidth:"".concat((0,l.bf)(o)," 0 0")},["&-horizontal".concat(t,"-with-text").concat(t,"-dashed")]:{"&::before, &::after":{borderStyle:"dashed none none"}},["&-vertical".concat(t,"-dashed")]:{borderInlineStartWidth:o,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},"&-dotted":{background:"none",borderColor:a,borderStyle:"dotted",borderWidth:"".concat((0,l.bf)(o)," 0 0")},["&-horizontal".concat(t,"-with-text").concat(t,"-dotted")]:{"&::before, &::after":{borderStyle:"dotted none none"}},["&-vertical".concat(t,"-dotted")]:{borderInlineStartWidth:o,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},["&-plain".concat(t,"-with-text")]:{color:e.colorText,fontWeight:"normal",fontSize:e.fontSize},["&-horizontal".concat(t,"-with-text-start").concat(t,"-no-default-orientation-margin-start")]:{"&::before":{width:0},"&::after":{width:"100%"},["".concat(t,"-inner-text")]:{paddingInlineStart:n}},["&-horizontal".concat(t,"-with-text-end").concat(t,"-no-default-orientation-margin-end")]:{"&::before":{width:"100%"},"&::after":{width:0},["".concat(t,"-inner-text")]:{paddingInlineEnd:n}}})}};var m=(0,s.I$)("Divider",e=>{let t=(0,u.IX)(e,{dividerHorizontalWithTextGutterMargin:e.margin,sizePaddingEdgeHorizontal:0});return[p(t),f(t)]},e=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:e.marginXS}),{unitless:{orientationMargin:!0}}),h=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,a=Object.getOwnPropertySymbols(e);ot.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]]);return n};let b={small:"sm",middle:"md"};var g=e=>{let{getPrefixCls:t,direction:n,className:o,style:l}=(0,c.dj)("divider"),{prefixCls:d,type:s="horizontal",orientation:u="center",orientationMargin:f,className:p,rootClassName:g,children:v,dashed:x,variant:y="solid",plain:k,style:w,size:C}=e,Z=h(e,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","variant","plain","style","size"]),I=t("divider",d),[E,S,N]=m(I),M=b[(0,i.Z)(C)],O=!!v,z=a.useMemo(()=>"left"===u?"rtl"===n?"end":"start":"right"===u?"rtl"===n?"start":"end":u,[n,u]),j="start"===z&&null!=f,P="end"===z&&null!=f,B=r()(I,o,S,N,"".concat(I,"-").concat(s),{["".concat(I,"-with-text")]:O,["".concat(I,"-with-text-").concat(z)]:O,["".concat(I,"-dashed")]:!!x,["".concat(I,"-").concat(y)]:"solid"!==y,["".concat(I,"-plain")]:!!k,["".concat(I,"-rtl")]:"rtl"===n,["".concat(I,"-no-default-orientation-margin-start")]:j,["".concat(I,"-no-default-orientation-margin-end")]:P,["".concat(I,"-").concat(M)]:!!M},p,g),R=a.useMemo(()=>"number"==typeof f?f:/^\d+$/.test(f)?Number(f):f,[f]);return E(a.createElement("div",Object.assign({className:B,style:Object.assign(Object.assign({},l),w)},Z,{role:"separator"}),v&&"vertical"!==s&&a.createElement("span",{className:"".concat(I,"-inner-text"),style:{marginInlineStart:j?R:void 0,marginInlineEnd:P?R:void 0}},v)))}},79205:function(e,t,n){n.d(t,{Z:function(){return u}});var a=n(2265);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),r=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),c=e=>{let t=r(e);return t.charAt(0).toUpperCase()+t.slice(1)},i=function(){for(var e=arguments.length,t=Array(e),n=0;n!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()},l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,a.forwardRef)((e,t)=>{let{color:n="currentColor",size:o=24,strokeWidth:r=2,absoluteStrokeWidth:c,className:s="",children:u,iconNode:f,...p}=e;return(0,a.createElement)("svg",{ref:t,...d,width:o,height:o,stroke:n,strokeWidth:c?24*Number(r)/Number(o):r,className:i("lucide",s),...!u&&!l(p)&&{"aria-hidden":"true"},...p},[...f.map(e=>{let[t,n]=e;return(0,a.createElement)(t,n)}),...Array.isArray(u)?u:[u]])}),u=(e,t)=>{let n=(0,a.forwardRef)((n,r)=>{let{className:l,...d}=n;return(0,a.createElement)(s,{ref:r,iconNode:t,className:i("lucide-".concat(o(c(e))),"lucide-".concat(e),l),...d})});return n.displayName=c(e),n}},82222:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},51817:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},98728:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},79862:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]])},32489:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},25523:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return a}});let a=n(47043)._(n(2265)).default.createContext(null)}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8352-01b765b685095cc8.js b/litellm/proxy/_experimental/out/_next/static/chunks/8352-01b765b685095cc8.js new file mode 100644 index 0000000000..7338c21aa8 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/8352-01b765b685095cc8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8352],{77565:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},s=n(55015),i=o.forwardRef(function(e,t){return o.createElement(s.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},59341:function(e,t,n){n.d(t,{Z:function(){return R}});var r=n(5853),o=n(71049),a=n(11323),s=n(2265),i=n(66797),l=n(40099),c=n(74275),u=n(59456),d=n(93980),p=n(65573),m=n(67561),h=n(87550),f=n(628),b=n(80281),g=n(31370),v=n(20131),y=n(38929),C=n(52307),x=n(52724),k=n(7935);let w=(0,s.createContext)(null);w.displayName="GroupContext";let O=s.Fragment,E=Object.assign((0,y.yV)(function(e,t){var n;let r=(0,s.useId)(),O=(0,b.Q)(),E=(0,h.B)(),{id:j=O||"headlessui-switch-".concat(r),disabled:N=E||!1,checked:S,defaultChecked:P,onChange:Z,name:M,value:R,form:T,autoFocus:I=!1,...z}=e,B=(0,s.useContext)(w),[L,q]=(0,s.useState)(null),F=(0,s.useRef)(null),_=(0,m.T)(F,t,null===B?null:B.setSwitch,q),D=(0,c.L)(P),[H,W]=(0,l.q)(S,Z,null!=D&&D),V=(0,u.G)(),[K,A]=(0,s.useState)(!1),G=(0,d.z)(()=>{A(!0),null==W||W(!H),V.nextFrame(()=>{A(!1)})}),U=(0,d.z)(e=>{if((0,g.P)(e.currentTarget))return e.preventDefault();e.preventDefault(),G()}),X=(0,d.z)(e=>{e.key===x.R.Space?(e.preventDefault(),G()):e.key===x.R.Enter&&(0,v.g)(e.currentTarget)}),Y=(0,d.z)(e=>e.preventDefault()),$=(0,k.wp)(),Q=(0,C.zH)(),{isFocusVisible:J,focusProps:ee}=(0,o.F)({autoFocus:I}),{isHovered:et,hoverProps:en}=(0,a.X)({isDisabled:N}),{pressed:er,pressProps:eo}=(0,i.x)({disabled:N}),ea=(0,s.useMemo)(()=>({checked:H,disabled:N,hover:et,focus:J,active:er,autofocus:I,changing:K}),[H,et,J,er,N,K,I]),es=(0,y.dG)({id:j,ref:_,role:"switch",type:(0,p.f)(e,L),tabIndex:-1===e.tabIndex?0:null!=(n=e.tabIndex)?n:0,"aria-checked":H,"aria-labelledby":$,"aria-describedby":Q,disabled:N||void 0,autoFocus:I,onClick:U,onKeyUp:X,onKeyPress:Y},ee,en,eo),ei=(0,s.useCallback)(()=>{if(void 0!==D)return null==W?void 0:W(D)},[W,D]),el=(0,y.L6)();return s.createElement(s.Fragment,null,null!=M&&s.createElement(f.Mt,{disabled:N,data:{[M]:R||"on"},overrides:{type:"checkbox",checked:H},form:T,onReset:ei}),el({ourProps:es,theirProps:z,slot:ea,defaultTag:"button",name:"Switch"}))}),{Group:function(e){var t;let[n,r]=(0,s.useState)(null),[o,a]=(0,k.bE)(),[i,l]=(0,C.fw)(),c=(0,s.useMemo)(()=>({switch:n,setSwitch:r}),[n,r]),u=(0,y.L6)();return s.createElement(l,{name:"Switch.Description",value:i},s.createElement(a,{name:"Switch.Label",value:o,props:{htmlFor:null==(t=c.switch)?void 0:t.id,onClick(e){n&&(e.currentTarget instanceof HTMLLabelElement&&e.preventDefault(),n.click(),n.focus({preventScroll:!0}))}}},s.createElement(w.Provider,{value:c},u({ourProps:{},theirProps:e,slot:{},defaultTag:O,name:"Switch.Group"}))))},Label:k.__,Description:C.dk});var j=n(44140),N=n(26898),S=n(13241),P=n(1153),Z=n(47187);let M=(0,P.fn)("Switch"),R=s.forwardRef((e,t)=>{let{checked:n,defaultChecked:o=!1,onChange:a,color:i,name:l,error:c,errorMessage:u,disabled:d,required:p,tooltip:m,id:h}=e,f=(0,r._T)(e,["checked","defaultChecked","onChange","color","name","error","errorMessage","disabled","required","tooltip","id"]),b={bgColor:i?(0,P.bM)(i,N.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",ringColor:i?(0,P.bM)(i,N.K.ring).ringColor:"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"},[g,v]=(0,j.Z)(o,n),[y,C]=(0,s.useState)(!1),{tooltipProps:x,getReferenceProps:k}=(0,Z.l)(300);return s.createElement("div",{className:"flex flex-row items-center justify-start"},s.createElement(Z.Z,Object.assign({text:m},x)),s.createElement("div",Object.assign({ref:(0,P.lq)([t,x.refs.setReference]),className:(0,S.q)(M("root"),"flex flex-row relative h-5")},f,k),s.createElement("input",{type:"checkbox",className:(0,S.q)(M("input"),"absolute w-5 h-5 cursor-pointer left-0 top-0 opacity-0"),name:l,required:p,checked:g,onChange:e=>{e.preventDefault()}}),s.createElement(E,{checked:g,onChange:e=>{v(e),null==a||a(e)},disabled:d,className:(0,S.q)(M("switch"),"w-10 h-5 group relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-tremor-full","focus:outline-none",d?"cursor-not-allowed":""),onFocus:()=>C(!0),onBlur:()=>C(!1),id:h},s.createElement("span",{className:(0,S.q)(M("sr-only"),"sr-only")},"Switch ",g?"on":"off"),s.createElement("span",{"aria-hidden":"true",className:(0,S.q)(M("background"),g?b.bgColor:"bg-tremor-border dark:bg-dark-tremor-border","pointer-events-none absolute mx-auto h-3 w-9 rounded-tremor-full transition-colors duration-100 ease-in-out")}),s.createElement("span",{"aria-hidden":"true",className:(0,S.q)(M("round"),g?(0,S.q)(b.bgColor,"translate-x-5 border-tremor-background dark:border-dark-tremor-background"):"translate-x-0 bg-tremor-border dark:bg-dark-tremor-border border-tremor-background dark:border-dark-tremor-background","pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-tremor-full border-2 shadow-tremor-input duration-100 ease-in-out transition",y?(0,S.q)("ring-2",b.ringColor):"")}))),c&&u?s.createElement("p",{className:(0,S.q)(M("errorMessage"),"text-sm text-red-500 mt-1 ")},u):null)});R.displayName="Switch"},21626:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(5853),o=n(2265),a=n(13241);let s=(0,n(1153).fn)("Table"),i=o.forwardRef((e,t)=>{let{children:n,className:i}=e,l=(0,r._T)(e,["children","className"]);return o.createElement("div",{className:(0,a.q)(s("root"),"overflow-auto",i)},o.createElement("table",Object.assign({ref:t,className:(0,a.q)(s("table"),"w-full text-tremor-default","text-tremor-content","dark:text-dark-tremor-content")},l),n))});i.displayName="Table"},97214:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(5853),o=n(2265),a=n(13241);let s=(0,n(1153).fn)("TableBody"),i=o.forwardRef((e,t)=>{let{children:n,className:i}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("tbody",Object.assign({ref:t,className:(0,a.q)(s("root"),"align-top divide-y","divide-tremor-border","dark:divide-dark-tremor-border",i)},l),n))});i.displayName="TableBody"},28241:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(5853),o=n(2265),a=n(13241);let s=(0,n(1153).fn)("TableCell"),i=o.forwardRef((e,t)=>{let{children:n,className:i}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("td",Object.assign({ref:t,className:(0,a.q)(s("root"),"align-middle whitespace-nowrap text-left p-4",i)},l),n))});i.displayName="TableCell"},58834:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(5853),o=n(2265),a=n(13241);let s=(0,n(1153).fn)("TableHead"),i=o.forwardRef((e,t)=>{let{children:n,className:i}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("thead",Object.assign({ref:t,className:(0,a.q)(s("root"),"text-left","text-tremor-content","dark:text-dark-tremor-content",i)},l),n))});i.displayName="TableHead"},69552:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(5853),o=n(2265),a=n(13241);let s=(0,n(1153).fn)("TableHeaderCell"),i=o.forwardRef((e,t)=>{let{children:n,className:i}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("th",Object.assign({ref:t,className:(0,a.q)(s("root"),"whitespace-nowrap text-left font-semibold top-0 px-4 py-3.5","text-tremor-content-strong","dark:text-dark-tremor-content-strong",i)},l),n))});i.displayName="TableHeaderCell"},71876:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(5853),o=n(2265),a=n(13241);let s=(0,n(1153).fn)("TableRow"),i=o.forwardRef((e,t)=>{let{children:n,className:i}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("tr",Object.assign({ref:t,className:(0,a.q)(s("row"),i)},l),n))});i.displayName="TableRow"},44140:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(2265);let o=(e,t)=>{let n=void 0!==t,[o,a]=(0,r.useState)(e);return[n?t:o,e=>{n||a(e)}]}},92570:function(e,t,n){n.d(t,{Z:function(){return r}});let r=e=>e?"function"==typeof e?e():e:null},867:function(e,t,n){n.d(t,{Z:function(){return E}});var r=n(2265),o=n(54537),a=n(36760),s=n.n(a),i=n(50506),l=n(18694),c=n(71744),u=n(79326),d=n(59367),p=n(92570),m=n(5545),h=n(51248),f=n(55274),b=n(37381),g=n(20435),v=n(99320);let y=e=>{let{componentCls:t,iconCls:n,antCls:r,zIndexPopup:o,colorText:a,colorWarning:s,marginXXS:i,marginXS:l,fontSize:c,fontWeightStrong:u,colorTextHeading:d}=e;return{[t]:{zIndex:o,["&".concat(r,"-popover")]:{fontSize:c},["".concat(t,"-message")]:{marginBottom:l,display:"flex",flexWrap:"nowrap",alignItems:"start",["> ".concat(t,"-message-icon ").concat(n)]:{color:s,fontSize:c,lineHeight:1,marginInlineEnd:l},["".concat(t,"-title")]:{fontWeight:u,color:d,"&:only-child":{fontWeight:"normal"}},["".concat(t,"-description")]:{marginTop:i,color:a}},["".concat(t,"-buttons")]:{textAlign:"end",whiteSpace:"nowrap",button:{marginInlineStart:l}}}}};var C=(0,v.I$)("Popconfirm",e=>y(e),e=>{let{zIndexPopupBase:t}=e;return{zIndexPopup:t+60}},{resetStyle:!1}),x=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let k=e=>{let{prefixCls:t,okButtonProps:n,cancelButtonProps:a,title:s,description:i,cancelText:l,okText:u,okType:g="primary",icon:v=r.createElement(o.Z,null),showCancel:y=!0,close:C,onConfirm:x,onCancel:k,onPopupClick:w}=e,{getPrefixCls:O}=r.useContext(c.E_),[E]=(0,f.Z)("Popconfirm",b.Z.Popconfirm),j=(0,p.Z)(s),N=(0,p.Z)(i);return r.createElement("div",{className:"".concat(t,"-inner-content"),onClick:w},r.createElement("div",{className:"".concat(t,"-message")},v&&r.createElement("span",{className:"".concat(t,"-message-icon")},v),r.createElement("div",{className:"".concat(t,"-message-text")},j&&r.createElement("div",{className:"".concat(t,"-title")},j),N&&r.createElement("div",{className:"".concat(t,"-description")},N))),r.createElement("div",{className:"".concat(t,"-buttons")},y&&r.createElement(m.ZP,Object.assign({onClick:k,size:"small"},a),l||(null==E?void 0:E.cancelText)),r.createElement(d.Z,{buttonProps:Object.assign(Object.assign({size:"small"},(0,h.nx)(g)),n),actionFn:x,close:C,prefixCls:O("btn"),quitOnNullishReturnValue:!0,emitEvent:!0},u||(null==E?void 0:E.okText))))};var w=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let O=r.forwardRef((e,t)=>{var n,a;let{prefixCls:d,placement:p="top",trigger:m="click",okType:h="primary",icon:f=r.createElement(o.Z,null),children:b,overlayClassName:g,onOpenChange:v,onVisibleChange:y,overlayStyle:x,styles:O,classNames:E}=e,j=w(e,["prefixCls","placement","trigger","okType","icon","children","overlayClassName","onOpenChange","onVisibleChange","overlayStyle","styles","classNames"]),{getPrefixCls:N,className:S,style:P,classNames:Z,styles:M}=(0,c.dj)("popconfirm"),[R,T]=(0,i.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(a=e.defaultOpen)&&void 0!==a?a:e.defaultVisible}),I=(e,t)=>{T(e,!0),null==y||y(e),null==v||v(e,t)},z=N("popconfirm",d),B=s()(z,S,g,Z.root,null==E?void 0:E.root),L=s()(Z.body,null==E?void 0:E.body),[q]=C(z);return q(r.createElement(u.Z,Object.assign({},(0,l.Z)(j,["title"]),{trigger:m,placement:p,onOpenChange:(t,n)=>{let{disabled:r=!1}=e;r||I(t,n)},open:R,ref:t,classNames:{root:B,body:L},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},M.root),P),x),null==O?void 0:O.root),body:Object.assign(Object.assign({},M.body),null==O?void 0:O.body)},content:r.createElement(k,Object.assign({okType:h,icon:f},e,{prefixCls:z,close:e=>{I(!1,e)},onConfirm:t=>{var n;return null===(n=e.onConfirm)||void 0===n?void 0:n.call(void 0,t)},onCancel:t=>{var n;I(!1,t),null===(n=e.onCancel)||void 0===n||n.call(void 0,t)}})),"data-popover-inject":!0}),b))});O._InternalPanelDoNotUseOrYouWillBeFired=e=>{let{prefixCls:t,placement:n,className:o,style:a}=e,i=x(e,["prefixCls","placement","className","style"]),{getPrefixCls:l}=r.useContext(c.E_),u=l("popconfirm",t),[d]=C(u);return d(r.createElement(g.ZP,{placement:n,className:s()(u,o),style:a,content:r.createElement(k,Object.assign({prefixCls:u},i))}))};var E=O},20435:function(e,t,n){n.d(t,{aV:function(){return d}});var r=n(2265),o=n(36760),a=n.n(o),s=n(5769),i=n(92570),l=n(71744),c=n(72262),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let d=e=>{let{title:t,content:n,prefixCls:o}=e;return t||n?r.createElement(r.Fragment,null,t&&r.createElement("div",{className:"".concat(o,"-title")},t),n&&r.createElement("div",{className:"".concat(o,"-inner-content")},n)):null},p=e=>{let{hashId:t,prefixCls:n,className:o,style:l,placement:c="top",title:u,content:p,children:m}=e,h=(0,i.Z)(u),f=(0,i.Z)(p),b=a()(t,n,"".concat(n,"-pure"),"".concat(n,"-placement-").concat(c),o);return r.createElement("div",{className:b,style:l},r.createElement("div",{className:"".concat(n,"-arrow")}),r.createElement(s.G,Object.assign({},e,{className:t,prefixCls:n}),m||r.createElement(d,{prefixCls:n,title:h,content:f})))};t.ZP=e=>{let{prefixCls:t,className:n}=e,o=u(e,["prefixCls","className"]),{getPrefixCls:s}=r.useContext(l.E_),i=s("popover",t),[d,m,h]=(0,c.Z)(i);return d(r.createElement(p,Object.assign({},o,{prefixCls:i,hashId:m,className:a()(n,h)})))}},79326:function(e,t,n){var r=n(2265),o=n(36760),a=n.n(o),s=n(50506),i=n(95814),l=n(92570),c=n(68710),u=n(19722),d=n(71744),p=n(99981),m=n(20435),h=n(72262),f=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let b=r.forwardRef((e,t)=>{var n,o;let{prefixCls:b,title:g,content:v,overlayClassName:y,placement:C="top",trigger:x="hover",children:k,mouseEnterDelay:w=.1,mouseLeaveDelay:O=.1,onOpenChange:E,overlayStyle:j={},styles:N,classNames:S}=e,P=f(e,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle","styles","classNames"]),{getPrefixCls:Z,className:M,style:R,classNames:T,styles:I}=(0,d.dj)("popover"),z=Z("popover",b),[B,L,q]=(0,h.Z)(z),F=Z(),_=a()(y,L,q,M,T.root,null==S?void 0:S.root),D=a()(T.body,null==S?void 0:S.body),[H,W]=(0,s.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(o=e.defaultOpen)&&void 0!==o?o:e.defaultVisible}),V=(e,t)=>{W(e,!0),null==E||E(e,t)},K=e=>{e.keyCode===i.Z.ESC&&V(!1,e)},A=(0,l.Z)(g),G=(0,l.Z)(v);return B(r.createElement(p.Z,Object.assign({placement:C,trigger:x,mouseEnterDelay:w,mouseLeaveDelay:O},P,{prefixCls:z,classNames:{root:_,body:D},styles:{root:Object.assign(Object.assign(Object.assign(Object.assign({},I.root),R),j),null==N?void 0:N.root),body:Object.assign(Object.assign({},I.body),null==N?void 0:N.body)},ref:t,open:H,onOpenChange:e=>{V(e)},overlay:A||G?r.createElement(m.aV,{prefixCls:z,title:A,content:G}):null,transitionName:(0,c.m)(F,"zoom-big",P.transitionName),"data-popover-inject":!0}),(0,u.Tm)(k,{onKeyDown:e=>{var t,n;(0,r.isValidElement)(k)&&(null===(n=null==k?void 0:(t=k.props).onKeyDown)||void 0===n||n.call(t,e)),K(e)}})))});b._InternalPanelDoNotUseOrYouWillBeFired=m.ZP,t.Z=b},72262:function(e,t,n){var r=n(12918),o=n(691),a=n(88260),s=n(34442),i=n(53454),l=n(99320),c=n(71140);let u=e=>{let{componentCls:t,popoverColor:n,titleMinWidth:o,fontWeightStrong:s,innerPadding:i,boxShadowSecondary:l,colorTextHeading:c,borderRadiusLG:u,zIndexPopup:d,titleMarginBottom:p,colorBgElevated:m,popoverBg:h,titleBorderBottom:f,innerContentPadding:b,titlePadding:g}=e;return[{[t]:Object.assign(Object.assign({},(0,r.Wf)(e)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:d,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text","--valid-offset-x":"var(--arrow-offset-horizontal, var(--arrow-x))",transformOrigin:"var(--valid-offset-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":m,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},["".concat(t,"-content")]:{position:"relative"},["".concat(t,"-inner")]:{backgroundColor:h,backgroundClip:"padding-box",borderRadius:u,boxShadow:l,padding:i},["".concat(t,"-title")]:{minWidth:o,marginBottom:p,color:c,fontWeight:s,borderBottom:f,padding:g},["".concat(t,"-inner-content")]:{color:n,padding:b}})},(0,a.ZP)(e,"var(--antd-arrow-background-color)"),{["".concat(t,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow,display:"inline-block",["".concat(t,"-content")]:{display:"inline-block"}}}]},d=e=>{let{componentCls:t}=e;return{[t]:i.i.map(n=>{let r=e["".concat(n,"6")];return{["&".concat(t,"-").concat(n)]:{"--antd-arrow-background-color":r,["".concat(t,"-inner")]:{backgroundColor:r},["".concat(t,"-arrow")]:{background:"transparent"}}}})}};t.Z=(0,l.I$)("Popover",e=>{let{colorBgElevated:t,colorText:n}=e,r=(0,c.IX)(e,{popoverBg:t,popoverColor:n});return[u(r),d(r),(0,o._y)(r,"zoom-big")]},e=>{let{lineWidth:t,controlHeight:n,fontHeight:r,padding:o,wireframe:i,zIndexPopupBase:l,borderRadiusLG:c,marginXS:u,lineType:d,colorSplit:p,paddingSM:m}=e,h=n-r;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:l+30},(0,s.w)(e)),(0,a.wZ)({contentRadius:c,limitVerticalRadius:!0})),{innerPadding:i?0:12,titleMarginBottom:i?0:u,titlePadding:i?"".concat(h/2,"px ").concat(o,"px ").concat(h/2-t,"px"):0,titleBorderBottom:i?"".concat(t,"px ").concat(d," ").concat(p):"none",innerContentPadding:i?"".concat(m,"px ").concat(o,"px"):0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]})},3810:function(e,t,n){n.d(t,{Z:function(){return Z}});var r=n(2265),o=n(36760),a=n.n(o),s=n(18694),i=n(93350),l=n(53445),c=n(19722),u=n(6694),d=n(71744),p=n(93463),m=n(54558),h=n(12918),f=n(71140),b=n(99320);let g=e=>{let{paddingXXS:t,lineWidth:n,tagPaddingHorizontal:r,componentCls:o,calc:a}=e,s=a(r).sub(n).equal(),i=a(t).sub(n).equal();return{[o]:Object.assign(Object.assign({},(0,h.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:s,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,p.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(o,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(o,"-close-icon")]:{marginInlineStart:i,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(o,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(o,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:s}}),["".concat(o,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},v=e=>{let{lineWidth:t,fontSizeIcon:n,calc:r}=e,o=e.fontSizeSM;return(0,f.IX)(e,{tagFontSize:o,tagLineHeight:(0,p.bf)(r(e.lineHeightSM).mul(o).equal()),tagIconSize:r(n).sub(r(t).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},y=e=>({defaultBg:new m.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var C=(0,b.I$)("Tag",e=>g(v(e)),y),x=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let k=r.forwardRef((e,t)=>{let{prefixCls:n,style:o,className:s,checked:i,children:l,icon:c,onChange:u,onClick:p}=e,m=x(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:h,tag:f}=r.useContext(d.E_),b=h("tag",n),[g,v,y]=C(b),k=a()(b,"".concat(b,"-checkable"),{["".concat(b,"-checkable-checked")]:i},null==f?void 0:f.className,s,v,y);return g(r.createElement("span",Object.assign({},m,{ref:t,style:Object.assign(Object.assign({},o),null==f?void 0:f.style),className:k,onClick:e=>{null==u||u(!i),null==p||p(e)}}),c,r.createElement("span",null,l)))});var w=n(18536);let O=e=>(0,w.Z)(e,(t,n)=>{let{textColor:r,lightBorderColor:o,lightColor:a,darkColor:s}=n;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(t)]:{color:r,background:a,borderColor:o,"&-inverse":{color:e.colorTextLightSolid,background:s,borderColor:s},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var E=(0,b.bk)(["Tag","preset"],e=>O(v(e)),y);let j=(e,t,n)=>{let r="string"!=typeof n?n:n.charAt(0).toUpperCase()+n.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(t)]:{color:e["color".concat(n)],background:e["color".concat(r,"Bg")],borderColor:e["color".concat(r,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var N=(0,b.bk)(["Tag","status"],e=>{let t=v(e);return[j(t,"success","Success"),j(t,"processing","Info"),j(t,"error","Error"),j(t,"warning","Warning")]},y),S=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let P=r.forwardRef((e,t)=>{let{prefixCls:n,className:o,rootClassName:p,style:m,children:h,icon:f,color:b,onClose:g,bordered:v=!0,visible:y}=e,x=S(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:k,direction:w,tag:O}=r.useContext(d.E_),[j,P]=r.useState(!0),Z=(0,s.Z)(x,["closeIcon","closable"]);r.useEffect(()=>{void 0!==y&&P(y)},[y]);let M=(0,i.o2)(b),R=(0,i.yT)(b),T=M||R,I=Object.assign(Object.assign({backgroundColor:b&&!T?b:void 0},null==O?void 0:O.style),m),z=k("tag",n),[B,L,q]=C(z),F=a()(z,null==O?void 0:O.className,{["".concat(z,"-").concat(b)]:T,["".concat(z,"-has-color")]:b&&!T,["".concat(z,"-hidden")]:!j,["".concat(z,"-rtl")]:"rtl"===w,["".concat(z,"-borderless")]:!v},o,p,L,q),_=e=>{e.stopPropagation(),null==g||g(e),e.defaultPrevented||P(!1)},[,D]=(0,l.b)((0,l.w)(e),(0,l.w)(O),{closable:!1,closeIconRender:e=>{let t=r.createElement("span",{className:"".concat(z,"-close-icon"),onClick:_},e);return(0,c.wm)(e,t,e=>({onClick:t=>{var n;null===(n=null==e?void 0:e.onClick)||void 0===n||n.call(e,t),_(t)},className:a()(null==e?void 0:e.className,"".concat(z,"-close-icon"))}))}}),H="function"==typeof x.onClick||h&&"a"===h.type,W=f||null,V=W?r.createElement(r.Fragment,null,W,h&&r.createElement("span",null,h)):h,K=r.createElement("span",Object.assign({},Z,{ref:t,className:F,style:I}),V,D,M&&r.createElement(E,{key:"preset",prefixCls:z}),R&&r.createElement(N,{key:"status",prefixCls:z}));return B(H?r.createElement(u.Z,{component:"Tag"},K):K)});P.CheckableTag=k;var Z=P},41671:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},33276:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},15868:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]])},18930:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},17689:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]])},44643:function(e,t,n){var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},53410:function(e,t,n){var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});t.Z=o},91126:function(e,t,n){var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},2894:function(e,t,n){n.d(t,{R:function(){return i},m:function(){return s}});var r=n(18238),o=n(7989),a=n(11255),s=class extends o.F{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||i(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#o({type:"continue"})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=(0,a.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r="pending"===this.state.status,o=!this.#r.canStart();try{if(r)t();else{this.#o({type:"pending",variables:e,isPaused:o}),await this.#n.config.onMutate?.(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#o({type:"pending",context:t,variables:e,isPaused:o})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#o({type:"success",data:a}),a}catch(t){try{throw await this.#n.config.onError?.(t,e,this.state.context,this,n),await this.options.onError?.(t,e,this.state.context,n),await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(void 0,t,e,this.state.context,n),t}finally{this.#o({type:"error",error:t})}}finally{this.#n.runNext(this)}}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),r.Vr.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:"updated",action:e})})}};function i(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21770:function(e,t,n){n.d(t,{D:function(){return u}});var r=n(2265),o=n(2894),a=n(18238),s=n(24112),i=n(45345),l=class extends s.l{#e;#a=void 0;#s;#i;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#l()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,i.VS)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,i.Ym)(t.mutationKey)!==(0,i.Ym)(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(e){this.#l(),this.#c(e)}getCurrentResult(){return this.#a}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#l(),this.#c()}mutate(e,t){return this.#i=t,this.#s?.removeObserver(this),this.#s=this.#e.getMutationCache().build(this.#e,this.options),this.#s.addObserver(this),this.#s.execute(e)}#l(){let e=this.#s?.state??(0,o.R)();this.#a={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#c(e){a.Vr.batch(()=>{if(this.#i&&this.hasListeners()){let t=this.#a.variables,n=this.#a.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};e?.type==="success"?(this.#i.onSuccess?.(e.data,t,n,r),this.#i.onSettled?.(e.data,null,t,n,r)):e?.type==="error"&&(this.#i.onError?.(e.error,t,n,r),this.#i.onSettled?.(void 0,e.error,t,n,r))}this.listeners.forEach(e=>{e(this.#a)})})}},c=n(29827);function u(e,t){let n=(0,c.NL)(t),[o]=r.useState(()=>new l(n,e));r.useEffect(()=>{o.setOptions(e)},[o,e]);let s=r.useSyncExternalStore(r.useCallback(e=>o.subscribe(a.Vr.batchCalls(e)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),u=r.useCallback((e,t)=>{o.mutate(e,t).catch(i.ZT)},[o]);if(s.error&&(0,i.L3)(o.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:u,mutateAsync:s.mutate}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8449-4ca5d1cffc091f3d.js b/litellm/proxy/_experimental/out/_next/static/chunks/8449-01342d391c36678a.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/8449-4ca5d1cffc091f3d.js rename to litellm/proxy/_experimental/out/_next/static/chunks/8449-01342d391c36678a.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8468-27ea05e25918ba32.js b/litellm/proxy/_experimental/out/_next/static/chunks/8468-27ea05e25918ba32.js deleted file mode 100644 index 657ca9e978..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/8468-27ea05e25918ba32.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8468],{15690:function(t,n,e){e.d(n,{default:function(){return G}});var o=e(2265),c=e(9738),i=e(49638),a=e(36760),r=e.n(a),l=e(1119),s=e(31686),d=e(11993),m=e(6989),g=e(95814),p=["className","prefixCls","style","active","status","iconPrefix","icon","wrapperStyle","stepNumber","disabled","description","title","subTitle","progressDot","stepIcon","tailContent","icons","stepIndex","onStepClick","onClick","render"];function u(t){return"string"==typeof t}var h=function(t){var n,e,c,i,a,h=t.className,b=t.prefixCls,f=t.style,v=t.active,S=t.status,C=t.iconPrefix,y=t.icon,I=(t.wrapperStyle,t.stepNumber),w=t.disabled,k=t.description,x=t.title,O=t.subTitle,E=t.progressDot,q=t.stepIcon,z=t.tailContent,T=t.icons,j=t.stepIndex,H=t.onStepClick,N=t.onClick,B=t.render,W=(0,m.Z)(t,p),Z={};H&&!w&&(Z.role="button",Z.tabIndex=0,Z.onClick=function(t){null==N||N(t),H(j)},Z.onKeyDown=function(t){var n=t.which;(n===g.Z.ENTER||n===g.Z.SPACE)&&H(j)});var M=r()("".concat(b,"-item"),"".concat(b,"-item-").concat(S||"wait"),h,(a={},(0,d.Z)(a,"".concat(b,"-item-custom"),y),(0,d.Z)(a,"".concat(b,"-item-active"),v),(0,d.Z)(a,"".concat(b,"-item-disabled"),!0===w),a)),P=(0,s.Z)({},f),X=o.createElement("div",(0,l.Z)({},W,{className:M,style:P}),o.createElement("div",(0,l.Z)({onClick:N},Z,{className:"".concat(b,"-item-container")}),o.createElement("div",{className:"".concat(b,"-item-tail")},z),o.createElement("div",{className:"".concat(b,"-item-icon")},(c=r()("".concat(b,"-icon"),"".concat(C,"icon"),(n={},(0,d.Z)(n,"".concat(C,"icon-").concat(y),y&&u(y)),(0,d.Z)(n,"".concat(C,"icon-check"),!y&&"finish"===S&&(T&&!T.finish||!T)),(0,d.Z)(n,"".concat(C,"icon-cross"),!y&&"error"===S&&(T&&!T.error||!T)),n)),i=o.createElement("span",{className:"".concat(b,"-icon-dot")}),e=E?"function"==typeof E?o.createElement("span",{className:"".concat(b,"-icon")},E(i,{index:I-1,status:S,title:x,description:k})):o.createElement("span",{className:"".concat(b,"-icon")},i):y&&!u(y)?o.createElement("span",{className:"".concat(b,"-icon")},y):T&&T.finish&&"finish"===S?o.createElement("span",{className:"".concat(b,"-icon")},T.finish):T&&T.error&&"error"===S?o.createElement("span",{className:"".concat(b,"-icon")},T.error):y||"finish"===S||"error"===S?o.createElement("span",{className:c}):o.createElement("span",{className:"".concat(b,"-icon")},I),q&&(e=q({index:I-1,status:S,title:x,description:k,node:e})),e)),o.createElement("div",{className:"".concat(b,"-item-content")},o.createElement("div",{className:"".concat(b,"-item-title")},x,O&&o.createElement("div",{title:"string"==typeof O?O:void 0,className:"".concat(b,"-item-subtitle")},O)),k&&o.createElement("div",{className:"".concat(b,"-item-description")},k))));return B&&(X=B(X)||null),X},b=["prefixCls","style","className","children","direction","type","labelPlacement","iconPrefix","status","size","current","progressDot","stepIcon","initial","icons","onChange","itemRender","items"];function f(t){var n,e=t.prefixCls,c=void 0===e?"rc-steps":e,i=t.style,a=void 0===i?{}:i,g=t.className,p=(t.children,t.direction),u=t.type,f=void 0===u?"default":u,v=t.labelPlacement,S=t.iconPrefix,C=void 0===S?"rc":S,y=t.status,I=void 0===y?"process":y,w=t.size,k=t.current,x=void 0===k?0:k,O=t.progressDot,E=t.stepIcon,q=t.initial,z=void 0===q?0:q,T=t.icons,j=t.onChange,H=t.itemRender,N=t.items,B=(0,m.Z)(t,b),W="inline"===f,Z=W||void 0!==O&&O,M=W?"horizontal":void 0===p?"horizontal":p,P=W?void 0:w,X=r()(c,"".concat(c,"-").concat(M),g,(n={},(0,d.Z)(n,"".concat(c,"-").concat(P),P),(0,d.Z)(n,"".concat(c,"-label-").concat(Z?"vertical":void 0===v?"horizontal":v),"horizontal"===M),(0,d.Z)(n,"".concat(c,"-dot"),!!Z),(0,d.Z)(n,"".concat(c,"-navigation"),"navigation"===f),(0,d.Z)(n,"".concat(c,"-inline"),W),n)),D=function(t){j&&x!==t&&j(t)};return o.createElement("div",(0,l.Z)({className:X,style:a},B),(void 0===N?[]:N).filter(function(t){return t}).map(function(t,n){var e=(0,s.Z)({},t),i=z+n;return"error"===I&&n===x-1&&(e.className="".concat(c,"-next-error")),e.status||(i===x?e.status=I:i{let{componentCls:n,customIconTop:e,customIconSize:o,customIconFontSize:c}=t;return{["".concat(n,"-item-custom")]:{["> ".concat(n,"-item-container > ").concat(n,"-item-icon")]:{height:"auto",background:"none",border:0,["> ".concat(n,"-icon")]:{top:e,width:o,height:o,fontSize:c,lineHeight:(0,w.bf)(o)}}},["&:not(".concat(n,"-vertical)")]:{["".concat(n,"-item-custom")]:{["".concat(n,"-item-icon")]:{width:"auto",background:"none"}}}}},q=t=>{let{componentCls:n}=t;return{["".concat(n,"-horizontal")]:{["".concat("".concat(n,"-item"),"-tail")]:{transform:"translateY(-50%)"}}}},z=t=>{let{componentCls:n,inlineDotSize:e,inlineTitleColor:o,inlineTailColor:c}=t,i=t.calc(t.paddingXS).add(t.lineWidth).equal(),a={["".concat(n,"-item-container ").concat(n,"-item-content ").concat(n,"-item-title")]:{color:o}};return{["&".concat(n,"-inline")]:{width:"auto",display:"inline-flex",["".concat(n,"-item")]:{flex:"none","&-container":{padding:"".concat((0,w.bf)(i)," ").concat((0,w.bf)(t.paddingXXS)," 0"),margin:"0 ".concat((0,w.bf)(t.calc(t.marginXXS).div(2).equal())),borderRadius:t.borderRadiusSM,cursor:"pointer",transition:"background-color ".concat(t.motionDurationMid),"&:hover":{background:t.controlItemBgHover},"&[role='button']:hover":{opacity:1}},"&-icon":{width:e,height:e,marginInlineStart:"calc(50% - ".concat((0,w.bf)(t.calc(e).div(2).equal()),")"),["> ".concat(n,"-icon")]:{top:0},["".concat(n,"-icon-dot")]:{borderRadius:t.calc(t.fontSizeSM).div(4).equal(),"&::after":{display:"none"}}},"&-content":{width:"auto",marginTop:t.calc(t.marginXS).sub(t.lineWidth).equal()},"&-title":{color:o,fontSize:t.fontSizeSM,lineHeight:t.lineHeightSM,fontWeight:"normal",marginBottom:t.calc(t.marginXXS).div(2).equal()},"&-description":{display:"none"},"&-tail":{marginInlineStart:0,top:t.calc(e).div(2).add(i).equal(),transform:"translateY(-50%)","&:after":{width:"100%",height:t.lineWidth,borderRadius:0,marginInlineStart:0,background:c}},["&:first-child ".concat(n,"-item-tail")]:{width:"50%",marginInlineStart:"50%"},["&:last-child ".concat(n,"-item-tail")]:{display:"block",width:"50%"},"&-wait":Object.assign({["".concat(n,"-item-icon ").concat(n,"-icon ").concat(n,"-icon-dot")]:{backgroundColor:t.colorBorderBg,border:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(c)}},a),"&-finish":Object.assign({["".concat(n,"-item-tail::after")]:{backgroundColor:c},["".concat(n,"-item-icon ").concat(n,"-icon ").concat(n,"-icon-dot")]:{backgroundColor:c,border:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(c)}},a),"&-error":a,"&-active, &-process":Object.assign({["".concat(n,"-item-icon")]:{width:e,height:e,marginInlineStart:"calc(50% - ".concat((0,w.bf)(t.calc(e).div(2).equal()),")"),top:0}},a),["&:not(".concat(n,"-item-active) > ").concat(n,"-item-container[role='button']:hover")]:{["".concat(n,"-item-title")]:{color:o}}}}}},T=t=>{let{componentCls:n,iconSize:e,lineHeight:o,iconSizeSM:c}=t;return{["&".concat(n,"-label-vertical")]:{["".concat(n,"-item")]:{overflow:"visible","&-tail":{marginInlineStart:t.calc(e).div(2).add(t.controlHeightLG).equal(),padding:"0 ".concat((0,w.bf)(t.paddingLG))},"&-content":{display:"block",width:t.calc(e).div(2).add(t.controlHeightLG).mul(2).equal(),marginTop:t.marginSM,textAlign:"center"},"&-icon":{display:"inline-block",marginInlineStart:t.controlHeightLG},"&-title":{paddingInlineEnd:0,paddingInlineStart:0,"&::after":{display:"none"}},"&-subtitle":{display:"block",marginBottom:t.marginXXS,marginInlineStart:0,lineHeight:o}},["&".concat(n,"-small:not(").concat(n,"-dot)")]:{["".concat(n,"-item")]:{"&-icon":{marginInlineStart:t.calc(e).sub(c).div(2).add(t.controlHeightLG).equal()}}}}}},j=t=>{let{componentCls:n,navContentMaxWidth:e,navArrowColor:o,stepsNavActiveColor:c,motionDurationSlow:i}=t;return{["&".concat(n,"-navigation")]:{paddingTop:t.paddingSM,["&".concat(n,"-small")]:{["".concat(n,"-item")]:{"&-container":{marginInlineStart:t.calc(t.marginSM).mul(-1).equal()}}},["".concat(n,"-item")]:{overflow:"visible",textAlign:"center","&-container":{display:"inline-block",height:"100%",marginInlineStart:t.calc(t.margin).mul(-1).equal(),paddingBottom:t.paddingSM,textAlign:"start",transition:"opacity ".concat(i),["".concat(n,"-item-content")]:{maxWidth:e},["".concat(n,"-item-title")]:Object.assign(Object.assign({maxWidth:"100%",paddingInlineEnd:0},k.vS),{"&::after":{display:"none"}})},["&:not(".concat(n,"-item-active)")]:{["".concat(n,"-item-container[role='button']")]:{cursor:"pointer","&:hover":{opacity:.85}}},"&:last-child":{flex:1,"&::after":{display:"none"}},"&::after":{position:"absolute",top:"calc(50% - ".concat((0,w.bf)(t.calc(t.paddingSM).div(2).equal()),")"),insetInlineStart:"100%",display:"inline-block",width:t.fontSizeIcon,height:t.fontSizeIcon,borderTop:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(o),borderBottom:"none",borderInlineStart:"none",borderInlineEnd:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(o),transform:"translateY(-50%) translateX(-50%) rotate(45deg)",content:'""'},"&::before":{position:"absolute",bottom:0,insetInlineStart:"50%",display:"inline-block",width:0,height:t.lineWidthBold,backgroundColor:c,transition:"width ".concat(i,", inset-inline-start ").concat(i),transitionTimingFunction:"ease-out",content:'""'}},["".concat(n,"-item").concat(n,"-item-active::before")]:{insetInlineStart:0,width:"100%"}},["&".concat(n,"-navigation").concat(n,"-vertical")]:{["> ".concat(n,"-item")]:{marginInlineEnd:0,"&::before":{display:"none"},["&".concat(n,"-item-active::before")]:{top:0,insetInlineEnd:0,insetInlineStart:"unset",display:"block",width:t.calc(t.lineWidth).mul(3).equal(),height:"calc(100% - ".concat((0,w.bf)(t.marginLG),")")},"&::after":{position:"relative",insetInlineStart:"50%",display:"block",width:t.calc(t.controlHeight).mul(.25).equal(),height:t.calc(t.controlHeight).mul(.25).equal(),marginBottom:t.marginXS,textAlign:"center",transform:"translateY(-50%) translateX(-50%) rotate(135deg)"},"&:last-child":{"&::after":{display:"none"}},["> ".concat(n,"-item-container > ").concat(n,"-item-tail")]:{visibility:"hidden"}}},["&".concat(n,"-navigation").concat(n,"-horizontal")]:{["> ".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{visibility:"hidden"}}}},H=t=>{let{antCls:n,componentCls:e,iconSize:o,iconSizeSM:c,processIconColor:i,marginXXS:a,lineWidthBold:r,lineWidth:l,paddingXXS:s}=t,d=t.calc(o).add(t.calc(r).mul(4).equal()).equal(),m=t.calc(c).add(t.calc(t.lineWidth).mul(4).equal()).equal();return{["&".concat(e,"-with-progress")]:{["".concat(e,"-item")]:{paddingTop:s,["&-process ".concat(e,"-item-container ").concat(e,"-item-icon ").concat(e,"-icon")]:{color:i}},["&".concat(e,"-vertical > ").concat(e,"-item ")]:{paddingInlineStart:s,["> ".concat(e,"-item-container > ").concat(e,"-item-tail")]:{top:a,insetInlineStart:t.calc(o).div(2).sub(l).add(s).equal()}},["&, &".concat(e,"-small")]:{["&".concat(e,"-horizontal ").concat(e,"-item:first-child")]:{paddingBottom:s,paddingInlineStart:s}},["&".concat(e,"-small").concat(e,"-vertical > ").concat(e,"-item > ").concat(e,"-item-container > ").concat(e,"-item-tail")]:{insetInlineStart:t.calc(c).div(2).sub(l).add(s).equal()},["&".concat(e,"-label-vertical ").concat(e,"-item ").concat(e,"-item-tail")]:{top:t.calc(o).div(2).add(s).equal()},["".concat(e,"-item-icon")]:{position:"relative",["".concat(n,"-progress")]:{position:"absolute",insetInlineStart:"50%",top:"50%",transform:"translate(-50%, -50%)","&-inner":{width:"".concat((0,w.bf)(d)," !important"),height:"".concat((0,w.bf)(d)," !important")}}},["&".concat(e,"-small")]:{["&".concat(e,"-label-vertical ").concat(e,"-item ").concat(e,"-item-tail")]:{top:t.calc(c).div(2).add(s).equal()},["".concat(e,"-item-icon ").concat(n,"-progress-inner")]:{width:"".concat((0,w.bf)(m)," !important"),height:"".concat((0,w.bf)(m)," !important")}}}}},N=t=>{let{componentCls:n,descriptionMaxWidth:e,lineHeight:o,dotCurrentSize:c,dotSize:i,motionDurationSlow:a}=t;return{["&".concat(n,"-dot, &").concat(n,"-dot").concat(n,"-small")]:{["".concat(n,"-item")]:{"&-title":{lineHeight:o},"&-tail":{top:t.calc(t.dotSize).sub(t.calc(t.lineWidth).mul(3).equal()).div(2).equal(),width:"100%",marginTop:0,marginBottom:0,marginInline:"".concat((0,w.bf)(t.calc(e).div(2).equal())," 0"),padding:0,"&::after":{width:"calc(100% - ".concat((0,w.bf)(t.calc(t.marginSM).mul(2).equal()),")"),height:t.calc(t.lineWidth).mul(3).equal(),marginInlineStart:t.marginSM}},"&-icon":{width:i,height:i,marginInlineStart:t.calc(t.descriptionMaxWidth).sub(i).div(2).equal(),paddingInlineEnd:0,lineHeight:(0,w.bf)(i),background:"transparent",border:0,["".concat(n,"-icon-dot")]:{position:"relative",float:"left",width:"100%",height:"100%",borderRadius:100,transition:"all ".concat(a),"&::after":{position:"absolute",top:t.calc(t.marginSM).mul(-1).equal(),insetInlineStart:t.calc(i).sub(t.calc(t.controlHeightLG).mul(1.5).equal()).div(2).equal(),width:t.calc(t.controlHeightLG).mul(1.5).equal(),height:t.controlHeight,background:"transparent",content:'""'}}},"&-content":{width:e},["&-process ".concat(n,"-item-icon")]:{position:"relative",top:t.calc(i).sub(c).div(2).equal(),width:c,height:c,lineHeight:(0,w.bf)(c),background:"none",marginInlineStart:t.calc(t.descriptionMaxWidth).sub(c).div(2).equal()},["&-process ".concat(n,"-icon")]:{["&:first-child ".concat(n,"-icon-dot")]:{insetInlineStart:0}}}},["&".concat(n,"-vertical").concat(n,"-dot")]:{["".concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeight).sub(i).div(2).equal(),marginInlineStart:0,background:"none"},["".concat(n,"-item-process ").concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeight).sub(c).div(2).equal(),top:0,insetInlineStart:t.calc(i).sub(c).div(2).equal(),marginInlineStart:0},["".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{top:t.calc(t.controlHeight).sub(i).div(2).equal(),insetInlineStart:0,margin:0,padding:"".concat((0,w.bf)(t.calc(i).add(t.paddingXS).equal())," 0 ").concat((0,w.bf)(t.paddingXS)),"&::after":{marginInlineStart:t.calc(i).sub(t.lineWidth).div(2).equal()}},["&".concat(n,"-small")]:{["".concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeightSM).sub(i).div(2).equal()},["".concat(n,"-item-process ").concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeightSM).sub(c).div(2).equal()},["".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{top:t.calc(t.controlHeightSM).sub(i).div(2).equal()}},["".concat(n,"-item:first-child ").concat(n,"-icon-dot")]:{insetInlineStart:0},["".concat(n,"-item-content")]:{width:"inherit"}}}},B=t=>{let{componentCls:n}=t;return{["&".concat(n,"-rtl")]:{direction:"rtl",["".concat(n,"-item")]:{"&-subtitle":{float:"left"}},["&".concat(n,"-navigation")]:{["".concat(n,"-item::after")]:{transform:"rotate(-45deg)"}},["&".concat(n,"-vertical")]:{["> ".concat(n,"-item")]:{"&::after":{transform:"rotate(225deg)"},["".concat(n,"-item-icon")]:{float:"right"}}},["&".concat(n,"-dot")]:{["".concat(n,"-item-icon ").concat(n,"-icon-dot, &").concat(n,"-small ").concat(n,"-item-icon ").concat(n,"-icon-dot")]:{float:"right"}}}}},W=t=>{let{componentCls:n,iconSizeSM:e,fontSizeSM:o,fontSize:c,colorTextDescription:i}=t;return{["&".concat(n,"-small")]:{["&".concat(n,"-horizontal:not(").concat(n,"-label-vertical) ").concat(n,"-item")]:{paddingInlineStart:t.paddingSM,"&:first-child":{paddingInlineStart:0}},["".concat(n,"-item-icon")]:{width:e,height:e,marginTop:0,marginBottom:0,marginInline:"0 ".concat((0,w.bf)(t.marginXS)),fontSize:o,lineHeight:(0,w.bf)(e),textAlign:"center",borderRadius:e},["".concat(n,"-item-title")]:{paddingInlineEnd:t.paddingSM,fontSize:c,lineHeight:(0,w.bf)(e),"&::after":{top:t.calc(e).div(2).equal()}},["".concat(n,"-item-description")]:{color:i,fontSize:c},["".concat(n,"-item-tail")]:{top:t.calc(e).div(2).sub(t.paddingXXS).equal()},["".concat(n,"-item-custom ").concat(n,"-item-icon")]:{width:"inherit",height:"inherit",lineHeight:"inherit",background:"none",border:0,borderRadius:0,["> ".concat(n,"-icon")]:{fontSize:e,lineHeight:(0,w.bf)(e),transform:"none"}}}}},Z=t=>{let{componentCls:n,iconSizeSM:e,iconSize:o}=t;return{["&".concat(n,"-vertical")]:{display:"flex",flexDirection:"column",["> ".concat(n,"-item")]:{display:"block",flex:"1 0 auto",paddingInlineStart:0,overflow:"visible",["".concat(n,"-item-icon")]:{float:"left",marginInlineEnd:t.margin},["".concat(n,"-item-content")]:{display:"block",minHeight:t.calc(t.controlHeight).mul(1.5).equal(),overflow:"hidden"},["".concat(n,"-item-title")]:{lineHeight:(0,w.bf)(o)},["".concat(n,"-item-description")]:{paddingBottom:t.paddingSM}},["> ".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{position:"absolute",top:0,insetInlineStart:t.calc(o).div(2).sub(t.lineWidth).equal(),width:t.lineWidth,height:"100%",padding:"".concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).add(o).equal())," 0 ").concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).equal())),"&::after":{width:t.lineWidth,height:"100%"}},["> ".concat(n,"-item:not(:last-child) > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{display:"block"},[" > ".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-content > ").concat(n,"-item-title")]:{"&::after":{display:"none"}},["&".concat(n,"-small ").concat(n,"-item-container")]:{["".concat(n,"-item-tail")]:{position:"absolute",top:0,insetInlineStart:t.calc(e).div(2).sub(t.lineWidth).equal(),padding:"".concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).add(e).equal())," 0 ").concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).equal()))},["".concat(n,"-item-title")]:{lineHeight:(0,w.bf)(e)}}}}};let M=(t,n)=>{let e="".concat(n.componentCls,"-item"),o="".concat(t,"IconColor"),c="".concat(t,"TitleColor"),i="".concat(t,"DescriptionColor"),a="".concat(t,"TailColor"),r="".concat(t,"IconBgColor"),l="".concat(t,"IconBorderColor"),s="".concat(t,"DotColor");return{["".concat(e,"-").concat(t," ").concat(e,"-icon")]:{backgroundColor:n[r],borderColor:n[l],["> ".concat(n.componentCls,"-icon")]:{color:n[o],["".concat(n.componentCls,"-icon-dot")]:{background:n[s]}}},["".concat(e,"-").concat(t).concat(e,"-custom ").concat(e,"-icon")]:{["> ".concat(n.componentCls,"-icon")]:{color:n[s]}},["".concat(e,"-").concat(t," > ").concat(e,"-container > ").concat(e,"-content > ").concat(e,"-title")]:{color:n[c],"&::after":{backgroundColor:n[a]}},["".concat(e,"-").concat(t," > ").concat(e,"-container > ").concat(e,"-content > ").concat(e,"-description")]:{color:n[i]},["".concat(e,"-").concat(t," > ").concat(e,"-container > ").concat(e,"-tail::after")]:{backgroundColor:n[a]}}},P=t=>{let{componentCls:n,motionDurationSlow:e}=t,o="".concat(n,"-item"),c="".concat(o,"-icon");return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[o]:{position:"relative",display:"inline-block",flex:1,overflow:"hidden",verticalAlign:"top","&:last-child":{flex:"none",["> ".concat(o,"-container > ").concat(o,"-tail, > ").concat(o,"-container > ").concat(o,"-content > ").concat(o,"-title::after")]:{display:"none"}}},["".concat(o,"-container")]:{outline:"none",["&:focus-visible ".concat(c)]:(0,k.oN)(t)},["".concat(c,", ").concat(o,"-content")]:{display:"inline-block",verticalAlign:"top"},[c]:{width:t.iconSize,height:t.iconSize,marginTop:0,marginBottom:0,marginInlineStart:0,marginInlineEnd:t.marginXS,fontSize:t.iconFontSize,fontFamily:t.fontFamily,lineHeight:(0,w.bf)(t.iconSize),textAlign:"center",borderRadius:t.iconSize,border:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," transparent"),transition:"background-color ".concat(e,", border-color ").concat(e),["".concat(n,"-icon")]:{position:"relative",top:t.iconTop,color:t.colorPrimary,lineHeight:1}},["".concat(o,"-tail")]:{position:"absolute",top:t.calc(t.iconSize).div(2).equal(),insetInlineStart:0,width:"100%","&::after":{display:"inline-block",width:"100%",height:t.lineWidth,background:t.colorSplit,borderRadius:t.lineWidth,transition:"background ".concat(e),content:'""'}},["".concat(o,"-title")]:{position:"relative",display:"inline-block",paddingInlineEnd:t.padding,color:t.colorText,fontSize:t.fontSizeLG,lineHeight:(0,w.bf)(t.titleLineHeight),"&::after":{position:"absolute",top:t.calc(t.titleLineHeight).div(2).equal(),insetInlineStart:"100%",display:"block",width:9999,height:t.lineWidth,background:t.processTailColor,content:'""'}},["".concat(o,"-subtitle")]:{display:"inline",marginInlineStart:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize},["".concat(o,"-description")]:{color:t.colorTextDescription,fontSize:t.fontSize}},M("wait",t)),M("process",t)),{["".concat(o,"-process > ").concat(o,"-container > ").concat(o,"-title")]:{fontWeight:t.fontWeightStrong}}),M("finish",t)),M("error",t)),{["".concat(o).concat(n,"-next-error > ").concat(n,"-item-title::after")]:{background:t.colorError},["".concat(o,"-disabled")]:{cursor:"not-allowed"}})},X=t=>{let{componentCls:n,motionDurationSlow:e}=t;return{["& ".concat(n,"-item")]:{["&:not(".concat(n,"-item-active)")]:{["& > ".concat(n,"-item-container[role='button']")]:{cursor:"pointer",["".concat(n,"-item")]:{["&-title, &-subtitle, &-description, &-icon ".concat(n,"-icon")]:{transition:"color ".concat(e)}},"&:hover":{["".concat(n,"-item")]:{"&-title, &-subtitle, &-description":{color:t.colorPrimary}}}},["&:not(".concat(n,"-item-process)")]:{["& > ".concat(n,"-item-container[role='button']:hover")]:{["".concat(n,"-item")]:{"&-icon":{borderColor:t.colorPrimary,["".concat(n,"-icon")]:{color:t.colorPrimary}}}}}}},["&".concat(n,"-horizontal:not(").concat(n,"-label-vertical)")]:{["".concat(n,"-item")]:{paddingInlineStart:t.padding,whiteSpace:"nowrap","&:first-child":{paddingInlineStart:0},["&:last-child ".concat(n,"-item-title")]:{paddingInlineEnd:0},"&-tail":{display:"none"},"&-description":{maxWidth:t.descriptionMaxWidth,whiteSpace:"normal"}}}}},D=t=>{let{componentCls:n}=t;return{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,k.Wf)(t)),{display:"flex",width:"100%",fontSize:0,textAlign:"initial"}),P(t)),X(t)),E(t)),W(t)),Z(t)),q(t)),T(t)),N(t)),j(t)),B(t)),H(t)),z(t))}};var L=(0,x.I$)("Steps",t=>{let{colorTextDisabled:n,controlHeightLG:e,colorTextLightSolid:o,colorText:c,colorPrimary:i,colorTextDescription:a,colorTextQuaternary:r,colorError:l,colorBorderSecondary:s,colorSplit:d}=t;return D((0,O.IX)(t,{processIconColor:o,processTitleColor:c,processDescriptionColor:c,processIconBgColor:i,processIconBorderColor:i,processDotColor:i,processTailColor:d,waitTitleColor:a,waitDescriptionColor:a,waitTailColor:d,waitDotColor:n,finishIconColor:i,finishTitleColor:c,finishDescriptionColor:a,finishTailColor:i,finishDotColor:i,errorIconColor:o,errorTitleColor:l,errorDescriptionColor:l,errorTailColor:d,errorIconBgColor:l,errorIconBorderColor:l,errorDotColor:l,stepsNavActiveColor:i,stepsProgressSize:e,inlineDotSize:6,inlineTitleColor:r,inlineTailColor:s}))},t=>({titleLineHeight:t.controlHeight,customIconSize:t.controlHeight,customIconTop:0,customIconFontSize:t.controlHeightSM,iconSize:t.controlHeight,iconTop:-.5,iconFontSize:t.fontSize,iconSizeSM:t.fontSizeHeading3,dotSize:t.controlHeight/4,dotCurrentSize:t.controlHeightLG/4,navArrowColor:t.colorTextDisabled,navContentMaxWidth:"unset",descriptionMaxWidth:140,waitIconColor:t.wireframe?t.colorTextDisabled:t.colorTextLabel,waitIconBgColor:t.wireframe?t.colorBgContainer:t.colorFillContent,waitIconBorderColor:t.wireframe?t.colorTextDisabled:"transparent",finishIconBgColor:t.wireframe?t.colorBgContainer:t.controlItemBgActive,finishIconBorderColor:t.wireframe?t.colorPrimary:t.controlItemBgActive})),R=e(45287),A=function(t,n){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&0>n.indexOf(o)&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,o=Object.getOwnPropertySymbols(t);cn.indexOf(o[c])&&Object.prototype.propertyIsEnumerable.call(t,o[c])&&(e[o[c]]=t[o[c]]);return e};let F=t=>{let{percent:n,size:e,className:a,rootClassName:l,direction:s,items:d,responsive:m=!0,current:g=0,children:p,style:u}=t,h=A(t,["percent","size","className","rootClassName","direction","items","responsive","current","children","style"]),{xs:b}=(0,C.Z)(m),{getPrefixCls:w,direction:k,className:x,style:O}=(0,v.dj)("steps"),E=o.useMemo(()=>m&&b?"vertical":s,[m,b,s]),q=(0,S.Z)(e),z=w("steps",t.prefixCls),[T,j,H]=L(z),N="inline"===t.type,B=w("",t.iconPrefix),W=d||(0,R.Z)(p).map(t=>{if(o.isValidElement(t)){let{props:n}=t;return Object.assign({},n)}return null}).filter(t=>t),Z=N?void 0:n,M=Object.assign(Object.assign({},O),u),P=r()(x,{["".concat(z,"-rtl")]:"rtl"===k,["".concat(z,"-with-progress")]:void 0!==Z},a,l,j,H),X={finish:o.createElement(c.Z,{className:"".concat(z,"-finish-icon")}),error:o.createElement(i.Z,{className:"".concat(z,"-error-icon")})};return T(o.createElement(f,Object.assign({icons:X},h,{style:M,current:g,size:q,items:W,itemRender:N?(t,n)=>t.description?o.createElement(I.Z,{title:t.description},n):n:void 0,stepIcon:t=>{let{node:n,status:e}=t;return"process"===e&&void 0!==Z?o.createElement("div",{className:"".concat(z,"-progress-icon")},o.createElement(y.Z,{type:"circle",percent:Z,size:"small"===q?32:40,strokeWidth:4,format:()=>null}),n):n},direction:E,prefixCls:z,iconPrefix:B,className:P})))};F.Step=f.Step;var G=F},3810:function(t,n,e){e.d(n,{Z:function(){return T}});var o=e(2265),c=e(36760),i=e.n(c),a=e(18694),r=e(93350),l=e(53445),s=e(19722),d=e(6694),m=e(71744),g=e(93463),p=e(54558),u=e(12918),h=e(71140),b=e(99320);let f=t=>{let{paddingXXS:n,lineWidth:e,tagPaddingHorizontal:o,componentCls:c,calc:i}=t,a=i(o).sub(e).equal(),r=i(n).sub(e).equal();return{[c]:Object.assign(Object.assign({},(0,u.Wf)(t)),{display:"inline-block",height:"auto",marginInlineEnd:t.marginXS,paddingInline:a,fontSize:t.tagFontSize,lineHeight:t.tagLineHeight,whiteSpace:"nowrap",background:t.defaultBg,border:"".concat((0,g.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(t.colorBorder),borderRadius:t.borderRadiusSM,opacity:1,transition:"all ".concat(t.motionDurationMid),textAlign:"start",position:"relative",["&".concat(c,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:t.defaultColor},["".concat(c,"-close-icon")]:{marginInlineStart:r,fontSize:t.tagIconSize,color:t.colorIcon,cursor:"pointer",transition:"all ".concat(t.motionDurationMid),"&:hover":{color:t.colorTextHeading}},["&".concat(c,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(t.iconCls,"-close, ").concat(t.iconCls,"-close:hover")]:{color:t.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(c,"-checkable-checked):hover")]:{color:t.colorPrimary,backgroundColor:t.colorFillSecondary},"&:active, &-checked":{color:t.colorTextLightSolid},"&-checked":{backgroundColor:t.colorPrimary,"&:hover":{backgroundColor:t.colorPrimaryHover}},"&:active":{backgroundColor:t.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(t.iconCls," + span, > span + ").concat(t.iconCls)]:{marginInlineStart:a}}),["".concat(c,"-borderless")]:{borderColor:"transparent",background:t.tagBorderlessBg}}},v=t=>{let{lineWidth:n,fontSizeIcon:e,calc:o}=t,c=t.fontSizeSM;return(0,h.IX)(t,{tagFontSize:c,tagLineHeight:(0,g.bf)(o(t.lineHeightSM).mul(c).equal()),tagIconSize:o(e).sub(o(n).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:t.defaultBg})},S=t=>({defaultBg:new p.t(t.colorFillQuaternary).onBackground(t.colorBgContainer).toHexString(),defaultColor:t.colorText});var C=(0,b.I$)("Tag",t=>f(v(t)),S),y=function(t,n){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&0>n.indexOf(o)&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,o=Object.getOwnPropertySymbols(t);cn.indexOf(o[c])&&Object.prototype.propertyIsEnumerable.call(t,o[c])&&(e[o[c]]=t[o[c]]);return e};let I=o.forwardRef((t,n)=>{let{prefixCls:e,style:c,className:a,checked:r,children:l,icon:s,onChange:d,onClick:g}=t,p=y(t,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:u,tag:h}=o.useContext(m.E_),b=u("tag",e),[f,v,S]=C(b),I=i()(b,"".concat(b,"-checkable"),{["".concat(b,"-checkable-checked")]:r},null==h?void 0:h.className,a,v,S);return f(o.createElement("span",Object.assign({},p,{ref:n,style:Object.assign(Object.assign({},c),null==h?void 0:h.style),className:I,onClick:t=>{null==d||d(!r),null==g||g(t)}}),s,o.createElement("span",null,l)))});var w=e(18536);let k=t=>(0,w.Z)(t,(n,e)=>{let{textColor:o,lightBorderColor:c,lightColor:i,darkColor:a}=e;return{["".concat(t.componentCls).concat(t.componentCls,"-").concat(n)]:{color:o,background:i,borderColor:c,"&-inverse":{color:t.colorTextLightSolid,background:a,borderColor:a},["&".concat(t.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var x=(0,b.bk)(["Tag","preset"],t=>k(v(t)),S);let O=(t,n,e)=>{let o="string"!=typeof e?e:e.charAt(0).toUpperCase()+e.slice(1);return{["".concat(t.componentCls).concat(t.componentCls,"-").concat(n)]:{color:t["color".concat(e)],background:t["color".concat(o,"Bg")],borderColor:t["color".concat(o,"Border")],["&".concat(t.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var E=(0,b.bk)(["Tag","status"],t=>{let n=v(t);return[O(n,"success","Success"),O(n,"processing","Info"),O(n,"error","Error"),O(n,"warning","Warning")]},S),q=function(t,n){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&0>n.indexOf(o)&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,o=Object.getOwnPropertySymbols(t);cn.indexOf(o[c])&&Object.prototype.propertyIsEnumerable.call(t,o[c])&&(e[o[c]]=t[o[c]]);return e};let z=o.forwardRef((t,n)=>{let{prefixCls:e,className:c,rootClassName:g,style:p,children:u,icon:h,color:b,onClose:f,bordered:v=!0,visible:S}=t,y=q(t,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:I,direction:w,tag:k}=o.useContext(m.E_),[O,z]=o.useState(!0),T=(0,a.Z)(y,["closeIcon","closable"]);o.useEffect(()=>{void 0!==S&&z(S)},[S]);let j=(0,r.o2)(b),H=(0,r.yT)(b),N=j||H,B=Object.assign(Object.assign({backgroundColor:b&&!N?b:void 0},null==k?void 0:k.style),p),W=I("tag",e),[Z,M,P]=C(W),X=i()(W,null==k?void 0:k.className,{["".concat(W,"-").concat(b)]:N,["".concat(W,"-has-color")]:b&&!N,["".concat(W,"-hidden")]:!O,["".concat(W,"-rtl")]:"rtl"===w,["".concat(W,"-borderless")]:!v},c,g,M,P),D=t=>{t.stopPropagation(),null==f||f(t),t.defaultPrevented||z(!1)},[,L]=(0,l.b)((0,l.w)(t),(0,l.w)(k),{closable:!1,closeIconRender:t=>{let n=o.createElement("span",{className:"".concat(W,"-close-icon"),onClick:D},t);return(0,s.wm)(t,n,t=>({onClick:n=>{var e;null===(e=null==t?void 0:t.onClick)||void 0===e||e.call(t,n),D(n)},className:i()(null==t?void 0:t.className,"".concat(W,"-close-icon"))}))}}),R="function"==typeof y.onClick||u&&"a"===u.type,A=h||null,F=A?o.createElement(o.Fragment,null,A,u&&o.createElement("span",null,u)):u,G=o.createElement("span",Object.assign({},T,{ref:n,className:X,style:B}),F,L,j&&o.createElement(x,{key:"preset",prefixCls:W}),H&&o.createElement(E,{key:"status",prefixCls:W}));return Z(R?o.createElement(d.Z,{component:"Tag"},G):G)});z.CheckableTag=I;var T=z},78867:function(t,n,e){e.d(n,{Z:function(){return o}});let o=(0,e(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},86462:function(t,n,e){var o=e(2265);let c=o.forwardRef(function(t,n){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:n},t),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});n.Z=c},49084:function(t,n,e){var o=e(2265);let c=o.forwardRef(function(t,n){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:n},t),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});n.Z=c}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8478-e82cdb5831c07157.js b/litellm/proxy/_experimental/out/_next/static/chunks/8478-e82cdb5831c07157.js deleted file mode 100644 index 4ac48b8dfa..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/8478-e82cdb5831c07157.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8478],{62338:function(e,s,t){t.d(s,{v:function(){return a.Z}});var a=t(40278)},16312:function(e,s,t){t.d(s,{z:function(){return a.Z}});var a=t(78489)},32176:function(e,s,t){t.d(s,{Z:function(){return g}});var a=t(57437),r=t(2265),l=t(62338),n=t(94292),i=t(19250);let c=e=>{let{key:s,info:t}=e;return{token:s,...t}};var o=t(12322),d=t(99981),u=t(16312),m=t(59872),x=t(44633),h=t(86462),p=t(39760),g=e=>{let{topKeys:s,teams:t,showTags:g=!1}=e,{accessToken:j,userRole:f,userId:_,premiumUser:y}=(0,p.Z)(),[v,k]=(0,r.useState)(!1),[b,Z]=(0,r.useState)(null),[N,w]=(0,r.useState)(void 0),[q,S]=(0,r.useState)("table"),[C,T]=(0,r.useState)(new Set),D=e=>{T(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t})},L=async e=>{if(j)try{let s=await (0,i.keyInfoV1Call)(j,e.api_key),t=c(s);w(t),Z(e.api_key),k(!0)}catch(e){console.error("Error fetching key info:",e)}},E=()=>{k(!1),Z(null),w(void 0)};r.useEffect(()=>{let e=e=>{"Escape"===e.key&&v&&E()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[v]);let A=[{header:"Key ID",accessorKey:"api_key",cell:e=>(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsx)(d.Z,{title:e.getValue(),children:(0,a.jsx)(u.z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>L(e.row.original),children:e.getValue()?"".concat(e.getValue().slice(0,7),"..."):"-"})})})},{header:"Key Alias",accessorKey:"key_alias",cell:e=>e.getValue()||"-"}],F={header:"Spend (USD)",accessorKey:"spend",cell:e=>{let s=e.getValue();return s>0&&s<.01?"<$0.01":"$".concat((0,m.pw)(s,2))}},O=g?[...A,{header:"Tags",accessorKey:"tags",cell:e=>{let s=e.getValue(),t=e.row.original.api_key,r=C.has(t);if(!s||0===s.length)return"-";let l=s.sort((e,s)=>s.usage-e.usage),n=r?l:l.slice(0,2),i=s.length>2;return(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[n.map((e,s)=>(0,a.jsx)(d.Z,{title:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Tag Name:"})," ",e.tag]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend:"})," ",e.usage>0&&e.usage<.01?"<$0.01":"$".concat((0,m.pw)(e.usage,2))]})]}),children:(0,a.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[e.tag.slice(0,7),"..."]})},s)),i&&(0,a.jsx)("button",{onClick:()=>D(t),className:"ml-1 p-1 hover:bg-gray-200 rounded-full transition-colors",title:r?"Show fewer tags":"Show all tags",children:r?(0,a.jsx)(x.Z,{className:"h-3 w-3 text-gray-500"}):(0,a.jsx)(h.Z,{className:"h-3 w-3 text-gray-500"})})]})})}},F]:[...A,F],M=s.map(e=>({...e,display_key_alias:e.key_alias&&e.key_alias.length>10?"".concat(e.key_alias.slice(0,10),"..."):e.key_alias||"-"}));return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end items-center",children:(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>S("table"),className:"px-3 py-1 text-sm rounded-md ".concat("table"===q?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Table View"}),(0,a.jsx)("button",{onClick:()=>S("chart"),className:"px-3 py-1 text-sm rounded-md ".concat("chart"===q?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Chart View"})]})}),"chart"===q?(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(l.v,{className:"mt-4 h-40 cursor-pointer hover:opacity-90",data:M,index:"display_key_alias",categories:["spend"],colors:["cyan"],yAxisWidth:120,tickGap:5,layout:"vertical",showLegend:!1,valueFormatter:e=>"$".concat((0,m.pw)(e,2)),onValueChange:e=>L(e),showTooltip:!0,customTooltip:e=>{var s,t;let r=null===(t=e.payload)||void 0===t?void 0:null===(s=t[0])||void 0===s?void 0:s.payload;return(0,a.jsx)("div",{className:"relative z-50 p-3 bg-black/90 shadow-lg rounded-lg text-white max-w-xs",children:(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key Alias: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==r?void 0:r.key_alias})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key ID: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==r?void 0:r.api_key})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend: "}),(0,a.jsxs)("span",{className:"text-white font-medium",children:["$",(0,m.pw)(null==r?void 0:r.spend,2)]})]})]})})}})}):(0,a.jsx)("div",{className:"border rounded-lg overflow-hidden",children:(0,a.jsx)(o.w,{columns:O,data:s,renderSubComponent:()=>(0,a.jsx)(a.Fragment,{}),getRowCanExpand:()=>!1,isLoading:!1})}),v&&b&&N&&(console.log("Rendering modal with:",{isModalOpen:v,selectedKey:b,keyData:N}),(0,a.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",onClick:e=>{e.target===e.currentTarget&&E()},children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl relative w-11/12 max-w-6xl max-h-[90vh] overflow-y-auto min-h-[750px]",children:[(0,a.jsx)("button",{onClick:E,className:"absolute top-4 right-4 text-gray-500 hover:text-gray-700 focus:outline-none","aria-label":"Close",children:(0,a.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})}),(0,a.jsx)("div",{className:"p-6 h-full",children:(0,a.jsx)(n.Z,{keyId:b,onClose:E,keyData:N,accessToken:j,userID:_,userRole:f,teams:t,premiumUser:y})})]})}))]})}},68478:function(e,s,t){t.d(s,{Z:function(){return eW}});var a=t(57437),r=t(40278),l=t(12514),n=t(49804),i=t(14042),c=t(67101),o=t(12485),d=t(18135),u=t(35242),m=t(29706),x=t(77991),h=t(21626),p=t(97214),g=t(28241),j=t(58834),f=t(69552),_=t(71876),y=t(84264),v=t(96761),k=t(33866),b=t(51653),Z=t(2265),N=t(19250),w=t(11713),q=t(90246),S=t(20347);let C=(0,q.n)("agents"),T=(e,s)=>(0,w.a)({queryKey:C.list({}),queryFn:async()=>await (0,N.getAgentsList)(e),enabled:!!e&&S.ZL.includes(s||"")}),D=(0,q.n)("customers"),L=(e,s)=>(0,w.a)({queryKey:D.list({}),queryFn:async()=>await (0,N.allEndUsersCall)(e),enabled:!!e&&S.ZL.includes(s||"")});var E=t(39760),A=t(59872),F=t(16312),O=t(75105),M=t(44851);let U={blue:"#3b82f6",cyan:"#06b6d4",indigo:"#6366f1",green:"#22c55e",red:"#ef4444",purple:"#8b5cf6"},V=e=>{let{active:s,payload:t,label:r}=e;if(s&&t&&t.length){let e=e=>e.replace("metrics.","").replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),s=(e,s)=>{let t=s.substring(s.indexOf(".")+1);if(e.metrics&&t in e.metrics)return e.metrics[t]};return(0,a.jsxs)("div",{className:"w-56 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[(0,a.jsx)("p",{className:"text-tremor-content-strong",children:r}),t.map(t=>{var r;let l=null===(r=t.dataKey)||void 0===r?void 0:r.toString();if(!l||!t.payload)return null;let n=s(t.payload,l),i=l.includes("spend"),c=void 0!==n?i?"$".concat(n.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})):n.toLocaleString():"N/A",o=U[t.color]||t.color;return(0,a.jsxs)("div",{className:"flex items-center justify-between space-x-4",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full ring-2 ring-white drop-shadow-md",style:{backgroundColor:o}}),(0,a.jsx)("p",{className:"font-medium text-tremor-content dark:text-dark-tremor-content",children:e(l)})]}),(0,a.jsx)("p",{className:"font-medium text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis",children:c})]},l)})]})}return null},z=e=>{let{categories:s,colors:t}=e,r=e=>e.replace("metrics.","").replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");return(0,a.jsx)("div",{className:"flex items-center justify-end space-x-4",children:s.map((e,s)=>{let l=U[t[s]]||t[s];return(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full ring-4 ring-white",style:{backgroundColor:l}}),(0,a.jsx)("p",{className:"text-sm text-tremor-content dark:text-dark-tremor-content",children:r(e)})]},e)})})};function Y(e){return e>=1e6?(e/1e6).toFixed(2)+"M":e>=1e3?e/1e3+"k":e.toString()}function R(e){return 0===e?"$0":e>=1e6?"$"+e/1e6+"M":e>=1e3?"$"+e/1e3+"k":"$"+e}let I=e=>{var s,t;let{modelName:n,metrics:i,hidePromptCachingMetrics:o=!1}=e;return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(c.Z,{numItems:4,className:"gap-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Requests"}),(0,a.jsx)(v.Z,{children:i.total_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Successful Requests"}),(0,a.jsx)(v.Z,{children:i.total_successful_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Tokens"}),(0,a.jsx)(v.Z,{children:i.total_tokens.toLocaleString()}),(0,a.jsxs)(y.Z,{children:[Math.round(i.total_tokens/i.total_successful_requests)," avg per successful request"]})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Spend"}),(0,a.jsxs)(v.Z,{children:["$",(0,A.pw)(i.total_spend,2)]}),(0,a.jsxs)(y.Z,{children:["$",(0,A.pw)(i.total_spend/i.total_successful_requests,3)," per successful request"]})]})]}),i.top_api_keys&&i.top_api_keys.length>0&&(0,a.jsxs)(l.Z,{className:"mt-4",children:[(0,a.jsx)(v.Z,{children:"Top Virtual Keys by Spend"}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)("div",{className:"grid grid-cols-1 gap-2",children:i.top_api_keys.map((e,s)=>(0,a.jsxs)("div",{className:"flex justify-between items-center p-3 bg-gray-50 rounded-lg",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"font-medium",children:e.key_alias||"".concat(e.api_key.substring(0,10),"...")}),e.team_id&&(0,a.jsxs)(y.Z,{className:"text-xs text-gray-500",children:["Team: ",e.team_id]})]}),(0,a.jsxs)("div",{className:"text-right",children:[(0,a.jsxs)(y.Z,{className:"font-medium",children:["$",(0,A.pw)(e.spend,2)]}),(0,a.jsxs)(y.Z,{className:"text-xs text-gray-500",children:[e.requests.toLocaleString()," requests | ",e.tokens.toLocaleString()," tokens"]})]})]},e.api_key))})})]}),(0,a.jsxs)(c.Z,{numItems:2,className:"gap-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Total Tokens"}),(0,a.jsx)(z,{categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"],valueFormatter:Y,customTooltip:V,showLegend:!1})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Requests per day"}),(0,a.jsx)(z,{categories:["metrics.api_requests"],colors:["blue"]})]}),(0,a.jsx)(r.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.api_requests"],colors:["blue"],valueFormatter:Y,customTooltip:V,showLegend:!1})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Spend per day"}),(0,a.jsx)(z,{categories:["metrics.spend"],colors:["green"]})]}),(0,a.jsx)(r.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.spend"],colors:["green"],valueFormatter:e=>"$".concat((0,A.pw)(e,2,!0)),yAxisWidth:72})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Success vs Failed Requests"}),(0,a.jsx)(z,{categories:["metrics.successful_requests","metrics.failed_requests"],colors:["green","red"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.successful_requests","metrics.failed_requests"],colors:["green","red"],valueFormatter:Y,stack:!0,customTooltip:V,showLegend:!1})]}),!o&&(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Prompt Caching Metrics"}),(0,a.jsx)(z,{categories:["metrics.cache_read_input_tokens","metrics.cache_creation_input_tokens"],colors:["cyan","purple"]})]}),(0,a.jsxs)("div",{className:"mb-2",children:[(0,a.jsxs)(y.Z,{children:["Cache Read: ",(null===(s=i.total_cache_read_input_tokens)||void 0===s?void 0:s.toLocaleString())||0," tokens"]}),(0,a.jsxs)(y.Z,{children:["Cache Creation: ",(null===(t=i.total_cache_creation_input_tokens)||void 0===t?void 0:t.toLocaleString())||0," tokens"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i.daily_data,index:"date",categories:["metrics.cache_read_input_tokens","metrics.cache_creation_input_tokens"],colors:["cyan","purple"],valueFormatter:Y,customTooltip:V,showLegend:!1})]})]})]})},$=e=>{let{modelMetrics:s,hidePromptCachingMetrics:t=!1}=e,r=Object.keys(s).sort((e,t)=>""===e?1:""===t?-1:s[t].total_spend-s[e].total_spend),n={total_requests:0,total_successful_requests:0,total_tokens:0,total_spend:0,total_cache_read_input_tokens:0,total_cache_creation_input_tokens:0,daily_data:{}};Object.values(s).forEach(e=>{n.total_requests+=e.total_requests,n.total_successful_requests+=e.total_successful_requests,n.total_tokens+=e.total_tokens,n.total_spend+=e.total_spend,n.total_cache_read_input_tokens+=e.total_cache_read_input_tokens||0,n.total_cache_creation_input_tokens+=e.total_cache_creation_input_tokens||0,e.daily_data.forEach(e=>{n.daily_data[e.date]||(n.daily_data[e.date]={prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,spend:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0}),n.daily_data[e.date].prompt_tokens+=e.metrics.prompt_tokens,n.daily_data[e.date].completion_tokens+=e.metrics.completion_tokens,n.daily_data[e.date].total_tokens+=e.metrics.total_tokens,n.daily_data[e.date].api_requests+=e.metrics.api_requests,n.daily_data[e.date].spend+=e.metrics.spend,n.daily_data[e.date].successful_requests+=e.metrics.successful_requests,n.daily_data[e.date].failed_requests+=e.metrics.failed_requests,n.daily_data[e.date].cache_read_input_tokens+=e.metrics.cache_read_input_tokens||0,n.daily_data[e.date].cache_creation_input_tokens+=e.metrics.cache_creation_input_tokens||0})});let i=Object.entries(n.daily_data).map(e=>{let[s,t]=e;return{date:s,metrics:t}}).sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime());return(0,a.jsxs)("div",{className:"space-y-8",children:[(0,a.jsxs)("div",{className:"border rounded-lg p-4",children:[(0,a.jsx)(v.Z,{children:"Overall Usage"}),(0,a.jsxs)(c.Z,{numItems:4,className:"gap-4 mb-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Requests"}),(0,a.jsx)(v.Z,{children:n.total_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Successful Requests"}),(0,a.jsx)(v.Z,{children:n.total_successful_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Tokens"}),(0,a.jsx)(v.Z,{children:n.total_tokens.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(y.Z,{children:"Total Spend"}),(0,a.jsxs)(v.Z,{children:["$",(0,A.pw)(n.total_spend,2)]})]})]}),(0,a.jsxs)(c.Z,{numItems:2,className:"gap-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)(v.Z,{children:"Total Tokens Over Time"}),(0,a.jsx)(z,{categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"]})]}),(0,a.jsx)(O.Z,{className:"mt-4",data:i,index:"date",categories:["metrics.prompt_tokens","metrics.completion_tokens","metrics.total_tokens"],colors:["blue","cyan","indigo"],valueFormatter:Y,customTooltip:V,showLegend:!1})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Requests Over Time"}),(0,a.jsx)(O.Z,{className:"mt-4",data:i,index:"date",categories:["metrics.successful_requests","metrics.failed_requests"],colors:["emerald","red"],valueFormatter:e=>e.toLocaleString(),stack:!0,customTooltip:V,showLegend:!1})]})]})]}),(0,a.jsx)(M.default,{defaultActiveKey:r[0],children:r.map(e=>(0,a.jsx)(M.default.Panel,{header:(0,a.jsxs)("div",{className:"flex justify-between items-center w-full",children:[(0,a.jsx)(v.Z,{children:s[e].label||"Unknown Item"}),(0,a.jsxs)("div",{className:"flex space-x-4 text-sm text-gray-500",children:[(0,a.jsxs)("span",{children:["$",(0,A.pw)(s[e].total_spend,2)]}),(0,a.jsxs)("span",{children:[s[e].total_requests.toLocaleString()," requests"]})]})]}),children:(0,a.jsx)(I,{modelName:e||"Unknown Model",metrics:s[e],hidePromptCachingMetrics:t})},e))})]})},K=(e,s)=>{let t=e.metadata.key_alias||"key-hash-".concat(s),a=e.metadata.team_id;return a?"".concat(t," (team_id: ").concat(a,")"):t},P=(e,s)=>{let t={};return e.results.forEach(e=>{Object.entries(e.breakdown[s]||{}).forEach(a=>{let[r,l]=a;t[r]||(t[r]={label:"api_keys"===s?K(l,r):r,total_requests:0,total_successful_requests:0,total_failed_requests:0,total_tokens:0,prompt_tokens:0,completion_tokens:0,total_spend:0,total_cache_read_input_tokens:0,total_cache_creation_input_tokens:0,top_api_keys:[],daily_data:[]}),t[r].total_requests+=l.metrics.api_requests,t[r].prompt_tokens+=l.metrics.prompt_tokens,t[r].completion_tokens+=l.metrics.completion_tokens,t[r].total_tokens+=l.metrics.total_tokens,t[r].total_spend+=l.metrics.spend,t[r].total_successful_requests+=l.metrics.successful_requests,t[r].total_failed_requests+=l.metrics.failed_requests,t[r].total_cache_read_input_tokens+=l.metrics.cache_read_input_tokens||0,t[r].total_cache_creation_input_tokens+=l.metrics.cache_creation_input_tokens||0,t[r].daily_data.push({date:e.date,metrics:{prompt_tokens:l.metrics.prompt_tokens,completion_tokens:l.metrics.completion_tokens,total_tokens:l.metrics.total_tokens,api_requests:l.metrics.api_requests,spend:l.metrics.spend,successful_requests:l.metrics.successful_requests,failed_requests:l.metrics.failed_requests,cache_read_input_tokens:l.metrics.cache_read_input_tokens||0,cache_creation_input_tokens:l.metrics.cache_creation_input_tokens||0}})})}),"api_keys"!==s&&Object.entries(t).forEach(a=>{let[r,l]=a,n={};e.results.forEach(e=>{var t;let a=null===(t=e.breakdown[s])||void 0===t?void 0:t[r];a&&"api_key_breakdown"in a&&Object.entries(a.api_key_breakdown||{}).forEach(e=>{let[s,t]=e;n[s]||(n[s]={api_key:s,key_alias:t.metadata.key_alias,team_id:t.metadata.team_id,spend:0,requests:0,tokens:0}),n[s].spend+=t.metrics.spend,n[s].requests+=t.metrics.api_requests,n[s].tokens+=t.metrics.total_tokens})}),t[r].top_api_keys=Object.values(n).sort((e,s)=>s.spend-e.spend).slice(0,5)}),Object.values(t).forEach(e=>{e.daily_data.sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime())}),t};var W=t(78489),B=t(94789),H=t(49566),G=t(10032),J=t(22116),Q=t(37592),X=t(10353),ee=t(9114),es=e=>{let{isOpen:s,onClose:t,accessToken:r}=e,[l]=G.Z.useForm(),[n,i]=(0,Z.useState)(!1),[c,o]=(0,Z.useState)(null),[d,u]=(0,Z.useState)(!1),[m,x]=(0,Z.useState)("cloudzero"),[h,p]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{s&&r&&g()},[s,r]);let g=async()=>{u(!0);try{let e=await fetch("/cloudzero/settings",{method:"GET",headers:{Authorization:"Bearer ".concat(r),"Content-Type":"application/json"}});if(e.ok){let s=await e.json();o(s),l.setFieldsValue({connection_id:s.connection_id})}else if(404!==e.status){let s=await e.json();ee.Z.fromBackend("Failed to load existing settings: ".concat(s.error||"Unknown error"))}}catch(e){console.error("Error loading CloudZero settings:",e),ee.Z.fromBackend("Failed to load existing settings")}finally{u(!1)}},j=async e=>{if(!r){ee.Z.fromBackend("No access token available");return}i(!0);try{let s={...e,timezone:"UTC"},t=await fetch(c?"/cloudzero/settings":"/cloudzero/init",{method:c?"PUT":"POST",headers:{Authorization:"Bearer ".concat(r),"Content-Type":"application/json"},body:JSON.stringify(s)}),a=await t.json();if(t.ok)return ee.Z.success(a.message||"CloudZero settings saved successfully"),o({api_key_masked:e.api_key.substring(0,4)+"****"+e.api_key.slice(-4),connection_id:e.connection_id,status:"configured"}),!0;return ee.Z.fromBackend(a.error||"Failed to save CloudZero settings"),!1}catch(e){return console.error("Error saving CloudZero settings:",e),ee.Z.fromBackend("Failed to save CloudZero settings"),!1}finally{i(!1)}},f=async()=>{if(!r){ee.Z.fromBackend("No access token available");return}p(!0);try{let e=await fetch("/cloudzero/export",{method:"POST",headers:{Authorization:"Bearer ".concat(r),"Content-Type":"application/json"},body:JSON.stringify({limit:1e5,operation:"replace_hourly"})}),s=await e.json();e.ok?(ee.Z.success(s.message||"Export to CloudZero completed successfully"),t()):ee.Z.fromBackend(s.error||"Failed to export to CloudZero")}catch(e){console.error("Error exporting to CloudZero:",e),ee.Z.fromBackend("Failed to export to CloudZero")}finally{p(!1)}},_=async()=>{p(!0);try{ee.Z.info("CSV export functionality coming soon!"),t()}catch(e){console.error("Error exporting CSV:",e),ee.Z.fromBackend("Failed to export CSV")}finally{p(!1)}},v=async()=>{if("cloudzero"===m){if(!c){let e=await l.validateFields();if(!await j(e))return}await f()}else await _()},k=()=>{l.resetFields(),x("cloudzero"),o(null),t()},b=[{value:"cloudzero",label:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("img",{src:"/cloudzero.png",alt:"CloudZero",className:"w-5 h-5",onError:e=>{e.target.style.display="none"}}),(0,a.jsx)("span",{children:"Export to CloudZero"})]})},{value:"csv",label:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})}),(0,a.jsx)("span",{children:"Export to CSV"})]})}];return(0,a.jsx)(J.Z,{title:"Export Data",open:s,onCancel:k,footer:null,width:600,destroyOnClose:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"font-medium mb-2 block",children:"Export Destination"}),(0,a.jsx)(Q.default,{value:m,onChange:x,options:b,className:"w-full",size:"large"})]}),"cloudzero"===m&&(0,a.jsx)("div",{children:d?(0,a.jsx)("div",{className:"flex justify-center py-8",children:(0,a.jsx)(X.Z,{size:"large"})}):(0,a.jsxs)(a.Fragment,{children:[c&&(0,a.jsx)(B.Z,{title:"Existing CloudZero Configuration",icon:()=>(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),color:"green",className:"mb-4",children:(0,a.jsxs)(y.Z,{children:["API Key: ",c.api_key_masked,(0,a.jsx)("br",{}),"Connection ID: ",c.connection_id]})}),!c&&(0,a.jsxs)(G.Z,{form:l,layout:"vertical",children:[(0,a.jsx)(G.Z.Item,{label:"CloudZero API Key",name:"api_key",rules:[{required:!0,message:"Please enter your CloudZero API key"}],children:(0,a.jsx)(H.Z,{type:"password",placeholder:"Enter your CloudZero API key"})}),(0,a.jsx)(G.Z.Item,{label:"Connection ID",name:"connection_id",rules:[{required:!0,message:"Please enter the CloudZero connection ID"}],children:(0,a.jsx)(H.Z,{placeholder:"Enter CloudZero connection ID"})})]})]})}),"csv"===m&&(0,a.jsx)(B.Z,{title:"CSV Export",icon:()=>(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})}),color:"blue",children:(0,a.jsx)(y.Z,{children:"Export your usage data as a CSV file for analysis in spreadsheet applications."})}),(0,a.jsxs)("div",{className:"flex justify-end space-x-2 pt-4",children:[(0,a.jsx)(W.Z,{variant:"secondary",onClick:k,children:"Cancel"}),(0,a.jsx)(W.Z,{onClick:v,loading:n||h,disabled:n||h,children:"cloudzero"===m?"Export to CloudZero":"Export CSV"})]})]})})},et=e=>{var s,t;let{dateRange:r,selectedFilters:l}=e;return(0,a.jsxs)("div",{className:"text-sm text-gray-500",children:[null===(s=r.from)||void 0===s?void 0:s.toLocaleDateString()," - ",null===(t=r.to)||void 0===t?void 0:t.toLocaleDateString(),l.length>0&&" \xb7 ".concat(l.length," filter").concat(l.length>1?"s":"")]})},ea=t(29967),er=e=>{let{value:s,onChange:t,entityType:r}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium text-gray-700 block mb-2",children:"Export type"}),(0,a.jsx)(ea.ZP.Group,{value:s,onChange:e=>t(e.target.value),className:"w-full",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("label",{className:"flex items-start p-3 border border-gray-200 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors",children:[(0,a.jsx)(ea.ZP,{value:"daily",className:"mt-0.5"}),(0,a.jsxs)("div",{className:"ml-3 flex-1",children:[(0,a.jsx)("div",{className:"font-medium text-sm",children:"Day-by-day breakdown"}),(0,a.jsxs)("div",{className:"text-xs text-gray-500 mt-0.5",children:["Daily metrics for each ",r]})]})]}),(0,a.jsxs)("label",{className:"flex items-start p-3 border border-gray-200 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors",children:[(0,a.jsx)(ea.ZP,{value:"daily_with_models",className:"mt-0.5"}),(0,a.jsxs)("div",{className:"ml-3 flex-1",children:[(0,a.jsxs)("div",{className:"font-medium text-sm",children:["Day-by-day by ",r," and model"]}),(0,a.jsx)("div",{className:"text-xs text-gray-500 mt-0.5",children:"Daily metrics split by model"})]})]})]})})]})},el=e=>{let{value:s,onChange:t}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium text-gray-700 block mb-2",children:"Format"}),(0,a.jsx)(Q.default,{value:s,onChange:t,className:"w-full",options:[{value:"csv",label:"CSV (Excel, Google Sheets)"},{value:"json",label:"JSON (includes metadata)"}]})]})},en=t(15452),ei=t.n(en);let ec=(e,s)=>{let t=[];return e.results.forEach(e=>{Object.entries(e.breakdown.entities||{}).forEach(a=>{var r;let[l,n]=a;t.push({Date:e.date,[s]:(null===(r=n.metadata)||void 0===r?void 0:r.team_alias)||l,["".concat(s," ID")]:l,"Spend ($)":(0,A.pw)(n.metrics.spend,4),Requests:n.metrics.api_requests,"Successful Requests":n.metrics.successful_requests,"Failed Requests":n.metrics.failed_requests,"Total Tokens":n.metrics.total_tokens,"Prompt Tokens":n.metrics.prompt_tokens||0,"Completion Tokens":n.metrics.completion_tokens||0})})}),t.sort((e,s)=>new Date(e.Date).getTime()-new Date(s.Date).getTime())},eo=(e,s)=>{let t=[];return e.results.forEach(e=>{let a={};Object.entries(e.breakdown.entities||{}).forEach(s=>{var t;let[r,l]=s;null===(t=l.metadata)||void 0===t||t.team_alias,a[r]||(a[r]={}),Object.entries(e.breakdown.models||{}).forEach(e=>{let[s,t]=e;Object.entries(l.api_key_breakdown||{}).forEach(e=>{let[t,l]=e;a[r][s]||(a[r][s]={spend:0,requests:0,successful:0,failed:0,tokens:0}),a[r][s].spend+=l.metrics.spend||0,a[r][s].requests+=l.metrics.api_requests||0,a[r][s].successful+=l.metrics.successful_requests||0,a[r][s].failed+=l.metrics.failed_requests||0,a[r][s].tokens+=l.metrics.total_tokens||0})})}),Object.entries(a).forEach(a=>{var r,l;let[n,i]=a,c=null===(r=e.breakdown.entities)||void 0===r?void 0:r[n],o=(null==c?void 0:null===(l=c.metadata)||void 0===l?void 0:l.team_alias)||n;Object.entries(i).forEach(a=>{let[r,l]=a;t.push({Date:e.date,[s]:o,["".concat(s," ID")]:n,Model:r,"Spend ($)":(0,A.pw)(l.spend,4),Requests:l.requests,Successful:l.successful,Failed:l.failed,"Total Tokens":l.tokens})})})}),t.sort((e,s)=>new Date(e.Date).getTime()-new Date(s.Date).getTime())},ed=(e,s,t)=>{switch(s){case"daily":default:return ec(e,t);case"daily_with_models":return eo(e,t)}},eu=(e,s,t,a,r)=>{var l,n;return{export_date:new Date().toISOString(),entity_type:e,date_range:{from:null===(l=s.from)||void 0===l?void 0:l.toISOString(),to:null===(n=s.to)||void 0===n?void 0:n.toISOString()},filters_applied:t.length>0?t:"None",export_scope:a,summary:{total_spend:r.metadata.total_spend,total_requests:r.metadata.total_api_requests,successful_requests:r.metadata.total_successful_requests,failed_requests:r.metadata.total_failed_requests,total_tokens:r.metadata.total_tokens}}},em=(e,s,t,a)=>{let r=ed(e,s,t),l=new Blob([ei().unparse(r)],{type:"text/csv;charset=utf-8;"}),n=window.URL.createObjectURL(l),i=document.createElement("a");i.href=n;let c="".concat(a,"_usage_").concat(s,"_").concat(new Date().toISOString().split("T")[0],".csv");i.download=c,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(n)},ex=(e,s,t,a,r,l)=>{let n=ed(e,s,t),i=new Blob([JSON.stringify({metadata:eu(a,r,l,s,e),data:n},null,2)],{type:"application/json"}),c=window.URL.createObjectURL(i),o=document.createElement("a");o.href=c;let d="".concat(a,"_usage_").concat(s,"_").concat(new Date().toISOString().split("T")[0],".json");o.download=d,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.URL.revokeObjectURL(c)};var eh=e=>{let{isOpen:s,onClose:t,entityType:r,spendData:l,dateRange:n,selectedFilters:i,customTitle:c}=e,[o,d]=(0,Z.useState)("csv"),[u,m]=(0,Z.useState)("daily"),[x,h]=(0,Z.useState)(!1),p=r.charAt(0).toUpperCase()+r.slice(1),g=c||"Export ".concat(p," Usage"),j=async e=>{let s=e||o;h(!0);try{"csv"===s?(em(l,u,p,r),ee.Z.success("".concat(p," usage data exported successfully as CSV"))):(ex(l,u,p,r,n,i),ee.Z.success("".concat(p," usage data exported successfully as JSON"))),t()}catch(e){console.error("Error exporting data:",e),ee.Z.fromBackend("Failed to export data")}finally{h(!1)}};return(0,a.jsx)(J.Z,{title:(0,a.jsx)("span",{className:"text-base font-semibold",children:g}),open:s,onCancel:t,footer:null,width:480,destroyOnClose:!0,children:(0,a.jsxs)("div",{className:"space-y-5 py-2",children:[(0,a.jsx)(et,{dateRange:n,selectedFilters:i}),(0,a.jsx)(er,{value:u,onChange:m,entityType:r}),(0,a.jsx)(el,{value:o,onChange:d}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-4 border-t",children:[(0,a.jsx)(F.z,{variant:"secondary",onClick:t,disabled:x,size:"sm",children:"Cancel"}),(0,a.jsx)(F.z,{onClick:()=>j(),loading:x,disabled:x,size:"sm",children:x?"Exporting...":"Export ".concat(o.toUpperCase())})]})]})})},ep=t(19431),eg=e=>{let{dateValue:s,entityType:t,spendData:r,showFilters:l=!1,filterLabel:n,filterPlaceholder:i,selectedFilters:c=[],onFiltersChange:o,filterOptions:d=[],customTitle:u,compactLayout:m=!1}=e,[x,h]=(0,Z.useState)(!1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsxs)("div",{className:"grid ".concat(l&&d.length>0?"grid-cols-[1fr_auto]":"grid-cols-[auto]"," items-end gap-4"),children:[l&&d.length>0&&(0,a.jsxs)("div",{children:[n&&(0,a.jsx)(ep.x,{className:"mb-2",children:n}),(0,a.jsx)(Q.default,{mode:"multiple",style:{width:"100%"},placeholder:i,value:c,onChange:o,options:d,allowClear:!0})]}),(0,a.jsx)("div",{className:"justify-self-end",children:(0,a.jsx)(ep.z,{onClick:()=>h(!0),icon:()=>(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),children:"Export Data"})})]})}),(0,a.jsx)(eh,{isOpen:x,onClose:()=>h(!1),entityType:t,spendData:r,dateRange:s,selectedFilters:c,customTitle:u})]})},ej=t(42673),ef=t(5540),e_=t(49634),ey=t(77398),ev=t.n(ey);let ek=[{label:"Today",shortLabel:"today",getValue:()=>({from:ev()().startOf("day").toDate(),to:ev()().endOf("day").toDate()})},{label:"Last 7 days",shortLabel:"7d",getValue:()=>({from:ev()().subtract(7,"days").startOf("day").toDate(),to:ev()().endOf("day").toDate()})},{label:"Last 30 days",shortLabel:"30d",getValue:()=>({from:ev()().subtract(30,"days").startOf("day").toDate(),to:ev()().endOf("day").toDate()})},{label:"Month to date",shortLabel:"MTD",getValue:()=>({from:ev()().startOf("month").toDate(),to:ev()().endOf("day").toDate()})},{label:"Year to date",shortLabel:"YTD",getValue:()=>({from:ev()().startOf("year").toDate(),to:ev()().endOf("day").toDate()})}];var eb=e=>{let{value:s,onValueChange:t,label:r="Select Time Range",showTimeRange:l=!0}=e,[n,i]=(0,Z.useState)(!1),[c,o]=(0,Z.useState)(s),[d,u]=(0,Z.useState)(null),[m,x]=(0,Z.useState)(""),[h,p]=(0,Z.useState)(""),g=(0,Z.useRef)(null),j=(0,Z.useCallback)(e=>{if(!e.from||!e.to)return null;for(let s of ek){let t=s.getValue(),a=ev()(e.from).isSame(ev()(t.from),"day"),r=ev()(e.to).isSame(ev()(t.to),"day");if(a&&r)return s.shortLabel}return null},[]);(0,Z.useEffect)(()=>{u(j(s))},[s,j]);let f=(0,Z.useCallback)(()=>{if(!m||!h)return{isValid:!0,error:""};let e=ev()(m,"YYYY-MM-DD"),s=ev()(h,"YYYY-MM-DD");return e.isValid()&&s.isValid()?s.isBefore(e)?{isValid:!1,error:"End date cannot be before start date"}:{isValid:!0,error:""}:{isValid:!1,error:"Invalid date format"}},[m,h])();(0,Z.useEffect)(()=>{s.from&&x(ev()(s.from).format("YYYY-MM-DD")),s.to&&p(ev()(s.to).format("YYYY-MM-DD")),o(s)},[s]),(0,Z.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&i(!1)};return n&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[n]);let _=(0,Z.useCallback)((e,s)=>{if(!e||!s)return"Select date range";let t=e=>ev()(e).format("D MMM, HH:mm");return"".concat(t(e)," - ").concat(t(s))},[]),y=(0,Z.useCallback)(e=>{let s;if(!e.from)return e;let t={...e},a=new Date(e.from);return s=new Date(e.to?e.to:e.from),a.toDateString(),s.toDateString(),a.setHours(0,0,0,0),s.setHours(23,59,59,999),t.from=a,t.to=s,t},[]),v=e=>{let{from:s,to:t}=e.getValue();o({from:s,to:t}),u(e.shortLabel),x(ev()(s).format("YYYY-MM-DD")),p(ev()(t).format("YYYY-MM-DD"))},k=(0,Z.useCallback)(()=>{try{if(m&&h&&f.isValid){let e=ev()(m,"YYYY-MM-DD").startOf("day"),s=ev()(h,"YYYY-MM-DD").endOf("day");if(e.isValid()&&s.isValid()){let t={from:e.toDate(),to:s.toDate()};o(t);let a=j(t);u(a)}}}catch(e){console.warn("Invalid date format:",e)}},[m,h,f.isValid,j]);return(0,Z.useEffect)(()=>{k()},[k]),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[r&&(0,a.jsx)(ep.x,{className:"text-sm font-medium text-gray-700 whitespace-nowrap",children:r}),(0,a.jsxs)("div",{className:"relative",ref:g,children:[(0,a.jsx)("div",{className:"w-[300px] px-3 py-2 text-sm border border-gray-300 rounded-md bg-white cursor-pointer hover:border-gray-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500",onClick:()=>i(!n),children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(ef.Z,{className:"text-gray-600"}),(0,a.jsx)("span",{className:"text-gray-900",children:_(s.from,s.to)})]}),(0,a.jsx)("svg",{className:"w-4 h-4 text-gray-400 transition-transform ".concat(n?"rotate-180":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})}),n&&(0,a.jsx)("div",{className:"absolute top-full right-0 z-[9999] min-w-[600px] mt-1 bg-white border border-gray-200 rounded-lg shadow-xl",children:(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsxs)("div",{className:"w-1/2 border-r border-gray-200",children:[(0,a.jsx)("div",{className:"p-3 border-b border-gray-200",children:(0,a.jsx)("span",{className:"text-sm font-semibold text-gray-900",children:"Relative time"})}),(0,a.jsx)("div",{className:"h-[350px] overflow-y-auto",children:ek.map(e=>{let s=d===e.shortLabel;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 cursor-pointer border-b border-gray-100 transition-colors ".concat(s?"bg-blue-50 hover:bg-blue-100 border-blue-200":"hover:bg-gray-50"),onClick:()=>v(e),children:[(0,a.jsx)("span",{className:"text-sm ".concat(s?"text-blue-700 font-medium":"text-gray-700"),children:e.label}),(0,a.jsx)("span",{className:"text-xs px-2 py-1 rounded capitalize ".concat(s?"text-blue-700 bg-blue-100":"text-gray-500 bg-gray-100"),children:e.shortLabel})]},e.label)})})]}),(0,a.jsxs)("div",{className:"w-1/2 relative",children:[(0,a.jsx)("div",{className:"p-3.5 border-b border-gray-200",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(e_.Z,{className:"text-gray-600"}),(0,a.jsx)("span",{className:"text-sm font-semibold text-gray-900",children:"Start and end dates"})]})}),(0,a.jsxs)("div",{className:"p-6 space-y-6 pb-20",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm text-gray-700 mb-1 block",children:"Start date"}),(0,a.jsx)("input",{type:"date",value:m,onChange:e=>x(e.target.value),className:"w-65 px-3 py-2 text-sm border rounded-md cursor-pointer hover:border-gray-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 ".concat(f.isValid?"border-gray-300":"border-red-300 focus:border-red-500 focus:ring-red-200")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm text-gray-700 mb-1 block",children:"End date"}),(0,a.jsx)("input",{type:"date",value:h,onChange:e=>p(e.target.value),className:"w-65 px-3 py-2 text-sm border rounded-md cursor-pointer hover:border-gray-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 ".concat(f.isValid?"border-gray-300":"border-red-300 focus:border-red-500 focus:ring-red-200")})]}),!f.isValid&&f.error&&(0,a.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-md p-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("svg",{className:"w-4 h-4 text-red-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"})}),(0,a.jsx)("span",{className:"text-sm text-red-700 font-medium",children:f.error})]})}),c.from&&c.to&&f.isValid&&(0,a.jsxs)("div",{className:"bg-blue-50 p-3 rounded-md space-y-1",children:[(0,a.jsxs)("div",{className:"text-xs text-blue-800",children:[(0,a.jsx)("span",{className:"font-medium",children:"From:"})," ",ev()(c.from).format("MMM D, YYYY [at] HH:mm:ss")]}),(0,a.jsxs)("div",{className:"text-xs text-blue-800",children:[(0,a.jsx)("span",{className:"font-medium",children:"To:"})," ",ev()(c.to).format("MMM D, YYYY [at] HH:mm:ss")]})]})]}),(0,a.jsx)("div",{className:"absolute bottom-4 right-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(ep.z,{variant:"secondary",onClick:()=>{o(s),s.from&&x(ev()(s.from).format("YYYY-MM-DD")),s.to&&p(ev()(s.to).format("YYYY-MM-DD")),u(j(s)),i(!1)},children:"Cancel"}),(0,a.jsx)(ep.z,{onClick:()=>{c.from&&c.to&&f.isValid&&(t(c),requestIdleCallback(()=>{t(y(c))},{timeout:100}),i(!1))},disabled:!c.from||!c.to||!f.isValid,children:"Apply"})]})})]})]})})]})]})},eZ=t(91323);let eN=e=>{let{isDateChanging:s=!1}=e;return(0,a.jsx)("div",{className:"flex items-center justify-center h-40",children:(0,a.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,a.jsx)(eZ.S,{className:"size-5"}),(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"text-gray-600 text-sm font-medium",children:s?"Processing date selection...":"Loading chart data..."}),(0,a.jsx)("span",{className:"text-gray-400 text-xs mt-1",children:s?"This will only take a moment":"Fetching your data"})]})]})})};var ew=t(35829),eq=t(97765),eS=t(99981),eC=e=>{let{accessToken:s,selectedTags:t,formatAbbreviatedNumber:l}=e,[n,i]=(0,Z.useState)({results:[],total_count:0,page:1,page_size:50,total_pages:0}),[c,k]=(0,Z.useState)(!1),[b,w]=(0,Z.useState)(1),q=async()=>{if(s){k(!0);try{let e=await (0,N.perUserAnalyticsCall)(s,b,50,t.length>0?t:void 0);i(e)}catch(e){console.error("Failed to fetch per-user data:",e)}finally{k(!1)}}};return(0,Z.useEffect)(()=>{q()},[s,t,b]),(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)(v.Z,{children:"Per User Usage"}),(0,a.jsx)(eq.Z,{children:"Individual developer usage metrics"}),(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{className:"mb-6",children:[(0,a.jsx)(o.Z,{children:"User Details"}),(0,a.jsx)(o.Z,{children:"Usage Distribution"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:"User ID"}),(0,a.jsx)(f.Z,{children:"User Email"}),(0,a.jsx)(f.Z,{children:"User Agent"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Success Generations"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Total Tokens"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Failed Requests"}),(0,a.jsx)(f.Z,{className:"text-right",children:"Total Cost"})]})}),(0,a.jsx)(p.Z,{children:n.results.slice(0,10).map((e,s)=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:(0,a.jsx)(y.Z,{className:"font-medium",children:e.user_id})}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(y.Z,{children:e.user_email||"N/A"})}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(y.Z,{children:e.user_agent||"Unknown"})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsx)(y.Z,{children:l(e.successful_requests)})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsx)(y.Z,{children:l(e.total_tokens)})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsx)(y.Z,{children:l(e.failed_requests)})}),(0,a.jsx)(g.Z,{className:"text-right",children:(0,a.jsxs)(y.Z,{children:["$",l(e.spend,4)]})})]},s))})]}),n.results.length>10&&(0,a.jsxs)("div",{className:"mt-4 flex justify-between items-center",children:[(0,a.jsxs)(y.Z,{className:"text-sm text-gray-500",children:["Showing 10 of ",n.total_count," results"]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(W.Z,{size:"sm",variant:"secondary",onClick:()=>{b>1&&w(b-1)},disabled:1===b,children:"Previous"}),(0,a.jsx)(W.Z,{size:"sm",variant:"secondary",onClick:()=>{b=n.total_pages,children:"Next"})]})]})]}),(0,a.jsxs)(m.Z,{children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)(v.Z,{className:"text-lg",children:"User Usage Distribution"}),(0,a.jsx)(eq.Z,{children:"Number of users by successful request frequency"})]}),(0,a.jsx)(r.Z,{data:(()=>{let e=new Map;n.results.forEach(s=>{let t=s.user_agent||"Unknown";e.set(t,(e.get(t)||0)+1)});let s=Array.from(e.entries()).sort((e,s)=>{let[,t]=e,[,a]=s;return a-t}).slice(0,8).map(e=>{let[s]=e;return s}),t={"1-9 requests":{range:[1,9],agents:{}},"10-99 requests":{range:[10,99],agents:{}},"100-999 requests":{range:[100,999],agents:{}},"1K-9.9K requests":{range:[1e3,9999],agents:{}},"10K-99.9K requests":{range:[1e4,99999],agents:{}},"100K+ requests":{range:[1e5,1/0],agents:{}}};return n.results.forEach(e=>{let a=e.successful_requests,r=e.user_agent||"Unknown";s.includes(r)&&Object.entries(t).forEach(e=>{let[s,t]=e;a>=t.range[0]&&a<=t.range[1]&&(t.agents[r]||(t.agents[r]=0),t.agents[r]++)})}),Object.entries(t).map(e=>{let[t,a]=e,r={category:t};return s.forEach(e=>{r[e]=a.agents[e]||0}),r})})(),index:"category",categories:(()=>{let e=new Map;return n.results.forEach(s=>{let t=s.user_agent||"Unknown";e.set(t,(e.get(t)||0)+1)}),Array.from(e.entries()).sort((e,s)=>{let[,t]=e,[,a]=s;return a-t}).slice(0,8).map(e=>{let[s]=e;return s})})(),colors:["blue","green","orange","red","purple","yellow","pink","indigo"],valueFormatter:e=>"".concat(e," users"),yAxisWidth:80,showLegend:!0,stack:!0})]})]})]})]})},eT=e=>{let{accessToken:s,userRole:t,dateValue:n,onDateChange:i}=e,[h,p]=(0,Z.useState)({results:[]}),[g,j]=(0,Z.useState)({results:[]}),[f,_]=(0,Z.useState)({results:[]}),[k,b]=(0,Z.useState)({results:[]}),[w,q]=(0,Z.useState)(""),[S,C]=(0,Z.useState)([]),[T,D]=(0,Z.useState)([]),[L,E]=(0,Z.useState)(!1),[A,F]=(0,Z.useState)(!1),[O,M]=(0,Z.useState)(!1),[U,V]=(0,Z.useState)(!1),[z,Y]=(0,Z.useState)(!1),R=new Date,I=async()=>{if(s){E(!0);try{let e=await (0,N.tagDistinctCall)(s);C(e.results.map(e=>e.tag))}catch(e){console.error("Failed to fetch available tags:",e)}finally{E(!1)}}},$=async()=>{if(s){F(!0);try{let e=await (0,N.tagDauCall)(s,R,w||void 0,T.length>0?T:void 0);p(e)}catch(e){console.error("Failed to fetch DAU data:",e)}finally{F(!1)}}},K=async()=>{if(s){M(!0);try{let e=await (0,N.tagWauCall)(s,R,w||void 0,T.length>0?T:void 0);j(e)}catch(e){console.error("Failed to fetch WAU data:",e)}finally{M(!1)}}},P=async()=>{if(s){V(!0);try{let e=await (0,N.tagMauCall)(s,R,w||void 0,T.length>0?T:void 0);_(e)}catch(e){console.error("Failed to fetch MAU data:",e)}finally{V(!1)}}},W=async()=>{if(s&&n.from&&n.to){Y(!0);try{let e=await (0,N.userAgentSummaryCall)(s,n.from,n.to,T.length>0?T:void 0);b(e)}catch(e){console.error("Failed to fetch user agent summary data:",e)}finally{Y(!1)}}};(0,Z.useEffect)(()=>{I()},[s]),(0,Z.useEffect)(()=>{if(!s)return;let e=setTimeout(()=>{$(),K(),P()},50);return()=>clearTimeout(e)},[s,w,T]),(0,Z.useEffect)(()=>{if(!n.from||!n.to)return;let e=setTimeout(()=>{W()},50);return()=>clearTimeout(e)},[s,n,T]);let B=e=>e.startsWith("User-Agent: ")?e.replace("User-Agent: ",""):e,H=e=>e.length>15?e.substring(0,15)+"...":e,G=e=>Object.entries(e.reduce((e,s)=>(e[s.tag]=(e[s.tag]||0)+s.active_users,e),{})).sort((e,s)=>{let[,t]=e,[,a]=s;return a-t}).map(e=>{let[s]=e;return s}),J=G(h.results).slice(0,10),X=G(g.results).slice(0,10),ee=G(f.results).slice(0,10),es=(()=>{let e=[],s=new Date;for(let t=6;t>=0;t--){let a=new Date(s);a.setDate(a.getDate()-t);let r={date:a.toISOString().split("T")[0]};J.forEach(e=>{r[B(e)]=0}),e.push(r)}return h.results.forEach(s=>{let t=B(s.tag),a=e.find(e=>e.date===s.date);a&&(a[t]=s.active_users)}),e})(),et=(()=>{let e=[];for(let s=1;s<=7;s++){let t={week:"Week ".concat(s)};X.forEach(e=>{t[B(e)]=0}),e.push(t)}return g.results.forEach(s=>{let t=B(s.tag),a=s.date.match(/Week (\d+)/);if(a){let r="Week ".concat(a[1]),l=e.find(e=>e.week===r);l&&(l[t]=s.active_users)}}),e})(),ea=(()=>{let e=[];for(let s=1;s<=7;s++){let t={month:"Month ".concat(s)};ee.forEach(e=>{t[B(e)]=0}),e.push(t)}return f.results.forEach(s=>{let t=B(s.tag),a=s.date.match(/Month (\d+)/);if(a){let r="Month ".concat(a[1]),l=e.find(e=>e.month===r);l&&(l[t]=s.active_users)}}),e})(),er=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e>=1e8||e>=1e7||e>=1e6?(e/1e6).toFixed(s)+"M":e>=1e4?(e/1e3).toFixed(s)+"K":e>=1e3?(e/1e3).toFixed(s)+"K":e.toFixed(s)};return(0,a.jsxs)("div",{className:"space-y-6 mt-6",children:[(0,a.jsx)(l.Z,{children:(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex justify-between items-start",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(v.Z,{children:"Summary by User Agent"}),(0,a.jsx)(eq.Z,{children:"Performance metrics for different user agents"})]}),(0,a.jsxs)("div",{className:"w-96",children:[(0,a.jsx)(y.Z,{className:"text-sm font-medium block mb-2",children:"Filter by User Agents"}),(0,a.jsx)(Q.default,{mode:"multiple",placeholder:"All User Agents",value:T,onChange:D,style:{width:"100%"},showSearch:!0,allowClear:!0,loading:L,optionFilterProp:"label",className:"rounded-md",maxTagCount:"responsive",children:S.map(e=>{let s=B(e),t=s.length>50?"".concat(s.substring(0,50),"..."):s;return(0,a.jsx)(Q.default.Option,{value:e,label:t,title:s,children:t},e)})})]})]}),z?(0,a.jsx)(eN,{isDateChanging:!1}):(0,a.jsxs)(c.Z,{numItems:4,className:"gap-4",children:[(k.results||[]).slice(0,4).map((e,s)=>{let t=B(e.tag),r=H(t);return(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(eS.Z,{title:t,placement:"top",children:(0,a.jsx)(v.Z,{className:"truncate",children:r})}),(0,a.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Success Requests"}),(0,a.jsx)(ew.Z,{className:"text-lg",children:er(e.successful_requests)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Tokens"}),(0,a.jsx)(ew.Z,{className:"text-lg",children:er(e.total_tokens)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Cost"}),(0,a.jsxs)(ew.Z,{className:"text-lg",children:["$",er(e.total_spend,4)]})]})]})]},s)}),Array.from({length:Math.max(0,4-(k.results||[]).length)}).map((e,s)=>(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"No Data"}),(0,a.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Success Requests"}),(0,a.jsx)(ew.Z,{className:"text-lg",children:"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Tokens"}),(0,a.jsx)(ew.Z,{className:"text-lg",children:"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"text-sm text-gray-600",children:"Total Cost"}),(0,a.jsx)(ew.Z,{className:"text-lg",children:"-"})]})]})]},"empty-".concat(s)))]})]})}),(0,a.jsx)(l.Z,{children:(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{className:"mb-6",children:[(0,a.jsx)(o.Z,{children:"DAU/WAU/MAU"}),(0,a.jsx)(o.Z,{children:"Per User Usage (Last 30 Days)"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)(v.Z,{children:"DAU, WAU & MAU per Agent"}),(0,a.jsx)(eq.Z,{children:"Active users across different time periods"})]}),(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{className:"mb-6",children:[(0,a.jsx)(o.Z,{children:"DAU"}),(0,a.jsx)(o.Z,{children:"WAU"}),(0,a.jsx)(o.Z,{children:"MAU"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(v.Z,{className:"text-lg",children:"Daily Active Users - Last 7 Days"})}),A?(0,a.jsx)(eN,{isDateChanging:!1}):(0,a.jsx)(r.Z,{data:es,index:"date",categories:J.map(B),valueFormatter:e=>er(e),yAxisWidth:60,showLegend:!0,stack:!0})]}),(0,a.jsxs)(m.Z,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(v.Z,{className:"text-lg",children:"Weekly Active Users - Last 7 Weeks"})}),O?(0,a.jsx)(eN,{isDateChanging:!1}):(0,a.jsx)(r.Z,{data:et,index:"week",categories:X.map(B),valueFormatter:e=>er(e),yAxisWidth:60,showLegend:!0,stack:!0})]}),(0,a.jsxs)(m.Z,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(v.Z,{className:"text-lg",children:"Monthly Active Users - Last 7 Months"})}),U?(0,a.jsx)(eN,{isDateChanging:!1}):(0,a.jsx)(r.Z,{data:ea,index:"month",categories:ee.map(B),valueFormatter:e=>er(e),yAxisWidth:60,showLegend:!0,stack:!0})]})]})]})]}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(eC,{accessToken:s,selectedTags:T,formatAbbreviatedNumber:er})})]})]})})]})},eD=t(47375),eL=t(32176),eE=t(62338),eA=t(12322);function eF(e){let{topModels:s}=e,[t,r]=(0,Z.useState)("table");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end items-center",children:(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>r("table"),className:"px-3 py-1 text-sm rounded-md ".concat("table"===t?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Table View"}),(0,a.jsx)("button",{onClick:()=>r("chart"),className:"px-3 py-1 text-sm rounded-md ".concat("chart"===t?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Chart View"})]})}),"chart"===t?(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(eE.v,{className:"mt-4 h-40",data:s,index:"key",categories:["spend"],colors:["cyan"],valueFormatter:e=>"$".concat((0,A.pw)(e,2)),layout:"vertical",yAxisWidth:200,showLegend:!1})}):(0,a.jsx)("div",{className:"border rounded-lg overflow-auto",children:(0,a.jsx)(eA.w,{columns:[{header:"Model",accessorKey:"key",cell:e=>e.getValue()||"-"},{header:"Spend (USD)",accessorKey:"spend",cell:e=>{let s=e.getValue();return"$".concat((0,A.pw)(s,2))}},{header:"Successful",accessorKey:"successful_requests",cell:e=>{var s;return(0,a.jsx)("span",{className:"text-green-600",children:(null===(s=e.getValue())||void 0===s?void 0:s.toLocaleString())||0})}},{header:"Failed",accessorKey:"failed_requests",cell:e=>{var s;return(0,a.jsx)("span",{className:"text-red-600",children:(null===(s=e.getValue())||void 0===s?void 0:s.toLocaleString())||0})}},{header:"Tokens",accessorKey:"tokens",cell:e=>{var s;return(null===(s=e.getValue())||void 0===s?void 0:s.toLocaleString())||0}}],data:s,renderSubComponent:()=>(0,a.jsx)(a.Fragment,{}),getRowCanExpand:()=>!1})})]})}var eO=e=>{let{accessToken:s,entityType:t,entityId:k,userID:b,userRole:w,entityList:q,premiumUser:S,dateValue:C}=e,[T,D]=(0,Z.useState)({results:[],metadata:{total_spend:0,total_api_requests:0,total_successful_requests:0,total_failed_requests:0,total_tokens:0}}),L=P(T,"models"),E=P(T,"api_keys"),[F,O]=(0,Z.useState)([]),M=async()=>{if(!s||!C.from||!C.to)return;let e=new Date(C.from),a=new Date(C.to);if("tag"===t)D(await (0,N.tagDailyActivityCall)(s,e,a,1,F.length>0?F:null));else if("team"===t)D(await (0,N.teamDailyActivityCall)(s,e,a,1,F.length>0?F:null));else if("organization"===t)D(await (0,N.organizationDailyActivityCall)(s,e,a,1,F.length>0?F:null));else if("customer"===t)D(await (0,N.customerDailyActivityCall)(s,e,a,1,F.length>0?F:null));else if("agent"===t)D(await (0,N.agentDailyActivityCall)(s,e,a,1,F.length>0?F:null));else throw Error("Invalid entity type")};(0,Z.useEffect)(()=>{M()},[s,C,k,F]);let U=()=>{let e={};return T.results.forEach(s=>{Object.entries(s.breakdown.providers||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={provider:t,spend:0,requests:0,successful_requests:0,failed_requests:0,tokens:0});try{e[t].spend+=a.metrics.spend,e[t].requests+=a.metrics.api_requests,e[t].successful_requests+=a.metrics.successful_requests,e[t].failed_requests+=a.metrics.failed_requests,e[t].tokens+=a.metrics.total_tokens}catch(e){console.error("Error processing provider ".concat(t,": ").concat(e))}})}),Object.values(e).filter(e=>e.spend>0).sort((e,s)=>s.spend-e.spend)},V=(e,s)=>{if(q){let s=q.find(s=>s.value===e);if(s)return s.label}return(null==s?void 0:s.team_alias)?s.team_alias:e},z=e=>0===F.length?e:e.filter(e=>F.includes(e.metadata.id)),Y=()=>{let e={};return T.results.forEach(s=>{Object.entries(s.breakdown.entities||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{alias:V(t,a.metadata),id:t}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests,e[t].metrics.failed_requests+=a.metrics.failed_requests,e[t].metrics.total_tokens+=a.metrics.total_tokens})}),z(Object.values(e).sort((e,s)=>s.metrics.spend-e.metrics.spend))},I=t.charAt(0).toUpperCase()+t.slice(1);return(0,a.jsxs)("div",{style:{width:"100%"},className:"relative",children:[(0,a.jsx)(eg,{dateValue:C,entityType:t,spendData:T,showFilters:null!==q&&q.length>0,filterLabel:"Filter by ".concat(t),filterPlaceholder:"Select ".concat(t," to filter..."),selectedFilters:F,onFiltersChange:O,filterOptions:(()=>{if(q)return q})()||void 0}),(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(u.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(o.Z,{children:"Cost"}),(0,a.jsx)(o.Z,{children:"agent"===t?"Request / Token Consumption":"Model Activity"}),(0,a.jsx)(o.Z,{children:"Key Activity"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsx)(m.Z,{children:(0,a.jsxs)(c.Z,{numItems:2,className:"gap-2 w-full",children:[(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsxs)(v.Z,{children:[I," Spend Overview"]}),(0,a.jsxs)(c.Z,{numItems:5,className:"gap-4 mt-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Spend"}),(0,a.jsxs)(y.Z,{className:"text-2xl font-bold mt-2",children:["$",(0,A.pw)(T.metadata.total_spend,2)]})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:T.metadata.total_api_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Successful Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-green-600",children:T.metadata.total_successful_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Failed Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-red-600",children:T.metadata.total_failed_requests.toLocaleString()})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Tokens"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:T.metadata.total_tokens.toLocaleString()})]})]})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Daily Spend"}),(0,a.jsx)(r.Z,{data:[...T.results].sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime()),index:"date",categories:["metrics.spend"],colors:["cyan"],valueFormatter:R,yAxisWidth:100,showLegend:!1,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload,l=Object.keys(r.breakdown.entities||{}).length;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.date}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Total Spend: $",(0,A.pw)(r.metrics.spend,2)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total Requests: ",r.metrics.api_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Successful: ",r.metrics.successful_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Failed: ",r.metrics.failed_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total Tokens: ",r.metrics.total_tokens]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total ",I,"s: ",l]}),(0,a.jsxs)("div",{className:"mt-2 border-t pt-2",children:[(0,a.jsxs)("p",{className:"font-semibold",children:["Spend by ",I,":"]}),Object.entries(r.breakdown.entities||{}).sort((e,s)=>{let[,t]=e,[,a]=s,r=t.metrics.spend;return a.metrics.spend-r}).slice(0,5).map(e=>{let[s,t]=e;return(0,a.jsxs)("p",{className:"text-sm text-gray-600",children:[V(s,t.metadata),": $",(0,A.pw)(t.metrics.spend,2)]},s)}),l>5&&(0,a.jsxs)("p",{className:"text-sm text-gray-500 italic",children:["...and ",l-5," more"]})]})]})}})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsx)(l.Z,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,a.jsxs)("div",{className:"flex flex-col space-y-2",children:[(0,a.jsxs)(v.Z,{children:["Spend Per ",I]}),(0,a.jsx)(eq.Z,{className:"text-xs",children:"Showing Top 5 by Spend"}),(0,a.jsxs)("div",{className:"flex items-center text-sm text-gray-500",children:[(0,a.jsxs)("span",{children:["Get Started by Tracking cost per ",I," "]}),(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/enterprise#spend-tracking",className:"text-blue-500 hover:text-blue-700 ml-1",children:"here"})]})]}),(0,a.jsxs)(c.Z,{numItems:2,className:"gap-6",children:[(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)(r.Z,{className:"mt-4 h-52",data:Y().slice(0,5).map(e=>({...e,metadata:{...e.metadata,alias_display:e.metadata.alias&&e.metadata.alias.length>15?"".concat(e.metadata.alias.slice(0,15),"..."):e.metadata.alias}})),index:"metadata.alias_display",categories:["metrics.spend"],colors:["cyan"],valueFormatter:R,layout:"vertical",showLegend:!1,yAxisWidth:150,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.metadata.alias}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Spend: $",(0,A.pw)(r.metrics.spend,4)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Requests: ",r.metrics.api_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-green-600",children:["Successful: ",r.metrics.successful_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-red-600",children:["Failed: ",r.metrics.failed_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Tokens: ",r.metrics.total_tokens.toLocaleString()]})]})}})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)("div",{className:"h-52 overflow-y-auto",children:(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:I}),(0,a.jsx)(f.Z,{children:"Spend"}),(0,a.jsx)(f.Z,{className:"text-green-600",children:"Successful"}),(0,a.jsx)(f.Z,{className:"text-red-600",children:"Failed"}),(0,a.jsx)(f.Z,{children:"Tokens"})]})}),(0,a.jsx)(p.Z,{children:Y().filter(e=>e.metrics.spend>0).map(e=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:e.metadata.alias}),(0,a.jsxs)(g.Z,{children:["$",(0,A.pw)(e.metrics.spend,4)]}),(0,a.jsx)(g.Z,{className:"text-green-600",children:e.metrics.successful_requests.toLocaleString()}),(0,a.jsx)(g.Z,{className:"text-red-600",children:e.metrics.failed_requests.toLocaleString()}),(0,a.jsx)(g.Z,{children:e.metrics.total_tokens.toLocaleString()})]},e.metadata.id))})]})})})]})]})})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Top Virtual Keys"}),(0,a.jsx)(eL.Z,{topKeys:(()=>{console.log("debugTags",{spendData:T});let e={};return T.results.forEach(s=>{let{breakdown:t}=s,{entities:a}=t;console.log("debugTags",{entities:a});let r=Object.keys(a).reduce((e,s)=>{let{api_key_breakdown:t}=a[s];return Object.keys(t).forEach(a=>{let r={tag:s,usage:t[a].metrics.spend};e[a]?e[a].push(r):e[a]=[r]}),e},{});console.log("debugTags",{tagDictionary:r}),Object.entries(s.breakdown.api_keys||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{key_alias:a.metadata.key_alias,team_id:a.metadata.team_id||null,tags:r[t]||[]}},console.log("debugTags",{keySpend:e})),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests,e[t].metrics.failed_requests+=a.metrics.failed_requests,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{api_key:s,key_alias:t.metadata.key_alias||"-",tags:t.metadata.tags||"-",spend:t.metrics.spend}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})(),teams:null,showTags:"tag"===t})]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"agent"===t?"Top Agents":"Top Models"}),(0,a.jsx)(eF,{topModels:(()=>{let e={};return T.results.forEach(s=>{Object.entries(s.breakdown.models||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={spend:0,requests:0,successful_requests:0,failed_requests:0,tokens:0});try{e[t].spend+=a.metrics.spend}catch(e){console.error("Error adding spend for ".concat(t,": ").concat(e,", got metrics: ").concat(JSON.stringify(a)))}e[t].requests+=a.metrics.api_requests,e[t].successful_requests+=a.metrics.successful_requests,e[t].failed_requests+=a.metrics.failed_requests,e[t].tokens+=a.metrics.total_tokens})}),Object.entries(e).map(e=>{let[s,t]=e;return{key:s,...t}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})()})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsx)(l.Z,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,a.jsx)(v.Z,{children:"Provider Usage"}),(0,a.jsxs)(c.Z,{numItems:2,children:[(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)(i.Z,{className:"mt-4 h-40",data:U(),index:"provider",category:"spend",valueFormatter:e=>"$".concat((0,A.pw)(e,2)),colors:["cyan","blue","indigo","violet","purple"]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:"Provider"}),(0,a.jsx)(f.Z,{children:"Spend"}),(0,a.jsx)(f.Z,{className:"text-green-600",children:"Successful"}),(0,a.jsx)(f.Z,{className:"text-red-600",children:"Failed"}),(0,a.jsx)(f.Z,{children:"Tokens"})]})}),(0,a.jsx)(p.Z,{children:U().map(e=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[e.provider&&(0,a.jsx)("img",{src:(0,ej.dr)(e.provider).logo,alt:"".concat(e.provider," logo"),className:"w-4 h-4",onError:s=>{let t=s.target,a=t.parentElement;if(a){var r;let s=document.createElement("div");s.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",s.textContent=(null===(r=e.provider)||void 0===r?void 0:r.charAt(0))||"-",a.replaceChild(s,t)}}}),(0,a.jsx)("span",{children:e.provider})]})}),(0,a.jsxs)(g.Z,{children:["$",(0,A.pw)(e.spend,2)]}),(0,a.jsx)(g.Z,{className:"text-green-600",children:e.successful_requests.toLocaleString()}),(0,a.jsx)(g.Z,{className:"text-red-600",children:e.failed_requests.toLocaleString()}),(0,a.jsx)(g.Z,{children:e.tokens.toLocaleString()})]},e.provider))})]})})]})]})})})]})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)($,{modelMetrics:L,hidePromptCachingMetrics:"agent"===t})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)($,{modelMetrics:E,hidePromptCachingMetrics:"agent"===t})})]})]})]})},eM=t(64739),eU=t(37527),eV=t(41361),ez=t(40312),eY=t(71891),eR=t(69993),eI=t(48231),e$=t(9775);let eK=[{value:"global",label:"Global Usage",showForAdmin:"Global Usage",showForNonAdmin:"Your Usage",description:"View usage across all resources",descriptionForAdmin:"View usage across all resources",descriptionForNonAdmin:"View your usage",icon:(0,a.jsx)(eM.Z,{style:{fontSize:"16px"}})},{value:"organization",label:"Organization Usage",showForAdmin:"Organization Usage",showForNonAdmin:"Your Organization Usage",description:"View organization-level usage",descriptionForAdmin:"View usage across all organizations",descriptionForNonAdmin:"View your organization's usage",icon:(0,a.jsx)(eU.Z,{style:{fontSize:"16px"}})},{value:"team",label:"Team Usage",description:"View usage by team",icon:(0,a.jsx)(eV.Z,{style:{fontSize:"16px"}})},{value:"customer",label:"Customer Usage",description:"View usage by customer accounts",icon:(0,a.jsx)(ez.Z,{style:{fontSize:"16px"}}),adminOnly:!0},{value:"tag",label:"Tag Usage",description:"View usage grouped by tags",icon:(0,a.jsx)(eY.Z,{style:{fontSize:"16px"}}),adminOnly:!0},{value:"agent",label:"Agent Usage (A2A)",description:"View usage by AI agents",icon:(0,a.jsx)(eR.Z,{style:{fontSize:"16px"}}),adminOnly:!0,badgeText:"New"},{value:"user-agent-activity",label:"User Agent Activity",description:"View detailed user agent activity logs",icon:(0,a.jsx)(eI.Z,{style:{fontSize:"16px"}}),adminOnly:!0}],eP=e=>{let{value:s,onChange:t,isAdmin:r,title:l="Usage View",description:n="Select the usage data you want to view","data-id":i}=e,c=eK.filter(e=>!e.adminOnly||!!r).map(e=>{let s=e.label,t=e.description;return e.showForAdmin&&e.showForNonAdmin&&(s=r?e.showForAdmin:e.showForNonAdmin),e.descriptionForAdmin&&e.descriptionForNonAdmin&&(t=r?e.descriptionForAdmin:e.descriptionForNonAdmin),{value:e.value,label:s,description:t,icon:e.icon,badgeText:e.badgeText}});return(0,a.jsx)("div",{className:"w-full","data-id":i,children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-start gap-4",children:[(0,a.jsxs)("div",{className:"flex items-stretch gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-shrink-0 flex items-center",children:(0,a.jsx)(e$.Z,{style:{fontSize:"32px"}})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-gray-900 mb-0.5 leading-tight",children:l}),(0,a.jsx)("p",{className:"text-xs text-gray-600 leading-tight",children:n})]})]}),(0,a.jsx)("div",{className:"flex-shrink-0",children:(0,a.jsx)(Q.default,{value:s,onChange:t,className:"w-54 sm:w-64 md:w-72",size:"large",options:c.map(e=>({value:e.value,label:e.label})),optionRender:e=>{let s=c.find(s=>s.value===e.value);return s?(0,a.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,a.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:s.icon}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-900",children:s.label}),(0,a.jsx)("div",{className:"text-xs text-gray-600 mt-0.5",children:s.description})]}),s.badgeText&&(0,a.jsx)("div",{className:"items-center",children:(0,a.jsx)(k.Z,{color:"blue",count:s.badgeText})})]}):e.label},labelRender:e=>{let s=c.find(s=>s.value===e.value);return s?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{children:s.icon}),(0,a.jsx)("span",{className:"text-sm",children:s.label})]}):e.label}})})]})})};var eW=e=>{var s,t,w,q,C,D,O,M,U,V,z;let{teams:Y,organizations:I}=e,{accessToken:K,userRole:W,userId:B,premiumUser:H}=(0,E.Z)(),[G,J]=(0,Z.useState)({results:[],metadata:{}}),[Q,X]=(0,Z.useState)(!1),[ee,et]=(0,Z.useState)(!1),ea=(0,Z.useMemo)(()=>new Date(Date.now()-6048e5),[]),er=(0,Z.useMemo)(()=>new Date,[]),[el,en]=(0,Z.useState)({from:ea,to:er}),[ei,ec]=(0,Z.useState)([]),{data:eo=[]}=L(K,W),{data:ed}=T(K,W),[eu,em]=(0,Z.useState)("groups"),[ex,ep]=(0,Z.useState)(!1),[eg,ef]=(0,Z.useState)(!1),[e_,ey]=(0,Z.useState)(!0),[ev,ek]=(0,Z.useState)(!0),[eZ,ew]=(0,Z.useState)("global"),[eq,eS]=(0,Z.useState)(!0),eC=async()=>{K&&ec(Object.values(await (0,N.tagListCall)(K)).map(e=>({label:e.name,value:e.name})))};(0,Z.useEffect)(()=>{eC()},[K]);let eE=(null===(s=G.metadata)||void 0===s?void 0:s.total_spend)||0,eA=()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.providers||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{},api_key_breakdown:{}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests||0,e[t].metrics.failed_requests+=a.metrics.failed_requests||0,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{provider:s,spend:t.metrics.spend,requests:t.metrics.api_requests,successful_requests:t.metrics.successful_requests,failed_requests:t.metrics.failed_requests,tokens:t.metrics.total_tokens}})},eF=(0,Z.useCallback)(async()=>{if(!K||!el.from||!el.to)return;X(!0);let e=new Date(el.from),s=new Date(el.to);try{try{let t=await (0,N.userDailyActivityAggregatedCall)(K,e,s);J(t);return}catch(e){}let t=await (0,N.userDailyActivityCall)(K,e,s);if(t.metadata.total_pages<=1){J(t);return}let a=[...t.results],r={...t.metadata};for(let l=2;l<=t.metadata.total_pages;l++){let t=await (0,N.userDailyActivityCall)(K,e,s,l);a.push(...t.results),t.metadata&&(r.total_spend+=t.metadata.total_spend||0,r.total_api_requests+=t.metadata.total_api_requests||0,r.total_successful_requests+=t.metadata.total_successful_requests||0,r.total_failed_requests+=t.metadata.total_failed_requests||0,r.total_tokens+=t.metadata.total_tokens||0)}J({results:a,metadata:r})}catch(e){console.error("Error fetching user spend data:",e)}finally{X(!1),et(!1)}},[K,el.from,el.to]),eM=(0,Z.useCallback)(e=>{et(!0),X(!0),en(e)},[]);(0,Z.useEffect)(()=>{if(!el.from||!el.to)return;let e=setTimeout(()=>{eF()},50);return()=>clearTimeout(e)},[eF]);let eU=P(G,"models"),eV=P(G,"api_keys"),ez=P(G,"mcp_servers");return(0,a.jsxs)("div",{style:{width:"100%"},className:"p-8 relative",children:[(0,a.jsx)("div",{className:"flex items-end justify-between gap-6 mb-6",children:(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsxs)("div",{className:"flex items-end justify-between gap-6 mb-4 w-full",children:[(0,a.jsx)(k.Z,{color:"blue",count:"New",children:(0,a.jsx)(eP,{value:eZ,onChange:e=>ew(e),isAdmin:S.ZL.includes(W||"")})}),(0,a.jsx)(eb,{value:el,onValueChange:eM})]}),"global"===eZ&&(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsxs)(u.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(o.Z,{children:"Cost"}),(0,a.jsx)(o.Z,{children:"Model Activity"}),(0,a.jsx)(o.Z,{children:"Key Activity"}),(0,a.jsx)(o.Z,{children:"MCP Server Activity"})]}),(0,a.jsx)(F.z,{onClick:()=>ef(!0),icon:()=>(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),children:"Export Data"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsx)(m.Z,{children:(0,a.jsxs)(c.Z,{numItems:2,className:"gap-2 w-full",children:[(0,a.jsxs)(n.Z,{numColSpan:2,children:[(0,a.jsxs)(y.Z,{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content mb-2 mt-2 text-lg",children:["Project Spend"," ",el.from&&el.to&&(0,a.jsxs)(a.Fragment,{children:[el.from.toLocaleDateString("en-US",{month:"short",day:"numeric",year:el.from.getFullYear()!==el.to.getFullYear()?"numeric":void 0})," - ",el.to.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]})]}),(0,a.jsx)(eD.Z,{userSpend:eE,selectedTeam:null,userMaxBudget:null})]}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Usage Metrics"}),(0,a.jsxs)(c.Z,{numItems:5,className:"gap-4 mt-4",children:[(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:(null===(w=G.metadata)||void 0===w?void 0:null===(t=w.total_api_requests)||void 0===t?void 0:t.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Successful Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-green-600",children:(null===(C=G.metadata)||void 0===C?void 0:null===(q=C.total_successful_requests)||void 0===q?void 0:q.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Failed Requests"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2 text-red-600",children:(null===(O=G.metadata)||void 0===O?void 0:null===(D=O.total_failed_requests)||void 0===D?void 0:D.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Total Tokens"}),(0,a.jsx)(y.Z,{className:"text-2xl font-bold mt-2",children:(null===(U=G.metadata)||void 0===U?void 0:null===(M=U.total_tokens)||void 0===M?void 0:M.toLocaleString())||0})]}),(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Average Cost per Request"}),(0,a.jsxs)(y.Z,{className:"text-2xl font-bold mt-2",children:["$",(0,A.pw)((eE||0)/((null===(V=G.metadata)||void 0===V?void 0:V.total_api_requests)||1),4)]})]})]})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(v.Z,{children:"Daily Spend"}),Q?(0,a.jsx)(eN,{isDateChanging:ee}):(0,a.jsx)(r.Z,{data:[...G.results].sort((e,s)=>new Date(e.date).getTime()-new Date(s.date).getTime()),index:"date",categories:["metrics.spend"],colors:["cyan"],valueFormatter:R,yAxisWidth:100,showLegend:!1,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.date}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Spend: $",(0,A.pw)(r.metrics.spend,2)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Requests: ",r.metrics.api_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Successful: ",r.metrics.successful_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Failed: ",r.metrics.failed_requests]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Tokens: ",r.metrics.total_tokens]})]})}})]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{className:"h-full",children:[(0,a.jsx)(v.Z,{children:"Top Virtual Keys"}),(0,a.jsx)(eL.Z,{topKeys:(()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.api_keys||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{key_alias:a.metadata.key_alias,team_id:null,tags:a.metadata.tags||[]}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests,e[t].metrics.failed_requests+=a.metrics.failed_requests,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),console.log("debugTags",{keySpend:e,userSpendData:G}),Object.entries(e).map(e=>{let[s,t]=e;return{api_key:s,key_alias:t.metadata.key_alias||"-",tags:t.metadata.tags||[],spend:t.metrics.spend}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})(),teams:null})]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(l.Z,{className:"h-full",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(v.Z,{children:"groups"===eu?"Top Public Model Names":"Top Litellm Models"}),(0,a.jsxs)("div",{className:"flex bg-gray-100 rounded-lg p-1",children:[(0,a.jsx)("button",{className:"px-3 py-1 text-sm rounded-md transition-colors ".concat("groups"===eu?"bg-white shadow-sm text-gray-900":"text-gray-600 hover:text-gray-900"),onClick:()=>em("groups"),children:"Public Model Name"}),(0,a.jsx)("button",{className:"px-3 py-1 text-sm rounded-md transition-colors ".concat("individual"===eu?"bg-white shadow-sm text-gray-900":"text-gray-600 hover:text-gray-900"),onClick:()=>em("individual"),children:"Litellm Model Name"})]})]}),Q?(0,a.jsx)(eN,{isDateChanging:ee}):(0,a.jsx)(r.Z,{className:"mt-4 h-40",data:"groups"===eu?(()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.model_groups||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{},api_key_breakdown:{}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests||0,e[t].metrics.failed_requests+=a.metrics.failed_requests||0,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{key:s,spend:t.metrics.spend,requests:t.metrics.api_requests,successful_requests:t.metrics.successful_requests,failed_requests:t.metrics.failed_requests,tokens:t.metrics.total_tokens}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})():(()=>{let e={};return G.results.forEach(s=>{Object.entries(s.breakdown.models||{}).forEach(s=>{let[t,a]=s;e[t]||(e[t]={metrics:{spend:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,api_requests:0,successful_requests:0,failed_requests:0,cache_read_input_tokens:0,cache_creation_input_tokens:0},metadata:{},api_key_breakdown:{}}),e[t].metrics.spend+=a.metrics.spend,e[t].metrics.prompt_tokens+=a.metrics.prompt_tokens,e[t].metrics.completion_tokens+=a.metrics.completion_tokens,e[t].metrics.total_tokens+=a.metrics.total_tokens,e[t].metrics.api_requests+=a.metrics.api_requests,e[t].metrics.successful_requests+=a.metrics.successful_requests||0,e[t].metrics.failed_requests+=a.metrics.failed_requests||0,e[t].metrics.cache_read_input_tokens+=a.metrics.cache_read_input_tokens||0,e[t].metrics.cache_creation_input_tokens+=a.metrics.cache_creation_input_tokens||0})}),Object.entries(e).map(e=>{let[s,t]=e;return{key:s,spend:t.metrics.spend,requests:t.metrics.api_requests,successful_requests:t.metrics.successful_requests,failed_requests:t.metrics.failed_requests,tokens:t.metrics.total_tokens}}).sort((e,s)=>s.spend-e.spend).slice(0,5)})(),index:"key",categories:["spend"],colors:["cyan"],valueFormatter:R,layout:"vertical",yAxisWidth:200,showLegend:!1,customTooltip:e=>{let{payload:s,active:t}=e;if(!t||!(null==s?void 0:s[0]))return null;let r=s[0].payload;return(0,a.jsxs)("div",{className:"bg-white p-4 shadow-lg rounded-lg border",children:[(0,a.jsx)("p",{className:"font-bold",children:r.key}),(0,a.jsxs)("p",{className:"text-cyan-500",children:["Spend: $",(0,A.pw)(r.spend,2)]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Total Requests: ",r.requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-green-600",children:["Successful: ",r.successful_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-red-600",children:["Failed: ",r.failed_requests.toLocaleString()]}),(0,a.jsxs)("p",{className:"text-gray-600",children:["Tokens: ",r.tokens.toLocaleString()]})]})}})]})}),(0,a.jsx)(n.Z,{numColSpan:2,children:(0,a.jsxs)(l.Z,{className:"h-full",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsx)(v.Z,{children:"Spend by Provider"})}),Q?(0,a.jsx)(eN,{isDateChanging:ee}):(0,a.jsxs)(c.Z,{numItems:2,children:[(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsx)(i.Z,{className:"mt-4 h-40",data:eA(),index:"provider",category:"spend",valueFormatter:e=>"$".concat((0,A.pw)(e,2)),colors:["cyan"]})}),(0,a.jsx)(n.Z,{numColSpan:1,children:(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(f.Z,{children:"Provider"}),(0,a.jsx)(f.Z,{children:"Spend"}),(0,a.jsx)(f.Z,{className:"text-green-600",children:"Successful"}),(0,a.jsx)(f.Z,{className:"text-red-600",children:"Failed"}),(0,a.jsx)(f.Z,{children:"Tokens"})]})}),(0,a.jsx)(p.Z,{children:eA().filter(e=>e.spend>0).map(e=>(0,a.jsxs)(_.Z,{children:[(0,a.jsx)(g.Z,{children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[e.provider&&(0,a.jsx)("img",{src:(0,ej.dr)(e.provider).logo,alt:"".concat(e.provider," logo"),className:"w-4 h-4",onError:s=>{let t=s.target,a=t.parentElement;if(a){var r;let s=document.createElement("div");s.className="w-4 h-4 rounded-full bg-gray-200 flex items-center justify-center text-xs",s.textContent=(null===(r=e.provider)||void 0===r?void 0:r.charAt(0))||"-",a.replaceChild(s,t)}}}),(0,a.jsx)("span",{children:e.provider})]})}),(0,a.jsxs)(g.Z,{children:["$",(0,A.pw)(e.spend,2)]}),(0,a.jsx)(g.Z,{className:"text-green-600",children:e.successful_requests.toLocaleString()}),(0,a.jsx)(g.Z,{className:"text-red-600",children:e.failed_requests.toLocaleString()}),(0,a.jsx)(g.Z,{children:e.tokens.toLocaleString()})]},e.provider))})]})})]})]})})]})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)($,{modelMetrics:eU})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)($,{modelMetrics:eV})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)($,{modelMetrics:ez})})]})]}),"organization"===eZ&&(0,a.jsxs)(a.Fragment,{children:[e_&&(0,a.jsx)(b.Z,{banner:!0,type:"info",message:"Organization usage is a new feature.",description:"Spend is tracked from feature launch and previous data isn't backfilled, so only future usage appears here.",closable:!0,onClose:()=>ey(!1),className:"mb-5"}),(0,a.jsx)(eO,{accessToken:K,entityType:"organization",userID:B,userRole:W,dateValue:el,entityList:(null==I?void 0:I.map(e=>({label:e.organization_alias,value:e.organization_id})))||null,premiumUser:H})]}),"team"===eZ&&(0,a.jsx)(eO,{accessToken:K,entityType:"team",userID:B,userRole:W,entityList:(null==Y?void 0:Y.map(e=>({label:e.team_alias,value:e.team_id})))||null,premiumUser:H,dateValue:el}),"customer"===eZ&&(0,a.jsxs)(a.Fragment,{children:[ev&&(0,a.jsx)(b.Z,{banner:!0,type:"info",message:"Customer usage is a new feature.",description:"Spend is tracked from feature launch and previous data isn't backfilled, so only future usage appears here.",closable:!0,onClose:()=>ek(!1),className:"mb-5"}),(0,a.jsx)(eO,{accessToken:K,entityType:"customer",userID:B,userRole:W,entityList:(null==eo?void 0:eo.map(e=>({label:e.alias||e.user_id,value:e.user_id})))||null,premiumUser:H,dateValue:el})]}),"tag"===eZ&&(0,a.jsx)(eO,{accessToken:K,entityType:"tag",userID:B,userRole:W,entityList:ei,premiumUser:H,dateValue:el}),"agent"===eZ&&(0,a.jsxs)(a.Fragment,{children:[eq&&(0,a.jsx)(b.Z,{banner:!0,type:"info",message:"Agent usage (A2A) is a new feature.",description:"Spend is tracked from feature launch and previous data isn't backfilled, so only future usage appears here.",closable:!0,onClose:()=>eS(!1),className:"mb-5"}),(0,a.jsx)(eO,{accessToken:K,entityType:"agent",userID:B,userRole:W,entityList:(null==ed?void 0:null===(z=ed.agents)||void 0===z?void 0:z.map(e=>({label:e.agent_name,value:e.agent_id})))||null,premiumUser:H,dateValue:el})," "]}),"user-agent-activity"===eZ&&(0,a.jsx)(eT,{accessToken:K,userRole:W,dateValue:el})]})}),(0,a.jsx)(es,{isOpen:ex,onClose:()=>ep(!1),accessToken:K}),(0,a.jsx)(eh,{isOpen:eg,onClose:()=>ef(!1),entityType:"team",spendData:{results:G.results,metadata:G.metadata},dateRange:el,selectedFilters:[],customTitle:"Export Usage Data"})]})}},91323:function(e,s,t){t.d(s,{S:function(){return n}});var a=t(57437),r=t(2265),l=t(10012);function n(e){var s,t;let{className:n="",...i}=e,c=(0,r.useId)();return s=()=>{let e=document.getAnimations().filter(e=>e instanceof CSSAnimation&&"spin"===e.animationName),s=e.find(e=>{var s;return(null===(s=e.effect.target)||void 0===s?void 0:s.getAttribute("data-spinner-id"))===c}),t=e.find(e=>{var s;return e.effect instanceof KeyframeEffect&&(null===(s=e.effect.target)||void 0===s?void 0:s.getAttribute("data-spinner-id"))!==c});s&&t&&(s.currentTime=t.currentTime)},t=[c],(0,r.useLayoutEffect)(s,t),(0,a.jsxs)("svg",{"data-spinner-id":c,className:(0,l.cx)("pointer-events-none size-12 animate-spin text-current",n),fill:"none",viewBox:"0 0 24 24",...i,children:[(0,a.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,a.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},47375:function(e,s,t){var a=t(57437),r=t(2265),l=t(19250),n=t(59872),i=t(39760);s.Z=e=>{let{userSpend:s,userMaxBudget:t,selectedTeam:c}=e,{accessToken:o,userRole:d,userId:u}=(0,i.Z)();console.log("userSpend: ".concat(s));let[m,x]=(0,r.useState)(null!==s?s:0),[h,p]=(0,r.useState)(c?Number((0,n.pw)(c.max_budget,4)):null);(0,r.useEffect)(()=>{if(c){if("Default Team"===c.team_alias)p(t);else{let e=!1;if(c.team_memberships)for(let s of c.team_memberships)s.user_id===u&&"max_budget"in s.litellm_budget_table&&null!==s.litellm_budget_table.max_budget&&(p(s.litellm_budget_table.max_budget),e=!0);e||p(c.max_budget)}}},[c,t]);let[g,j]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=async()=>{if(!o||!u||!d)return};(async()=>{try{if(null===u||null===d)return;if(null!==o){let e=(await (0,l.modelAvailableCall)(o,u,d)).data.map(e=>e.id);console.log("available_model_names:",e),j(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[d,o,u]),(0,r.useEffect)(()=>{null!==s&&x(s)},[s]);let f=[];c&&c.models&&(f=c.models),f&&f.includes("all-proxy-models")?(console.log("user models:",g),f=g):f&&f.includes("all-team-models")?f=c.models:f&&0===f.length&&(f=g);let _=null!==h?"$".concat((0,n.pw)(Number(h),4)," limit"):"No limit",y=void 0!==m?(0,n.pw)(m,4):null;return console.log("spend in view user spend: ".concat(m)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",y]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:_})]})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/849-d1cabf66d71a8808.js b/litellm/proxy/_experimental/out/_next/static/chunks/849-d1cabf66d71a8808.js deleted file mode 100644 index cf75876f70..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/849-d1cabf66d71a8808.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[849],{14042:function(e,t,n){"use strict";n.d(t,{Z:function(){return eM}});var r=n(5853),o=n(7084),i=n(26898),a=n(13241),c=n(1153),l=n(2265),s=n(60474),u=n(47625),p=n(93765),f=n(86757),d=n.n(f),y=n(87602),m=n(9841),v=n(81889),h=n(82944),b=["points","className","baseLinePoints","connectNulls"];function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:[],t=[[]];return e.forEach(function(e){x(e)?t[t.length-1].push(e):t[t.length-1].length>0&&t.push([])}),x(e[0])&&t[t.length-1].push(e[0]),t[t.length-1].length<=0&&(t=t.slice(0,-1)),t},j=function(e,t){var n=k(e);t&&(n=[n.reduce(function(e,t){return[].concat(A(e),A(t))},[])]);var r=n.map(function(e){return e.reduce(function(e,t,n){return"".concat(e).concat(0===n?"M":"L").concat(t.x,",").concat(t.y)},"")}).join("");return 1===n.length?"".concat(r,"Z"):r},P=function(e,t,n){var r=j(e,n);return"".concat("Z"===r.slice(-1)?r.slice(0,-1):r,"L").concat(j(t.reverse(),n).slice(1))},w=function(e){var t=e.points,n=e.className,r=e.baseLinePoints,o=e.connectNulls,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,b);if(!t||!t.length)return null;var a=(0,y.Z)("recharts-polygon",n);if(r&&r.length){var c=i.stroke&&"none"!==i.stroke,s=P(t,r,o);return l.createElement("g",{className:a},l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"Z"===s.slice(-1)?i.fill:"none",stroke:"none",d:s})),c?l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"none",d:j(t,o)})):null,c?l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"none",d:j(r,o)})):null)}var u=j(t,o);return l.createElement("path",g({},(0,h.L6)(i,!0),{fill:"Z"===u.slice(-1)?i.fill:"none",className:a,d:u}))},E=n(58811),S=n(41637),T=n(39206);function L(e){return(L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function R(){return(R=Object.assign?Object.assign.bind():function(e){for(var t=1;t1e-5?"outer"===t?"start":"end":n<-.00001?"outer"===t?"end":"start":"middle"}},{key:"renderAxisLine",value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.radius,o=e.axisLine,i=e.axisLineType,a=I(I({},(0,h.L6)(this.props,!1)),{},{fill:"none"},(0,h.L6)(o,!1));if("circle"===i)return l.createElement(v.o,R({className:"recharts-polar-angle-axis-line"},a,{cx:t,cy:n,r:r}));var c=this.props.ticks.map(function(e){return(0,T.op)(t,n,r,e.coordinate)});return l.createElement(w,R({className:"recharts-polar-angle-axis-line"},a,{points:c}))}},{key:"renderTicks",value:function(){var e=this,t=this.props,n=t.ticks,o=t.tick,i=t.tickLine,a=t.tickFormatter,c=t.stroke,s=(0,h.L6)(this.props,!1),u=(0,h.L6)(o,!1),p=I(I({},s),{},{fill:"none"},(0,h.L6)(i,!1)),f=n.map(function(t,n){var f=e.getTickLineCoord(t),d=I(I(I({textAnchor:e.getTickTextAnchor(t)},s),{},{stroke:"none",fill:c},u),{},{index:n,payload:t,x:f.x2,y:f.y2});return l.createElement(m.m,R({className:(0,y.Z)("recharts-polar-angle-axis-tick",(0,T.$S)(o)),key:"tick-".concat(t.coordinate)},(0,S.bw)(e.props,t,n)),i&&l.createElement("line",R({className:"recharts-polar-angle-axis-tick-line"},p,f)),o&&r.renderTickItem(o,d,a?a(t.value,n):t.value))});return l.createElement(m.m,{className:"recharts-polar-angle-axis-ticks"},f)}},{key:"render",value:function(){var e=this.props,t=e.ticks,n=e.radius,r=e.axisLine;return!(n<=0)&&t&&t.length?l.createElement(m.m,{className:(0,y.Z)("recharts-polar-angle-axis",this.props.className)},r&&this.renderAxisLine(),this.renderTicks()):null}}],n=[{key:"renderTickItem",value:function(e,t,n){return l.isValidElement(e)?l.cloneElement(e,t):d()(e)?e(t):l.createElement(E.x,R({},t,{className:"recharts-polar-angle-axis-tick-value"}),n)}}],t&&C(r.prototype,t),n&&C(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}(l.PureComponent);Z(M,"displayName","PolarAngleAxis"),Z(M,"axisType","angleAxis"),Z(M,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var V=n(35802),$=n.n(V),q=n(37891),z=n.n(q),G=n(26680),Y=["cx","cy","angle","ticks","axisLine"],H=["ticks","tick","angle","tickFormatter","stroke"];function U(e){return(U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function W(){return(W=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ee(e,t){for(var n=0;n0?es()(e,"paddingAngle",0):0;if(n){var c=(0,eb.k4)(n.endAngle-n.startAngle,e.endAngle-e.startAngle),l=eP(eP({},e),{},{startAngle:i+a,endAngle:i+c(r)+a});o.push(l),i=l.endAngle}else{var s=e.endAngle,p=e.startAngle,f=(0,eb.k4)(0,s-p)(r),d=eP(eP({},e),{},{startAngle:i+a,endAngle:i+f+a});o.push(d),i=d.endAngle}}),l.createElement(m.m,null,e.renderSectorsStatically(o))})}},{key:"attachKeyboardHandlers",value:function(e){var t=this;e.onkeydown=function(e){if(!e.altKey)switch(e.key){case"ArrowLeft":var n=++t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[n].focus(),t.setState({sectorToFocus:n});break;case"ArrowRight":var r=--t.state.sectorToFocus<0?t.sectorRefs.length-1:t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[r].focus(),t.setState({sectorToFocus:r});break;case"Escape":t.sectorRefs[t.state.sectorToFocus].blur(),t.setState({sectorToFocus:0})}}}},{key:"renderSectors",value:function(){var e=this.props,t=e.sectors,n=e.isAnimationActive,r=this.state.prevSectors;return n&&t&&t.length&&(!r||!ep()(r,t))?this.renderSectorsWithAnimation():this.renderSectorsStatically(t)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var e=this,t=this.props,n=t.hide,r=t.sectors,o=t.className,i=t.label,a=t.cx,c=t.cy,s=t.innerRadius,u=t.outerRadius,p=t.isAnimationActive,f=this.state.isAnimationFinished;if(n||!r||!r.length||!(0,eb.hj)(a)||!(0,eb.hj)(c)||!(0,eb.hj)(s)||!(0,eb.hj)(u))return null;var d=(0,y.Z)("recharts-pie",o);return l.createElement(m.m,{tabIndex:this.props.rootTabIndex,className:d,ref:function(t){e.pieRef=t}},this.renderSectors(),i&&this.renderLabels(r),G._.renderCallByParent(this.props,null,!1),(!p||f)&&em.e.renderCallByParent(this.props,r,!1))}}],n=[{key:"getDerivedStateFromProps",value:function(e,t){return t.prevIsAnimationActive!==e.isAnimationActive?{prevIsAnimationActive:e.isAnimationActive,prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:[],isAnimationFinished:!0}:e.isAnimationActive&&e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:t.curSectors,isAnimationFinished:!0}:e.sectors!==t.curSectors?{curSectors:e.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(e,t){return e>t?"start":e=360?A:A-1)*u,x=a.reduce(function(e,t){var n=(0,eg.F$)(t,g,0);return e+((0,eb.hj)(n)?n:0)},0);return x>0&&(t=a.map(function(e,t){var r,o=(0,eg.F$)(e,g,0),i=(0,eg.F$)(e,f,t),a=((0,eb.hj)(o)?o:0)/x,s=(r=t?n.endAngle+(0,eb.uY)(h)*u*(0!==o?1:0):l)+(0,eb.uY)(h)*((0!==o?m:0)+a*O),p=(r+s)/2,d=(v.innerRadius+v.outerRadius)/2,b=[{name:i,value:o,payload:e,dataKey:g,type:y}],A=(0,T.op)(v.cx,v.cy,d,p);return n=eP(eP(eP({percent:a,cornerRadius:c,name:i,tooltipPayload:b,midAngle:p,middleRadius:d,tooltipPosition:A},e),v),{},{value:(0,eg.F$)(e,g),startAngle:r,endAngle:s,payload:e,paddingAngle:(0,eb.uY)(h)*u})})),eP(eP({},v),{},{sectors:t,data:a})});var eI=(0,p.z)({chartName:"PieChart",GraphicalChild:eN,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:M},{axisType:"radiusAxis",AxisComp:ea}],formatAxisMap:T.t9,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}}),eC=n(8147),eD=n(92666),eF=n(98593);let e_=e=>{let{active:t,payload:n,valueFormatter:r}=e;if(t&&(null==n?void 0:n[0])){let e=null==n?void 0:n[0];return l.createElement(eF.$B,null,l.createElement("div",{className:(0,a.q)("px-4 py-2")},l.createElement(eF.zX,{value:r(e.value),name:e.name,color:e.payload.color})))}return null},eZ=(e,t)=>e.map((e,n)=>{let r=ne||t((0,c.vP)(n.map(e=>e[r]))),eK=e=>{let{cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:i,endAngle:a,className:c}=e;return l.createElement("g",null,l.createElement(s.L,{cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:i,endAngle:a,className:c,fill:"",opacity:.3,style:{outline:"none"}}))},eM=l.forwardRef((e,t)=>{let{data:n=[],category:s="value",index:p="name",colors:f=i.s,variant:d="donut",valueFormatter:y=c.Cj,label:m,showLabel:v=!0,animationDuration:h=900,showAnimation:b=!1,showTooltip:g=!0,noDataText:A,onValueChange:O,customTooltip:x,className:k}=e,j=(0,r._T)(e,["data","category","index","colors","variant","valueFormatter","label","showLabel","animationDuration","showAnimation","showTooltip","noDataText","onValueChange","customTooltip","className"]),P="donut"==d,w=eB(m,y,n,s),[E,S]=l.useState(void 0),T=!!O;return(0,l.useEffect)(()=>{let e=document.querySelectorAll(".recharts-pie-sector");e&&e.forEach(e=>{e.setAttribute("style","outline: none")})},[E]),l.createElement("div",Object.assign({ref:t,className:(0,a.q)("w-full h-40",k)},j),l.createElement(u.h,{className:"h-full w-full"},(null==n?void 0:n.length)?l.createElement(eI,{onClick:T&&E?()=>{S(void 0),null==O||O(null)}:void 0,margin:{top:0,left:0,right:0,bottom:0}},v&&P?l.createElement("text",{className:(0,a.q)("fill-tremor-content-emphasis","dark:fill-dark-tremor-content-emphasis"),x:"50%",y:"50%",textAnchor:"middle",dominantBaseline:"middle"},w):null,l.createElement(eN,{className:(0,a.q)("stroke-tremor-background dark:stroke-dark-tremor-background",O?"cursor-pointer":"cursor-default"),data:eZ(n,f),cx:"50%",cy:"50%",startAngle:90,endAngle:-270,innerRadius:P?"75%":"0%",outerRadius:"100%",stroke:"",strokeLinejoin:"round",dataKey:s,nameKey:p,isAnimationActive:b,animationDuration:h,onClick:function(e,t,n){n.stopPropagation(),T&&(E===t?(S(void 0),null==O||O(null)):(S(t),null==O||O(Object.assign({eventType:"slice"},e.payload.payload))))},activeIndex:E,inactiveShape:eK,style:{outline:"none"}}),l.createElement(eC.u,{wrapperStyle:{outline:"none"},isAnimationActive:!1,content:g?e=>{var t;let{active:n,payload:r}=e;return x?l.createElement(x,{payload:null==r?void 0:r.map(e=>{var t,n,i;return Object.assign(Object.assign({},e),{color:null!==(i=null===(n=null===(t=null==r?void 0:r[0])||void 0===t?void 0:t.payload)||void 0===n?void 0:n.color)&&void 0!==i?i:o.fr.Gray})}),active:n,label:null===(t=null==r?void 0:r[0])||void 0===t?void 0:t.name}):l.createElement(e_,{active:n,payload:r,valueFormatter:y})}:l.createElement(l.Fragment,null)})):l.createElement(eD.Z,{noDataText:A})))});eM.displayName="DonutChart"},35802:function(e,t,n){var r=n(67646),o=n(58905),i=n(88157);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},37891:function(e,t,n){var r=n(67646),o=n(88157),i=n(20121);e.exports=function(e,t){return e&&e.length?r(e,o(t,2),i):void 0}},58710:function(e,t,n){"use strict";var r=n(2265);let o=r.forwardRef(function(e,t){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},92668:function(e,t,n){"use strict";n.d(t,{I:function(){return c}});var r=n(59121),o=n(31091),i=n(63497),a=n(99649);function c(e,t){let{years:n=0,months:c=0,weeks:l=0,days:s=0,hours:u=0,minutes:p=0,seconds:f=0}=t,d=(0,a.Q)(e),y=c||n?(0,o.z)(d,c+12*n):d,m=s||l?(0,r.E)(y,s+7*l):y;return(0,i.L)(e,m.getTime()+1e3*(f+60*(p+60*u)))}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8524-21acedf5f9e00883.js b/litellm/proxy/_experimental/out/_next/static/chunks/8524-21acedf5f9e00883.js deleted file mode 100644 index 7682b4fbe9..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/8524-21acedf5f9e00883.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8524],{45822:function(e,t,r){r.d(t,{JO:function(){return o.Z},JX:function(){return l.Z},rj:function(){return a.Z},xv:function(){return n.Z},zx:function(){return s.Z}});var s=r(78489),l=r(49804),a=r(67101),o=r(47323),n=r(84264)},10178:function(e,t,r){r.d(t,{JO:function(){return s.Z},RM:function(){return a.Z},SC:function(){return i.Z},iA:function(){return l.Z},pj:function(){return o.Z},ss:function(){return n.Z},xs:function(){return c.Z}});var s=r(47323),l=r(21626),a=r(97214),o=r(28241),n=r(58834),c=r(69552),i=r(71876)},98524:function(e,t,r){r.d(t,{Z:function(){return er}});var s,l,a=r(57437),o=r(2265),n=r(45822),c=r(23628),i=r(19250),d=r(10178),x=r(53410),m=r(74998),h=r(44633),u=r(86462),p=r(49084),v=r(99981),j=r(71594),g=r(24525),f=r(42673),_=e=>{let{data:t,onView:r,onEdit:s,onDelete:l}=e,[n,c]=o.useState([{id:"created_at",desc:!0}]),i=[{header:"Vector Store ID",accessorKey:"vector_store_id",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("button",{onClick:()=>r(s.vector_store_id),className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",children:s.vector_store_id.length>15?"".concat(s.vector_store_id.slice(0,15),"..."):s.vector_store_id})}},{header:"Name",accessorKey:"vector_store_name",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)(v.Z,{title:r.vector_store_name,children:(0,a.jsx)("span",{className:"text-xs",children:r.vector_store_name||"-"})})}},{header:"Description",accessorKey:"vector_store_description",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)(v.Z,{title:r.vector_store_description,children:(0,a.jsx)("span",{className:"text-xs",children:r.vector_store_description||"-"})})}},{header:"Provider",accessorKey:"custom_llm_provider",cell:e=>{let{row:t}=e,r=t.original,{displayName:s,logo:l}=(0,f.dr)(r.custom_llm_provider);return(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[l&&(0,a.jsx)("img",{src:l,alt:s,className:"h-4 w-4"}),(0,a.jsx)("span",{className:"text-xs",children:s})]})}},{header:"Created At",accessorKey:"created_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)("span",{className:"text-xs",children:new Date(r.created_at).toLocaleDateString()})}},{header:"Updated At",accessorKey:"updated_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)("span",{className:"text-xs",children:new Date(r.updated_at).toLocaleDateString()})}},{id:"actions",header:"",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)(d.JO,{icon:x.Z,size:"sm",onClick:()=>s(r.vector_store_id),className:"cursor-pointer"}),(0,a.jsx)(d.JO,{icon:m.Z,size:"sm",onClick:()=>l(r.vector_store_id),className:"cursor-pointer"})]})}}],_=(0,j.b7)({data:t,columns:i,state:{sorting:n},onSortingChange:c,getCoreRowModel:(0,g.sC)(),getSortedRowModel:(0,g.tj)(),enableSorting:!0});return(0,a.jsx)("div",{className:"rounded-lg custom-border relative",children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)(d.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,a.jsx)(d.ss,{children:_.getHeaderGroups().map(e=>(0,a.jsx)(d.SC,{children:e.headers.map(e=>(0,a.jsx)(d.xs,{className:"py-1 h-8 ".concat("actions"===e.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),onClick:e.column.getToggleSortingHandler(),children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,j.ie)(e.column.columnDef.header,e.getContext())}),"actions"!==e.id&&(0,a.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,a.jsx)(h.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,a.jsx)(u.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,a.jsx)(p.Z,{className:"h-4 w-4 text-gray-400"})})]})},e.id))},e.id))}),(0,a.jsx)(d.RM,{children:_.getRowModel().rows.length>0?_.getRowModel().rows.map(e=>(0,a.jsx)(d.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,a.jsx)(d.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap ".concat("actions"===e.column.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),children:(0,j.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,a.jsx)(d.SC,{children:(0,a.jsx)(d.pj,{colSpan:i.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:"No vector stores found"})})})})})]})})})},y=r(64504),b=r(10032),N=r(22116),w=r(37592),S=r(51653),Z=r(4260),C=r(15424);(s=l||(l={})).Bedrock="Amazon Bedrock",s.PgVector="PostgreSQL pgvector (LiteLLM Connector)",s.VertexRagEngine="Vertex AI RAG Engine",s.OpenAI="OpenAI",s.Azure="Azure OpenAI";let I={Bedrock:"bedrock",PgVector:"pg_vector",VertexRagEngine:"vertex_ai",OpenAI:"openai",Azure:"azure"},k="../ui/assets/logos/",A={"Amazon Bedrock":"".concat(k,"bedrock.svg"),"PostgreSQL pgvector (LiteLLM Connector)":"".concat(k,"postgresql.svg"),"Vertex AI RAG Engine":"".concat(k,"google.svg"),OpenAI:"".concat(k,"openai_small.svg"),"Azure OpenAI":"".concat(k,"microsoft_azure.svg")},E={bedrock:[],pg_vector:[{name:"api_base",label:"API Base",tooltip:"Enter the base URL of your deployed litellm-pgvector server (e.g., http://your-server:8000)",placeholder:"http://your-deployed-server:8000",required:!0,type:"text"},{name:"api_key",label:"API Key",tooltip:"Enter the API key from your deployed litellm-pgvector server",placeholder:"your-deployed-api-key",required:!0,type:"password"}],vertex_rag_engine:[],openai:[{name:"api_key",label:"API Key",tooltip:"Enter your OpenAI API key",placeholder:"sk-...",required:!0,type:"password"}],azure:[{name:"api_key",label:"API Key",tooltip:"Enter your Azure OpenAI API key",placeholder:"your-azure-api-key",required:!0,type:"password"},{name:"api_base",label:"API Base",tooltip:"Enter your Azure OpenAI endpoint (e.g., https://your-resource.openai.azure.com/)",placeholder:"https://your-resource.openai.azure.com/",required:!0,type:"text"}]},L=e=>E[e]||[];var V=r(9114),D=e=>{let{isVisible:t,onCancel:r,onSuccess:s,accessToken:n,credentials:c}=e,[d]=b.Z.useForm(),[x,m]=(0,o.useState)("{}"),[h,u]=(0,o.useState)("bedrock"),p=async e=>{if(n)try{let t={};try{t=x.trim()?JSON.parse(x):{}}catch(e){V.Z.fromBackend("Invalid JSON in metadata field");return}let r={vector_store_id:e.vector_store_id,custom_llm_provider:e.custom_llm_provider,vector_store_name:e.vector_store_name,vector_store_description:e.vector_store_description,vector_store_metadata:t,litellm_credential_name:e.litellm_credential_name},l=L(e.custom_llm_provider).reduce((t,r)=>(t[r.name]=e[r.name],t),{});r.litellm_params=l,await (0,i.vectorStoreCreateCall)(n,r),V.Z.success("Vector store created successfully"),d.resetFields(),m("{}"),s()}catch(e){console.error("Error creating vector store:",e),V.Z.fromBackend("Error creating vector store: "+e)}},j=()=>{d.resetFields(),m("{}"),u("bedrock"),r()};return(0,a.jsx)(N.Z,{title:"Add New Vector Store",visible:t,width:1e3,footer:null,onCancel:j,children:(0,a.jsxs)(b.Z,{form:d,onFinish:p,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Provider"," ",(0,a.jsx)(v.Z,{title:"Select the provider for this vector store",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"custom_llm_provider",rules:[{required:!0,message:"Please select a provider"}],initialValue:"bedrock",children:(0,a.jsx)(w.default,{onChange:e=>u(e),children:Object.entries(l).map(e=>{let[t,r]=e;return(0,a.jsx)(w.default.Option,{value:I[t],children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("img",{src:A[r],alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let t=e.target,s=t.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=r.charAt(0),s.replaceChild(e,t)}}}),(0,a.jsx)("span",{children:r})]})},t)})})}),"pg_vector"===h&&(0,a.jsx)(S.Z,{message:"PG Vector Setup Required",description:(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{children:"LiteLLM provides a server to connect to PG Vector. To use this provider:"}),(0,a.jsxs)("ol",{style:{marginLeft:"16px",marginTop:"8px"},children:[(0,a.jsxs)("li",{children:["Deploy the litellm-pgvector server from:"," ",(0,a.jsx)("a",{href:"https://github.com/BerriAI/litellm-pgvector",target:"_blank",rel:"noopener noreferrer",children:"https://github.com/BerriAI/litellm-pgvector"})]}),(0,a.jsx)("li",{children:"Configure your PostgreSQL database with pgvector extension"}),(0,a.jsx)("li",{children:"Start the server and note the API base URL and API key"}),(0,a.jsx)("li",{children:"Enter those details in the fields below"})]})]}),type:"info",showIcon:!0,style:{marginBottom:"16px"}}),"vertex_rag_engine"===h&&(0,a.jsx)(S.Z,{message:"Vertex AI RAG Engine Setup",description:(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{children:"To use Vertex AI RAG Engine:"}),(0,a.jsxs)("ol",{style:{marginLeft:"16px",marginTop:"8px"},children:[(0,a.jsxs)("li",{children:["Set up your Vertex AI RAG Engine corpus following the guide:"," ",(0,a.jsx)("a",{href:"https://cloud.google.com/vertex-ai/generative-ai/docs/rag-engine/rag-overview",target:"_blank",rel:"noopener noreferrer",children:"Vertex AI RAG Engine Overview"})]}),(0,a.jsx)("li",{children:"Create a corpus in your Google Cloud project"}),(0,a.jsx)("li",{children:"Note the corpus ID from the Vertex AI console"}),(0,a.jsx)("li",{children:"Enter the corpus ID in the Vector Store ID field below"})]})]}),type:"info",showIcon:!0,style:{marginBottom:"16px"}}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Vector Store ID"," ",(0,a.jsx)(v.Z,{title:"Enter the vector store ID from your api provider",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"vector_store_id",rules:[{required:!0,message:"Please input the vector store ID from your api provider"}],children:(0,a.jsx)(y.o,{placeholder:"vertex_rag_engine"===h?"6917529027641081856 (Get corpus ID from Vertex AI console)":"Enter vector store ID from your provider"})}),L(h).map(e=>(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:[e.label," ",(0,a.jsx)(v.Z,{title:e.tooltip,children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:e.name,rules:e.required?[{required:!0,message:"Please input the ".concat(e.label.toLowerCase())}]:[],children:(0,a.jsx)(y.o,{type:e.type||"text",placeholder:e.placeholder})},e.name)),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Vector Store Name"," ",(0,a.jsx)(v.Z,{title:"Custom name you want to give to the vector store, this name will be rendered on the LiteLLM UI",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"vector_store_name",children:(0,a.jsx)(y.o,{})}),(0,a.jsx)(b.Z.Item,{label:"Description",name:"vector_store_description",children:(0,a.jsx)(Z.default.TextArea,{rows:4})}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Existing Credentials"," ",(0,a.jsx)(v.Z,{title:"Optionally select API provider credentials for this vector store eg. Bedrock API KEY",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"litellm_credential_name",children:(0,a.jsx)(w.default,{showSearch:!0,placeholder:"Select or search for existing credentials",optionFilterProp:"children",filterOption:(e,t)=>{var r;return(null!==(r=null==t?void 0:t.label)&&void 0!==r?r:"").toLowerCase().includes(e.toLowerCase())},options:[{value:null,label:"None"},...c.map(e=>({value:e.credential_name,label:e.credential_name}))],allowClear:!0})}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Metadata"," ",(0,a.jsx)(v.Z,{title:"JSON metadata for the vector store (optional)",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),children:(0,a.jsx)(Z.default.TextArea,{rows:4,value:x,onChange:e=>m(e.target.value),placeholder:'{"key": "value"}'})}),(0,a.jsxs)("div",{className:"flex justify-end space-x-3",children:[(0,a.jsx)(y.z,{onClick:j,variant:"secondary",children:"Cancel"}),(0,a.jsx)(y.z,{variant:"primary",type:"submit",children:"Create"})]})]})})},P=r(16312),O=e=>{let{isVisible:t,onCancel:r,onConfirm:s}=e;return(0,a.jsxs)(N.Z,{title:"Delete Vector Store",visible:t,footer:null,onCancel:r,children:[(0,a.jsx)("p",{children:"Are you sure you want to delete this vector store? This action cannot be undone."}),(0,a.jsxs)("div",{className:"px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(P.z,{onClick:s,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(P.z,{onClick:r,variant:"primary",children:"Cancel"})]})]})},z=r(64748),R=r(5545),B=r(10900),q=r(57840),K=r(42264),T=r(5945),F=r(23496),J=r(10353),M=r(44625),G=r(70464),U=r(77565),Q=r(61935),H=r(23907);let{TextArea:Y}=Z.default,{Text:X,Title:W}=q.default;var $=e=>{let{vectorStoreId:t,accessToken:r,className:s=""}=e,[l,n]=(0,o.useState)(""),[c,d]=(0,o.useState)(!1),[x,m]=(0,o.useState)([]),[h,u]=(0,o.useState)({}),p=async()=>{if(!l.trim()){K.ZP.warning("Please enter a search query");return}d(!0);try{let e=await (0,i.vectorStoreSearchCall)(r,t,l),s={query:l,response:e,timestamp:Date.now()};m(e=>[s,...e]),n("")}catch(e){console.error("Error searching vector store:",e),V.Z.fromBackend("Failed to search vector store")}finally{d(!1)}},v=e=>new Date(e).toLocaleString(),j=(e,t)=>{let r="".concat(e,"-").concat(t);u(e=>({...e,[r]:!e[r]}))};return(0,a.jsx)(T.Z,{className:"w-full rounded-xl shadow-md",children:(0,a.jsxs)("div",{className:"flex flex-col h-[600px]",children:[(0,a.jsxs)("div",{className:"p-4 border-b border-gray-200 flex justify-between items-center",children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(M.Z,{className:"mr-2 text-blue-500"}),(0,a.jsx)(W,{level:4,className:"mb-0",children:"Test Vector Store"})]}),x.length>0&&(0,a.jsx)(R.ZP,{onClick:()=>{m([]),u({}),V.Z.success("Search history cleared")},size:"small",children:"Clear History"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-auto p-4 pb-0",children:[0===x.length?(0,a.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-gray-400",children:[(0,a.jsx)(M.Z,{style:{fontSize:"48px",marginBottom:"16px"}}),(0,a.jsx)(X,{children:"Test your vector store by entering a search query below"})]}):(0,a.jsx)("div",{className:"space-y-4",children:x.map((e,t)=>{var r;return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-right",children:(0,a.jsxs)("div",{className:"inline-block max-w-[80%] rounded-lg shadow-sm p-3 bg-blue-50 border border-blue-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,a.jsx)("strong",{className:"text-sm",children:"Query"}),(0,a.jsx)("span",{className:"text-xs text-gray-500",children:v(e.timestamp)})]}),(0,a.jsx)("div",{className:"text-left",children:e.query})]})}),(0,a.jsx)("div",{className:"text-left",children:(0,a.jsxs)("div",{className:"inline-block max-w-[80%] rounded-lg shadow-sm p-3 bg-white border border-gray-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,a.jsx)(M.Z,{className:"text-green-500"}),(0,a.jsx)("strong",{className:"text-sm",children:"Vector Store Results"}),e.response&&(0,a.jsxs)("span",{className:"text-xs px-2 py-0.5 rounded bg-gray-100 text-gray-600",children:[(null===(r=e.response.data)||void 0===r?void 0:r.length)||0," results"]})]}),e.response&&e.response.data&&e.response.data.length>0?(0,a.jsx)("div",{className:"space-y-3",children:e.response.data.map((e,r)=>{let s=h["".concat(t,"-").concat(r)]||!1;return(0,a.jsxs)("div",{className:"border rounded-lg overflow-hidden bg-gray-50",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center p-3 cursor-pointer hover:bg-gray-100 transition-colors",onClick:()=>j(t,r),children:[(0,a.jsxs)("div",{className:"flex items-center",children:[s?(0,a.jsx)(G.Z,{className:"text-gray-500 mr-2"}):(0,a.jsx)(U.Z,{className:"text-gray-500 mr-2"}),(0,a.jsxs)("span",{className:"font-medium text-sm",children:["Result ",r+1]}),!s&&e.content&&e.content[0]&&(0,a.jsxs)("span",{className:"ml-2 text-xs text-gray-500 truncate max-w-md",children:["- ",e.content[0].text.substring(0,100),"..."]})]}),(0,a.jsxs)("span",{className:"text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded",children:["Score: ",e.score.toFixed(4)]})]}),s&&(0,a.jsxs)("div",{className:"border-t bg-white p-3",children:[e.content&&e.content.map((e,t)=>(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsxs)("div",{className:"text-xs text-gray-500 mb-1",children:["Content (",e.type,")"]}),(0,a.jsx)("div",{className:"text-sm bg-gray-50 p-3 rounded border text-gray-800 max-h-40 overflow-y-auto",children:e.text})]},t)),(e.file_id||e.filename||e.attributes)&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-gray-200",children:[(0,a.jsx)("div",{className:"text-xs text-gray-500 mb-2 font-medium",children:"Metadata"}),(0,a.jsxs)("div",{className:"space-y-2 text-xs",children:[e.file_id&&(0,a.jsxs)("div",{className:"bg-gray-50 p-2 rounded",children:[(0,a.jsx)("span",{className:"font-medium",children:"File ID:"})," ",e.file_id]}),e.filename&&(0,a.jsxs)("div",{className:"bg-gray-50 p-2 rounded",children:[(0,a.jsx)("span",{className:"font-medium",children:"Filename:"})," ",e.filename]}),e.attributes&&Object.keys(e.attributes).length>0&&(0,a.jsxs)("div",{className:"bg-gray-50 p-2 rounded",children:[(0,a.jsx)("span",{className:"font-medium block mb-1",children:"Attributes:"}),(0,a.jsx)("pre",{className:"text-xs bg-white p-2 rounded border overflow-x-auto",children:JSON.stringify(e.attributes,null,2)})]})]})]})]})]},r)})}):(0,a.jsx)("div",{className:"text-gray-500 text-sm",children:"No results found"})]})}),tn(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),p())},placeholder:"Enter your search query... (Shift+Enter for new line)",disabled:c,autoSize:{minRows:1,maxRows:4},style:{resize:"none"}})}),(0,a.jsx)(R.ZP,{type:"primary",onClick:p,disabled:c||!l.trim(),icon:(0,a.jsx)(H.Z,{}),loading:c,children:"Search"})]})})]})})},ee=e=>{let{vectorStoreId:t,onClose:r,accessToken:s,is_admin:l,editVectorStore:n}=e,[c]=b.Z.useForm(),[d,x]=(0,o.useState)(null),[m,h]=(0,o.useState)(n),[u,p]=(0,o.useState)("{}"),[j,g]=(0,o.useState)([]),[_,y]=(0,o.useState)("details"),N=async()=>{if(s)try{let e=await (0,i.vectorStoreInfoCall)(s,t);if(e&&e.vector_store){if(x(e.vector_store),e.vector_store.vector_store_metadata){let t="string"==typeof e.vector_store.vector_store_metadata?JSON.parse(e.vector_store.vector_store_metadata):e.vector_store.vector_store_metadata;p(JSON.stringify(t,null,2))}n&&c.setFieldsValue({vector_store_id:e.vector_store.vector_store_id,custom_llm_provider:e.vector_store.custom_llm_provider,vector_store_name:e.vector_store.vector_store_name,vector_store_description:e.vector_store.vector_store_description})}}catch(e){console.error("Error fetching vector store details:",e),V.Z.fromBackend("Error fetching vector store details: "+e)}},S=async()=>{if(s)try{let e=await (0,i.credentialListCall)(s);console.log("List credentials response:",e),g(e.credentials||[])}catch(e){console.error("Error fetching credentials:",e)}};(0,o.useEffect)(()=>{N(),S()},[t,s]);let I=async e=>{if(s)try{let t={};try{t=u?JSON.parse(u):{}}catch(e){V.Z.fromBackend("Invalid JSON in metadata field");return}let r={vector_store_id:e.vector_store_id,custom_llm_provider:e.custom_llm_provider,vector_store_name:e.vector_store_name,vector_store_description:e.vector_store_description,vector_store_metadata:t};await (0,i.vectorStoreUpdateCall)(s,r),V.Z.success("Vector store updated successfully"),h(!1),N()}catch(e){console.error("Error updating vector store:",e),V.Z.fromBackend("Error updating vector store: "+e)}};return d?(0,a.jsxs)("div",{className:"p-4 max-w-full",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(z.zx,{icon:B.Z,variant:"light",className:"mb-4",onClick:r,children:"Back to Vector Stores"}),(0,a.jsxs)(z.Dx,{children:["Vector Store ID: ",d.vector_store_id]}),(0,a.jsx)(z.xv,{className:"text-gray-500",children:d.vector_store_description||"No description"})]}),l&&!m&&(0,a.jsx)(z.zx,{onClick:()=>h(!0),children:"Edit Vector Store"})]}),(0,a.jsxs)(z.v0,{children:[(0,a.jsxs)(z.td,{className:"mb-6",children:[(0,a.jsx)(z.OK,{children:"Details"}),(0,a.jsx)(z.OK,{children:"Test Vector Store"})]}),(0,a.jsxs)(z.nP,{children:[(0,a.jsx)(z.x4,{children:m?(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsx)(z.Dx,{children:"Edit Vector Store"})}),(0,a.jsx)(z.Zb,{children:(0,a.jsxs)(b.Z,{form:c,onFinish:I,layout:"vertical",initialValues:d,children:[(0,a.jsx)(b.Z.Item,{label:"Vector Store ID",name:"vector_store_id",rules:[{required:!0,message:"Please input a vector store ID"}],children:(0,a.jsx)(Z.default,{disabled:!0})}),(0,a.jsx)(b.Z.Item,{label:"Vector Store Name",name:"vector_store_name",children:(0,a.jsx)(Z.default,{})}),(0,a.jsx)(b.Z.Item,{label:"Description",name:"vector_store_description",children:(0,a.jsx)(Z.default.TextArea,{rows:4})}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Provider"," ",(0,a.jsx)(v.Z,{title:"Select the provider for this vector store",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"custom_llm_provider",rules:[{required:!0,message:"Please select a provider"}],children:(0,a.jsx)(w.default,{children:Object.entries(f.Cl).map(e=>{let[t,r]=e;return"Bedrock"===t?(0,a.jsx)(w.default.Option,{value:f.fK[t],children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("img",{src:f.cd[r],alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let t=e.target,s=t.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=r.charAt(0),s.replaceChild(e,t)}}}),(0,a.jsx)("span",{children:r})]})},t):null})})}),(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(z.xv,{className:"text-sm text-gray-500 mb-2",children:"Either select existing credentials OR enter provider credentials below"})}),(0,a.jsx)(b.Z.Item,{label:"Existing Credentials",name:"litellm_credential_name",children:(0,a.jsx)(w.default,{showSearch:!0,placeholder:"Select or search for existing credentials",optionFilterProp:"children",filterOption:(e,t)=>{var r;return(null!==(r=null==t?void 0:t.label)&&void 0!==r?r:"").toLowerCase().includes(e.toLowerCase())},options:[{value:null,label:"None"},...j.map(e=>({value:e.credential_name,label:e.credential_name}))],allowClear:!0})}),(0,a.jsxs)("div",{className:"flex items-center my-4",children:[(0,a.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,a.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"OR"}),(0,a.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Metadata"," ",(0,a.jsx)(v.Z,{title:"JSON metadata for the vector store",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),children:(0,a.jsx)(Z.default.TextArea,{rows:4,value:u,onChange:e=>p(e.target.value),placeholder:'{"key": "value"}'})}),(0,a.jsxs)("div",{className:"flex justify-end space-x-2",children:[(0,a.jsx)(R.ZP,{onClick:()=>h(!1),children:"Cancel"}),(0,a.jsx)(R.ZP,{type:"primary",htmlType:"submit",children:"Save Changes"})]})]})})]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(z.Dx,{children:"Vector Store Details"}),l&&(0,a.jsx)(z.zx,{onClick:()=>h(!0),children:"Edit Vector Store"})]}),(0,a.jsx)(z.Zb,{children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"ID"}),(0,a.jsx)(z.xv,{children:d.vector_store_id})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"Name"}),(0,a.jsx)(z.xv,{children:d.vector_store_name||"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"Description"}),(0,a.jsx)(z.xv,{children:d.vector_store_description||"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"Provider"}),(0,a.jsx)("div",{className:"flex items-center space-x-2 mt-1",children:(()=>{let e=d.custom_llm_provider||"bedrock",{displayName:t,logo:r}=(()=>{let t=Object.keys(f.fK).find(t=>f.fK[t].toLowerCase()===e.toLowerCase());if(!t)return{displayName:e,logo:""};let r=f.Cl[t],s=f.cd[r];return{displayName:r,logo:s}})();return(0,a.jsxs)(a.Fragment,{children:[r&&(0,a.jsx)("img",{src:r,alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let r=e.target,s=r.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,r)}}}),(0,a.jsx)(z.Ct,{color:"blue",children:t})]})})()})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"Metadata"}),(0,a.jsx)("div",{className:"bg-gray-50 p-3 rounded mt-2 font-mono text-xs overflow-auto max-h-48",children:(0,a.jsx)("pre",{children:u})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"Created"}),(0,a.jsx)(z.xv,{children:d.created_at?new Date(d.created_at).toLocaleString():"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(z.xv,{className:"font-medium",children:"Last Updated"}),(0,a.jsx)(z.xv,{children:d.updated_at?new Date(d.updated_at).toLocaleString():"-"})]})]})})]})}),(0,a.jsx)(z.x4,{children:(0,a.jsx)($,{vectorStoreId:d.vector_store_id,accessToken:s||""})})]})]})]}):(0,a.jsx)("div",{children:"Loading..."})},et=r(20347),er=e=>{let{accessToken:t,userID:r,userRole:s}=e,[l,d]=(0,o.useState)([]),[x,m]=(0,o.useState)(!1),[h,u]=(0,o.useState)(!1),[p,v]=(0,o.useState)(null),[j,g]=(0,o.useState)(""),[f,y]=(0,o.useState)([]),[b,N]=(0,o.useState)(null),[w,S]=(0,o.useState)(!1),Z=async()=>{if(t)try{let e=await (0,i.vectorStoreListCall)(t);console.log("List vector stores response:",e),d(e.data||[])}catch(e){console.error("Error fetching vector stores:",e),V.Z.fromBackend("Error fetching vector stores: "+e)}},C=async()=>{if(t)try{let e=await (0,i.credentialListCall)(t);console.log("List credentials response:",e),y(e.credentials||[])}catch(e){console.error("Error fetching credentials:",e),V.Z.fromBackend("Error fetching credentials: "+e)}},I=async e=>{v(e),u(!0)},k=async()=>{if(t&&p){try{await (0,i.vectorStoreDeleteCall)(t,p),V.Z.success("Vector store deleted successfully"),Z()}catch(e){console.error("Error deleting vector store:",e),V.Z.fromBackend("Error deleting vector store: "+e)}u(!1),v(null)}};return(0,o.useEffect)(()=>{Z(),C()},[t]),b?(0,a.jsx)("div",{className:"w-full h-full",children:(0,a.jsx)(ee,{vectorStoreId:b,onClose:()=>{N(null),S(!1),Z()},accessToken:t,is_admin:(0,et.tY)(s||""),editVectorStore:w})}):(0,a.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,a.jsxs)("div",{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)("div",{className:"flex justify-between mt-2 w-full items-center mb-4",children:[(0,a.jsx)("h1",{children:"Vector Store Management"}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[j&&(0,a.jsxs)(n.xv,{children:["Last Refreshed: ",j]}),(0,a.jsx)(n.JO,{icon:c.Z,variant:"shadow",size:"xs",className:"self-center cursor-pointer",onClick:()=>{Z(),C(),g(new Date().toLocaleString())}})]})]}),(0,a.jsx)(n.xv,{className:"mb-4",children:(0,a.jsx)("p",{children:"You can use vector stores to store and retrieve LLM embeddings.."})}),(0,a.jsx)(n.zx,{className:"mb-4",onClick:()=>m(!0),children:"+ Add Vector Store"}),(0,a.jsx)(n.rj,{numItems:1,className:"gap-2 pt-2 pb-2 h-[75vh] w-full mt-2",children:(0,a.jsx)(n.JX,{numColSpan:1,children:(0,a.jsx)(_,{data:l,onView:e=>{N(e),S(!1)},onEdit:e=>{N(e),S(!0)},onDelete:I})})}),(0,a.jsx)(D,{isVisible:x,onCancel:()=>m(!1),onSuccess:()=>{m(!1),Z()},accessToken:t,credentials:f}),(0,a.jsx)(O,{isVisible:h,onCancel:()=>u(!1),onConfirm:k})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8524-e3b2765ff57c7954.js b/litellm/proxy/_experimental/out/_next/static/chunks/8524-e3b2765ff57c7954.js new file mode 100644 index 0000000000..fd7403226e --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/8524-e3b2765ff57c7954.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8524],{45822:function(e,t,r){r.d(t,{JO:function(){return o.Z},JX:function(){return l.Z},rj:function(){return a.Z},xv:function(){return n.Z},zx:function(){return s.Z}});var s=r(78489),l=r(49804),a=r(67101),o=r(47323),n=r(84264)},10178:function(e,t,r){r.d(t,{JO:function(){return s.Z},RM:function(){return a.Z},SC:function(){return c.Z},iA:function(){return l.Z},pj:function(){return o.Z},ss:function(){return n.Z},xs:function(){return i.Z}});var s=r(47323),l=r(21626),a=r(97214),o=r(28241),n=r(58834),i=r(69552),c=r(71876)},98524:function(e,t,r){r.d(t,{Z:function(){return es}});var s,l,a=r(57437),o=r(2265),n=r(45822),i=r(23628),c=r(19250),d=r(10178),x=r(53410),m=r(74998),h=r(44633),u=r(86462),p=r(49084),v=r(99981),j=r(71594),g=r(24525),f=r(42673),y=e=>{let{data:t,onView:r,onEdit:s,onDelete:l}=e,[n,i]=o.useState([{id:"created_at",desc:!0}]),c=[{header:"Vector Store ID",accessorKey:"vector_store_id",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("button",{onClick:()=>r(s.vector_store_id),className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",children:s.vector_store_id.length>15?"".concat(s.vector_store_id.slice(0,15),"..."):s.vector_store_id})}},{header:"Name",accessorKey:"vector_store_name",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)(v.Z,{title:r.vector_store_name,children:(0,a.jsx)("span",{className:"text-xs",children:r.vector_store_name||"-"})})}},{header:"Description",accessorKey:"vector_store_description",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)(v.Z,{title:r.vector_store_description,children:(0,a.jsx)("span",{className:"text-xs",children:r.vector_store_description||"-"})})}},{header:"Provider",accessorKey:"custom_llm_provider",cell:e=>{let{row:t}=e,r=t.original,{displayName:s,logo:l}=(0,f.dr)(r.custom_llm_provider);return(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[l&&(0,a.jsx)("img",{src:l,alt:s,className:"h-4 w-4"}),(0,a.jsx)("span",{className:"text-xs",children:s})]})}},{header:"Created At",accessorKey:"created_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)("span",{className:"text-xs",children:new Date(r.created_at).toLocaleDateString()})}},{header:"Updated At",accessorKey:"updated_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsx)("span",{className:"text-xs",children:new Date(r.updated_at).toLocaleDateString()})}},{id:"actions",header:"",cell:e=>{let{row:t}=e,r=t.original;return(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)(d.JO,{icon:x.Z,size:"sm",onClick:()=>s(r.vector_store_id),className:"cursor-pointer"}),(0,a.jsx)(d.JO,{icon:m.Z,size:"sm",onClick:()=>l(r.vector_store_id),className:"cursor-pointer"})]})}}],y=(0,j.b7)({data:t,columns:c,state:{sorting:n},onSortingChange:i,getCoreRowModel:(0,g.sC)(),getSortedRowModel:(0,g.tj)(),enableSorting:!0});return(0,a.jsx)("div",{className:"rounded-lg custom-border relative",children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)(d.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,a.jsx)(d.ss,{children:y.getHeaderGroups().map(e=>(0,a.jsx)(d.SC,{children:e.headers.map(e=>(0,a.jsx)(d.xs,{className:"py-1 h-8 ".concat("actions"===e.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),onClick:e.column.getToggleSortingHandler(),children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,j.ie)(e.column.columnDef.header,e.getContext())}),"actions"!==e.id&&(0,a.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,a.jsx)(h.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,a.jsx)(u.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,a.jsx)(p.Z,{className:"h-4 w-4 text-gray-400"})})]})},e.id))},e.id))}),(0,a.jsx)(d.RM,{children:y.getRowModel().rows.length>0?y.getRowModel().rows.map(e=>(0,a.jsx)(d.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,a.jsx)(d.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap ".concat("actions"===e.column.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)]":""),children:(0,j.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,a.jsx)(d.SC,{children:(0,a.jsx)(d.pj,{colSpan:c.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:"No vector stores found"})})})})})]})})})},_=r(64504),b=r(10032),N=r(22116),w=r(37592),S=r(51653),Z=r(4260),C=r(15424);(s=l||(l={})).Bedrock="Amazon Bedrock",s.PgVector="PostgreSQL pgvector (LiteLLM Connector)",s.VertexRagEngine="Vertex AI RAG Engine",s.OpenAI="OpenAI",s.Azure="Azure OpenAI",s.Milvus="Milvus";let I={Bedrock:"bedrock",PgVector:"pg_vector",VertexRagEngine:"vertex_ai",OpenAI:"openai",Azure:"azure",Milvus:"milvus"},k="../ui/assets/logos/",A={"Amazon Bedrock":"".concat(k,"bedrock.svg"),"PostgreSQL pgvector (LiteLLM Connector)":"".concat(k,"postgresql.svg"),"Vertex AI RAG Engine":"".concat(k,"google.svg"),OpenAI:"".concat(k,"openai_small.svg"),"Azure OpenAI":"".concat(k,"microsoft_azure.svg"),Milvus:"".concat(k,"milvus.svg")},E={bedrock:[],pg_vector:[{name:"api_base",label:"API Base",tooltip:"Enter the base URL of your deployed litellm-pgvector server (e.g., http://your-server:8000)",placeholder:"http://your-deployed-server:8000",required:!0,type:"text"},{name:"api_key",label:"API Key",tooltip:"Enter the API key from your deployed litellm-pgvector server",placeholder:"your-deployed-api-key",required:!0,type:"password"}],vertex_rag_engine:[],openai:[{name:"api_key",label:"API Key",tooltip:"Enter your OpenAI API key",placeholder:"sk-...",required:!0,type:"password"}],azure:[{name:"api_key",label:"API Key",tooltip:"Enter your Azure OpenAI API key",placeholder:"your-azure-api-key",required:!0,type:"password"},{name:"api_base",label:"API Base",tooltip:"Enter your Azure OpenAI endpoint (e.g., https://your-resource.openai.azure.com/)",placeholder:"https://your-resource.openai.azure.com/",required:!0,type:"text"}],milvus:[{name:"api_key",label:"API Key",tooltip:"To obtain a token, you should use a colon (:) to concatenate the username and password that you use to access your Milvus instance (e.g., username:password)",placeholder:"username:password or api key",required:!0,type:"password"},{name:"api_base",label:"API Base",tooltip:"Enter your Milvus endpoint (e.g., https://your-milvus-endpoint.com/)",placeholder:"https://your-milvus-endpoint.com/",required:!0,type:"text"},{name:"embedding_model",label:"Embedding Model",tooltip:"Select the embedding model to use",placeholder:"text-embedding-3-small",required:!0,type:"select"}]},L=e=>E[e]||[];var V=r(10703),D=r(9114),P=e=>{let{isVisible:t,onCancel:r,onSuccess:s,accessToken:n,credentials:i}=e,[d]=b.Z.useForm(),[x,m]=(0,o.useState)("{}"),[h,u]=(0,o.useState)("bedrock"),[p,j]=(0,o.useState)([]);(0,o.useEffect)(()=>{n&&(async()=>{try{let e=await (0,V.p)(n);e.length>0&&j(e)}catch(e){console.error("Error fetching model info:",e)}})()},[n]);let g=async e=>{if(n)try{let t={};try{t=x.trim()?JSON.parse(x):{}}catch(e){D.Z.fromBackend("Invalid JSON in metadata field");return}let r={vector_store_id:e.vector_store_id,custom_llm_provider:e.custom_llm_provider,vector_store_name:e.vector_store_name,vector_store_description:e.vector_store_description,vector_store_metadata:t,litellm_credential_name:e.litellm_credential_name},l=L(e.custom_llm_provider).reduce((t,r)=>(t[r.name]=e[r.name],t),{});r.litellm_params=l,await (0,c.vectorStoreCreateCall)(n,r),D.Z.success("Vector store created successfully"),d.resetFields(),m("{}"),s()}catch(e){console.error("Error creating vector store:",e),D.Z.fromBackend("Error creating vector store: "+e)}},f=()=>{d.resetFields(),m("{}"),u("bedrock"),r()};return(0,a.jsx)(N.Z,{title:"Add New Vector Store",visible:t,width:1e3,footer:null,onCancel:f,children:(0,a.jsxs)(b.Z,{form:d,onFinish:g,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Provider"," ",(0,a.jsx)(v.Z,{title:"Select the provider for this vector store",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"custom_llm_provider",rules:[{required:!0,message:"Please select a provider"}],initialValue:"bedrock",children:(0,a.jsx)(w.default,{onChange:e=>u(e),children:Object.entries(l).map(e=>{let[t,r]=e;return(0,a.jsx)(w.default.Option,{value:I[t],children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("img",{src:A[r],alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let t=e.target,s=t.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=r.charAt(0),s.replaceChild(e,t)}}}),(0,a.jsx)("span",{children:r})]})},t)})})}),"pg_vector"===h&&(0,a.jsx)(S.Z,{message:"PG Vector Setup Required",description:(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{children:"LiteLLM provides a server to connect to PG Vector. To use this provider:"}),(0,a.jsxs)("ol",{style:{marginLeft:"16px",marginTop:"8px"},children:[(0,a.jsxs)("li",{children:["Deploy the litellm-pgvector server from:"," ",(0,a.jsx)("a",{href:"https://github.com/BerriAI/litellm-pgvector",target:"_blank",rel:"noopener noreferrer",children:"https://github.com/BerriAI/litellm-pgvector"})]}),(0,a.jsx)("li",{children:"Configure your PostgreSQL database with pgvector extension"}),(0,a.jsx)("li",{children:"Start the server and note the API base URL and API key"}),(0,a.jsx)("li",{children:"Enter those details in the fields below"})]})]}),type:"info",showIcon:!0,style:{marginBottom:"16px"}}),"vertex_rag_engine"===h&&(0,a.jsx)(S.Z,{message:"Vertex AI RAG Engine Setup",description:(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{children:"To use Vertex AI RAG Engine:"}),(0,a.jsxs)("ol",{style:{marginLeft:"16px",marginTop:"8px"},children:[(0,a.jsxs)("li",{children:["Set up your Vertex AI RAG Engine corpus following the guide:"," ",(0,a.jsx)("a",{href:"https://cloud.google.com/vertex-ai/generative-ai/docs/rag-engine/rag-overview",target:"_blank",rel:"noopener noreferrer",children:"Vertex AI RAG Engine Overview"})]}),(0,a.jsx)("li",{children:"Create a corpus in your Google Cloud project"}),(0,a.jsx)("li",{children:"Note the corpus ID from the Vertex AI console"}),(0,a.jsx)("li",{children:"Enter the corpus ID in the Vector Store ID field below"})]})]}),type:"info",showIcon:!0,style:{marginBottom:"16px"}}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Vector Store ID"," ",(0,a.jsx)(v.Z,{title:"Enter the vector store ID from your api provider",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"vector_store_id",rules:[{required:!0,message:"Please input the vector store ID from your api provider"}],children:(0,a.jsx)(_.o,{placeholder:"vertex_rag_engine"===h?"6917529027641081856 (Get corpus ID from Vertex AI console)":"Enter vector store ID from your provider"})}),L(h).map(e=>{if("select"===e.type){let t=p.filter(e=>"embedding"===e.mode).map(e=>({value:e.model_group,label:e.model_group}));return(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:[e.label," ",(0,a.jsx)(v.Z,{title:e.tooltip,children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:e.name,rules:e.required?[{required:!0,message:"Please select the ".concat(e.label.toLowerCase())}]:[],children:(0,a.jsx)(w.default,{placeholder:e.placeholder,showSearch:!0,filterOption:(e,t)=>{var r;return(null!==(r=null==t?void 0:t.label)&&void 0!==r?r:"").toLowerCase().includes(e.toLowerCase())},options:t,style:{width:"100%"}})},e.name)}return(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:[e.label," ",(0,a.jsx)(v.Z,{title:e.tooltip,children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:e.name,rules:e.required?[{required:!0,message:"Please input the ".concat(e.label.toLowerCase())}]:[],children:(0,a.jsx)(_.o,{type:e.type||"text",placeholder:e.placeholder})},e.name)}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Vector Store Name"," ",(0,a.jsx)(v.Z,{title:"Custom name you want to give to the vector store, this name will be rendered on the LiteLLM UI",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"vector_store_name",children:(0,a.jsx)(_.o,{})}),(0,a.jsx)(b.Z.Item,{label:"Description",name:"vector_store_description",children:(0,a.jsx)(Z.default.TextArea,{rows:4})}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Existing Credentials"," ",(0,a.jsx)(v.Z,{title:"Optionally select API provider credentials for this vector store eg. Bedrock API KEY",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"litellm_credential_name",children:(0,a.jsx)(w.default,{showSearch:!0,placeholder:"Select or search for existing credentials",optionFilterProp:"children",filterOption:(e,t)=>{var r;return(null!==(r=null==t?void 0:t.label)&&void 0!==r?r:"").toLowerCase().includes(e.toLowerCase())},options:[{value:null,label:"None"},...i.map(e=>({value:e.credential_name,label:e.credential_name}))],allowClear:!0})}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Metadata"," ",(0,a.jsx)(v.Z,{title:"JSON metadata for the vector store (optional)",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),children:(0,a.jsx)(Z.default.TextArea,{rows:4,value:x,onChange:e=>m(e.target.value),placeholder:'{"key": "value"}'})}),(0,a.jsxs)("div",{className:"flex justify-end space-x-3",children:[(0,a.jsx)(_.z,{onClick:f,variant:"secondary",children:"Cancel"}),(0,a.jsx)(_.z,{variant:"primary",type:"submit",children:"Create"})]})]})})},O=r(16312),z=e=>{let{isVisible:t,onCancel:r,onConfirm:s}=e;return(0,a.jsxs)(N.Z,{title:"Delete Vector Store",visible:t,footer:null,onCancel:r,children:[(0,a.jsx)("p",{children:"Are you sure you want to delete this vector store? This action cannot be undone."}),(0,a.jsxs)("div",{className:"px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(O.z,{onClick:s,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(O.z,{onClick:r,variant:"primary",children:"Cancel"})]})]})},B=r(64748),R=r(5545),M=r(10900),q=r(57840),K=r(42264),T=r(5945),F=r(23496),J=r(10353),G=r(44625),U=r(70464),Q=r(77565),H=r(61935),Y=r(23907);let{TextArea:X}=Z.default,{Text:W,Title:$}=q.default;var ee=e=>{let{vectorStoreId:t,accessToken:r,className:s=""}=e,[l,n]=(0,o.useState)(""),[i,d]=(0,o.useState)(!1),[x,m]=(0,o.useState)([]),[h,u]=(0,o.useState)({}),p=async()=>{if(!l.trim()){K.ZP.warning("Please enter a search query");return}d(!0);try{let e=await (0,c.vectorStoreSearchCall)(r,t,l),s={query:l,response:e,timestamp:Date.now()};m(e=>[s,...e]),n("")}catch(e){console.error("Error searching vector store:",e),D.Z.fromBackend("Failed to search vector store")}finally{d(!1)}},v=e=>new Date(e).toLocaleString(),j=(e,t)=>{let r="".concat(e,"-").concat(t);u(e=>({...e,[r]:!e[r]}))};return(0,a.jsx)(T.Z,{className:"w-full rounded-xl shadow-md",children:(0,a.jsxs)("div",{className:"flex flex-col h-[600px]",children:[(0,a.jsxs)("div",{className:"p-4 border-b border-gray-200 flex justify-between items-center",children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(G.Z,{className:"mr-2 text-blue-500"}),(0,a.jsx)($,{level:4,className:"mb-0",children:"Test Vector Store"})]}),x.length>0&&(0,a.jsx)(R.ZP,{onClick:()=>{m([]),u({}),D.Z.success("Search history cleared")},size:"small",children:"Clear History"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-auto p-4 pb-0",children:[0===x.length?(0,a.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-gray-400",children:[(0,a.jsx)(G.Z,{style:{fontSize:"48px",marginBottom:"16px"}}),(0,a.jsx)(W,{children:"Test your vector store by entering a search query below"})]}):(0,a.jsx)("div",{className:"space-y-4",children:x.map((e,t)=>{var r;return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-right",children:(0,a.jsxs)("div",{className:"inline-block max-w-[80%] rounded-lg shadow-sm p-3 bg-blue-50 border border-blue-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,a.jsx)("strong",{className:"text-sm",children:"Query"}),(0,a.jsx)("span",{className:"text-xs text-gray-500",children:v(e.timestamp)})]}),(0,a.jsx)("div",{className:"text-left",children:e.query})]})}),(0,a.jsx)("div",{className:"text-left",children:(0,a.jsxs)("div",{className:"inline-block max-w-[80%] rounded-lg shadow-sm p-3 bg-white border border-gray-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,a.jsx)(G.Z,{className:"text-green-500"}),(0,a.jsx)("strong",{className:"text-sm",children:"Vector Store Results"}),e.response&&(0,a.jsxs)("span",{className:"text-xs px-2 py-0.5 rounded bg-gray-100 text-gray-600",children:[(null===(r=e.response.data)||void 0===r?void 0:r.length)||0," results"]})]}),e.response&&e.response.data&&e.response.data.length>0?(0,a.jsx)("div",{className:"space-y-3",children:e.response.data.map((e,r)=>{let s=h["".concat(t,"-").concat(r)]||!1;return(0,a.jsxs)("div",{className:"border rounded-lg overflow-hidden bg-gray-50",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center p-3 cursor-pointer hover:bg-gray-100 transition-colors",onClick:()=>j(t,r),children:[(0,a.jsxs)("div",{className:"flex items-center",children:[s?(0,a.jsx)(U.Z,{className:"text-gray-500 mr-2"}):(0,a.jsx)(Q.Z,{className:"text-gray-500 mr-2"}),(0,a.jsxs)("span",{className:"font-medium text-sm",children:["Result ",r+1]}),!s&&e.content&&e.content[0]&&(0,a.jsxs)("span",{className:"ml-2 text-xs text-gray-500 truncate max-w-md",children:["- ",e.content[0].text.substring(0,100),"..."]})]}),(0,a.jsxs)("span",{className:"text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded",children:["Score: ",e.score.toFixed(4)]})]}),s&&(0,a.jsxs)("div",{className:"border-t bg-white p-3",children:[e.content&&e.content.map((e,t)=>(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsxs)("div",{className:"text-xs text-gray-500 mb-1",children:["Content (",e.type,")"]}),(0,a.jsx)("div",{className:"text-sm bg-gray-50 p-3 rounded border text-gray-800 max-h-40 overflow-y-auto",children:e.text})]},t)),(e.file_id||e.filename||e.attributes)&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-gray-200",children:[(0,a.jsx)("div",{className:"text-xs text-gray-500 mb-2 font-medium",children:"Metadata"}),(0,a.jsxs)("div",{className:"space-y-2 text-xs",children:[e.file_id&&(0,a.jsxs)("div",{className:"bg-gray-50 p-2 rounded",children:[(0,a.jsx)("span",{className:"font-medium",children:"File ID:"})," ",e.file_id]}),e.filename&&(0,a.jsxs)("div",{className:"bg-gray-50 p-2 rounded",children:[(0,a.jsx)("span",{className:"font-medium",children:"Filename:"})," ",e.filename]}),e.attributes&&Object.keys(e.attributes).length>0&&(0,a.jsxs)("div",{className:"bg-gray-50 p-2 rounded",children:[(0,a.jsx)("span",{className:"font-medium block mb-1",children:"Attributes:"}),(0,a.jsx)("pre",{className:"text-xs bg-white p-2 rounded border overflow-x-auto",children:JSON.stringify(e.attributes,null,2)})]})]})]})]})]},r)})}):(0,a.jsx)("div",{className:"text-gray-500 text-sm",children:"No results found"})]})}),tn(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),p())},placeholder:"Enter your search query... (Shift+Enter for new line)",disabled:i,autoSize:{minRows:1,maxRows:4},style:{resize:"none"}})}),(0,a.jsx)(R.ZP,{type:"primary",onClick:p,disabled:i||!l.trim(),icon:(0,a.jsx)(Y.Z,{}),loading:i,children:"Search"})]})})]})})},et=e=>{let{vectorStoreId:t,onClose:r,accessToken:s,is_admin:l,editVectorStore:n}=e,[i]=b.Z.useForm(),[d,x]=(0,o.useState)(null),[m,h]=(0,o.useState)(n),[u,p]=(0,o.useState)("{}"),[j,g]=(0,o.useState)([]),[y,_]=(0,o.useState)("details"),N=async()=>{if(s)try{let e=await (0,c.vectorStoreInfoCall)(s,t);if(e&&e.vector_store){if(x(e.vector_store),e.vector_store.vector_store_metadata){let t="string"==typeof e.vector_store.vector_store_metadata?JSON.parse(e.vector_store.vector_store_metadata):e.vector_store.vector_store_metadata;p(JSON.stringify(t,null,2))}n&&i.setFieldsValue({vector_store_id:e.vector_store.vector_store_id,custom_llm_provider:e.vector_store.custom_llm_provider,vector_store_name:e.vector_store.vector_store_name,vector_store_description:e.vector_store.vector_store_description})}}catch(e){console.error("Error fetching vector store details:",e),D.Z.fromBackend("Error fetching vector store details: "+e)}},S=async()=>{if(s)try{let e=await (0,c.credentialListCall)(s);console.log("List credentials response:",e),g(e.credentials||[])}catch(e){console.error("Error fetching credentials:",e)}};(0,o.useEffect)(()=>{N(),S()},[t,s]);let I=async e=>{if(s)try{let t={};try{t=u?JSON.parse(u):{}}catch(e){D.Z.fromBackend("Invalid JSON in metadata field");return}let r={vector_store_id:e.vector_store_id,custom_llm_provider:e.custom_llm_provider,vector_store_name:e.vector_store_name,vector_store_description:e.vector_store_description,vector_store_metadata:t};await (0,c.vectorStoreUpdateCall)(s,r),D.Z.success("Vector store updated successfully"),h(!1),N()}catch(e){console.error("Error updating vector store:",e),D.Z.fromBackend("Error updating vector store: "+e)}};return d?(0,a.jsxs)("div",{className:"p-4 max-w-full",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(B.zx,{icon:M.Z,variant:"light",className:"mb-4",onClick:r,children:"Back to Vector Stores"}),(0,a.jsxs)(B.Dx,{children:["Vector Store ID: ",d.vector_store_id]}),(0,a.jsx)(B.xv,{className:"text-gray-500",children:d.vector_store_description||"No description"})]}),l&&!m&&(0,a.jsx)(B.zx,{onClick:()=>h(!0),children:"Edit Vector Store"})]}),(0,a.jsxs)(B.v0,{children:[(0,a.jsxs)(B.td,{className:"mb-6",children:[(0,a.jsx)(B.OK,{children:"Details"}),(0,a.jsx)(B.OK,{children:"Test Vector Store"})]}),(0,a.jsxs)(B.nP,{children:[(0,a.jsx)(B.x4,{children:m?(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsx)(B.Dx,{children:"Edit Vector Store"})}),(0,a.jsx)(B.Zb,{children:(0,a.jsxs)(b.Z,{form:i,onFinish:I,layout:"vertical",initialValues:d,children:[(0,a.jsx)(b.Z.Item,{label:"Vector Store ID",name:"vector_store_id",rules:[{required:!0,message:"Please input a vector store ID"}],children:(0,a.jsx)(Z.default,{disabled:!0})}),(0,a.jsx)(b.Z.Item,{label:"Vector Store Name",name:"vector_store_name",children:(0,a.jsx)(Z.default,{})}),(0,a.jsx)(b.Z.Item,{label:"Description",name:"vector_store_description",children:(0,a.jsx)(Z.default.TextArea,{rows:4})}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Provider"," ",(0,a.jsx)(v.Z,{title:"Select the provider for this vector store",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),name:"custom_llm_provider",rules:[{required:!0,message:"Please select a provider"}],children:(0,a.jsx)(w.default,{children:Object.entries(f.Cl).map(e=>{let[t,r]=e;return"Bedrock"===t?(0,a.jsx)(w.default.Option,{value:f.fK[t],children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("img",{src:f.cd[r],alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let t=e.target,s=t.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=r.charAt(0),s.replaceChild(e,t)}}}),(0,a.jsx)("span",{children:r})]})},t):null})})}),(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(B.xv,{className:"text-sm text-gray-500 mb-2",children:"Either select existing credentials OR enter provider credentials below"})}),(0,a.jsx)(b.Z.Item,{label:"Existing Credentials",name:"litellm_credential_name",children:(0,a.jsx)(w.default,{showSearch:!0,placeholder:"Select or search for existing credentials",optionFilterProp:"children",filterOption:(e,t)=>{var r;return(null!==(r=null==t?void 0:t.label)&&void 0!==r?r:"").toLowerCase().includes(e.toLowerCase())},options:[{value:null,label:"None"},...j.map(e=>({value:e.credential_name,label:e.credential_name}))],allowClear:!0})}),(0,a.jsxs)("div",{className:"flex items-center my-4",children:[(0,a.jsx)("div",{className:"flex-grow border-t border-gray-200"}),(0,a.jsx)("span",{className:"px-4 text-gray-500 text-sm",children:"OR"}),(0,a.jsx)("div",{className:"flex-grow border-t border-gray-200"})]}),(0,a.jsx)(b.Z.Item,{label:(0,a.jsxs)("span",{children:["Metadata"," ",(0,a.jsx)(v.Z,{title:"JSON metadata for the vector store",children:(0,a.jsx)(C.Z,{style:{marginLeft:"4px"}})})]}),children:(0,a.jsx)(Z.default.TextArea,{rows:4,value:u,onChange:e=>p(e.target.value),placeholder:'{"key": "value"}'})}),(0,a.jsxs)("div",{className:"flex justify-end space-x-2",children:[(0,a.jsx)(R.ZP,{onClick:()=>h(!1),children:"Cancel"}),(0,a.jsx)(R.ZP,{type:"primary",htmlType:"submit",children:"Save Changes"})]})]})})]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(B.Dx,{children:"Vector Store Details"}),l&&(0,a.jsx)(B.zx,{onClick:()=>h(!0),children:"Edit Vector Store"})]}),(0,a.jsx)(B.Zb,{children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"ID"}),(0,a.jsx)(B.xv,{children:d.vector_store_id})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"Name"}),(0,a.jsx)(B.xv,{children:d.vector_store_name||"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"Description"}),(0,a.jsx)(B.xv,{children:d.vector_store_description||"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"Provider"}),(0,a.jsx)("div",{className:"flex items-center space-x-2 mt-1",children:(()=>{let e=d.custom_llm_provider||"bedrock",{displayName:t,logo:r}=(()=>{let t=Object.keys(f.fK).find(t=>f.fK[t].toLowerCase()===e.toLowerCase());if(!t)return{displayName:e,logo:""};let r=f.Cl[t],s=f.cd[r];return{displayName:r,logo:s}})();return(0,a.jsxs)(a.Fragment,{children:[r&&(0,a.jsx)("img",{src:r,alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>{let r=e.target,s=r.parentElement;if(s){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),s.replaceChild(e,r)}}}),(0,a.jsx)(B.Ct,{color:"blue",children:t})]})})()})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"Metadata"}),(0,a.jsx)("div",{className:"bg-gray-50 p-3 rounded mt-2 font-mono text-xs overflow-auto max-h-48",children:(0,a.jsx)("pre",{children:u})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"Created"}),(0,a.jsx)(B.xv,{children:d.created_at?new Date(d.created_at).toLocaleString():"-"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.xv,{className:"font-medium",children:"Last Updated"}),(0,a.jsx)(B.xv,{children:d.updated_at?new Date(d.updated_at).toLocaleString():"-"})]})]})})]})}),(0,a.jsx)(B.x4,{children:(0,a.jsx)(ee,{vectorStoreId:d.vector_store_id,accessToken:s||""})})]})]})]}):(0,a.jsx)("div",{children:"Loading..."})},er=r(20347),es=e=>{let{accessToken:t,userID:r,userRole:s}=e,[l,d]=(0,o.useState)([]),[x,m]=(0,o.useState)(!1),[h,u]=(0,o.useState)(!1),[p,v]=(0,o.useState)(null),[j,g]=(0,o.useState)(""),[f,_]=(0,o.useState)([]),[b,N]=(0,o.useState)(null),[w,S]=(0,o.useState)(!1),Z=async()=>{if(t)try{let e=await (0,c.vectorStoreListCall)(t);console.log("List vector stores response:",e),d(e.data||[])}catch(e){console.error("Error fetching vector stores:",e),D.Z.fromBackend("Error fetching vector stores: "+e)}},C=async()=>{if(t)try{let e=await (0,c.credentialListCall)(t);console.log("List credentials response:",e),_(e.credentials||[])}catch(e){console.error("Error fetching credentials:",e),D.Z.fromBackend("Error fetching credentials: "+e)}},I=async e=>{v(e),u(!0)},k=async()=>{if(t&&p){try{await (0,c.vectorStoreDeleteCall)(t,p),D.Z.success("Vector store deleted successfully"),Z()}catch(e){console.error("Error deleting vector store:",e),D.Z.fromBackend("Error deleting vector store: "+e)}u(!1),v(null)}};return(0,o.useEffect)(()=>{Z(),C()},[t]),b?(0,a.jsx)("div",{className:"w-full h-full",children:(0,a.jsx)(et,{vectorStoreId:b,onClose:()=>{N(null),S(!1),Z()},accessToken:t,is_admin:(0,er.tY)(s||""),editVectorStore:w})}):(0,a.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,a.jsxs)("div",{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)("div",{className:"flex justify-between mt-2 w-full items-center mb-4",children:[(0,a.jsx)("h1",{children:"Vector Store Management"}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[j&&(0,a.jsxs)(n.xv,{children:["Last Refreshed: ",j]}),(0,a.jsx)(n.JO,{icon:i.Z,variant:"shadow",size:"xs",className:"self-center cursor-pointer",onClick:()=>{Z(),C(),g(new Date().toLocaleString())}})]})]}),(0,a.jsx)(n.xv,{className:"mb-4",children:(0,a.jsx)("p",{children:"You can use vector stores to store and retrieve LLM embeddings.."})}),(0,a.jsx)(n.zx,{className:"mb-4",onClick:()=>m(!0),children:"+ Add Vector Store"}),(0,a.jsx)(n.rj,{numItems:1,className:"gap-2 pt-2 pb-2 h-[75vh] w-full mt-2",children:(0,a.jsx)(n.JX,{numColSpan:1,children:(0,a.jsx)(y,{data:l,onView:e=>{N(e),S(!1)},onEdit:e=>{N(e),S(!0)},onDelete:I})})}),(0,a.jsx)(P,{isVisible:x,onCancel:()=>m(!1),onSuccess:()=>{m(!1),Z()},accessToken:t,credentials:f}),(0,a.jsx)(z,{isVisible:h,onCancel:()=>u(!1),onConfirm:k})]})})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/854-97f31da22f2b5bab.js b/litellm/proxy/_experimental/out/_next/static/chunks/854-97f31da22f2b5bab.js new file mode 100644 index 0000000000..f841f48ffd --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/854-97f31da22f2b5bab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[854],{15690:function(t,n,e){e.d(n,{default:function(){return G}});var o=e(2265),c=e(9738),i=e(49638),a=e(36760),r=e.n(a),l=e(1119),s=e(31686),d=e(11993),m=e(6989),g=e(95814),p=["className","prefixCls","style","active","status","iconPrefix","icon","wrapperStyle","stepNumber","disabled","description","title","subTitle","progressDot","stepIcon","tailContent","icons","stepIndex","onStepClick","onClick","render"];function u(t){return"string"==typeof t}var b=function(t){var n,e,c,i,a,b=t.className,h=t.prefixCls,f=t.style,v=t.active,S=t.status,C=t.iconPrefix,y=t.icon,I=(t.wrapperStyle,t.stepNumber),w=t.disabled,k=t.description,x=t.title,O=t.subTitle,E=t.progressDot,q=t.stepIcon,T=t.tailContent,z=t.icons,j=t.stepIndex,H=t.onStepClick,N=t.onClick,B=t.render,W=(0,m.Z)(t,p),M={};H&&!w&&(M.role="button",M.tabIndex=0,M.onClick=function(t){null==N||N(t),H(j)},M.onKeyDown=function(t){var n=t.which;(n===g.Z.ENTER||n===g.Z.SPACE)&&H(j)});var Z=r()("".concat(h,"-item"),"".concat(h,"-item-").concat(S||"wait"),b,(a={},(0,d.Z)(a,"".concat(h,"-item-custom"),y),(0,d.Z)(a,"".concat(h,"-item-active"),v),(0,d.Z)(a,"".concat(h,"-item-disabled"),!0===w),a)),P=(0,s.Z)({},f),X=o.createElement("div",(0,l.Z)({},W,{className:Z,style:P}),o.createElement("div",(0,l.Z)({onClick:N},M,{className:"".concat(h,"-item-container")}),o.createElement("div",{className:"".concat(h,"-item-tail")},T),o.createElement("div",{className:"".concat(h,"-item-icon")},(c=r()("".concat(h,"-icon"),"".concat(C,"icon"),(n={},(0,d.Z)(n,"".concat(C,"icon-").concat(y),y&&u(y)),(0,d.Z)(n,"".concat(C,"icon-check"),!y&&"finish"===S&&(z&&!z.finish||!z)),(0,d.Z)(n,"".concat(C,"icon-cross"),!y&&"error"===S&&(z&&!z.error||!z)),n)),i=o.createElement("span",{className:"".concat(h,"-icon-dot")}),e=E?"function"==typeof E?o.createElement("span",{className:"".concat(h,"-icon")},E(i,{index:I-1,status:S,title:x,description:k})):o.createElement("span",{className:"".concat(h,"-icon")},i):y&&!u(y)?o.createElement("span",{className:"".concat(h,"-icon")},y):z&&z.finish&&"finish"===S?o.createElement("span",{className:"".concat(h,"-icon")},z.finish):z&&z.error&&"error"===S?o.createElement("span",{className:"".concat(h,"-icon")},z.error):y||"finish"===S||"error"===S?o.createElement("span",{className:c}):o.createElement("span",{className:"".concat(h,"-icon")},I),q&&(e=q({index:I-1,status:S,title:x,description:k,node:e})),e)),o.createElement("div",{className:"".concat(h,"-item-content")},o.createElement("div",{className:"".concat(h,"-item-title")},x,O&&o.createElement("div",{title:"string"==typeof O?O:void 0,className:"".concat(h,"-item-subtitle")},O)),k&&o.createElement("div",{className:"".concat(h,"-item-description")},k))));return B&&(X=B(X)||null),X},h=["prefixCls","style","className","children","direction","type","labelPlacement","iconPrefix","status","size","current","progressDot","stepIcon","initial","icons","onChange","itemRender","items"];function f(t){var n,e=t.prefixCls,c=void 0===e?"rc-steps":e,i=t.style,a=void 0===i?{}:i,g=t.className,p=(t.children,t.direction),u=t.type,f=void 0===u?"default":u,v=t.labelPlacement,S=t.iconPrefix,C=void 0===S?"rc":S,y=t.status,I=void 0===y?"process":y,w=t.size,k=t.current,x=void 0===k?0:k,O=t.progressDot,E=t.stepIcon,q=t.initial,T=void 0===q?0:q,z=t.icons,j=t.onChange,H=t.itemRender,N=t.items,B=(0,m.Z)(t,h),W="inline"===f,M=W||void 0!==O&&O,Z=W?"horizontal":void 0===p?"horizontal":p,P=W?void 0:w,X=r()(c,"".concat(c,"-").concat(Z),g,(n={},(0,d.Z)(n,"".concat(c,"-").concat(P),P),(0,d.Z)(n,"".concat(c,"-label-").concat(M?"vertical":void 0===v?"horizontal":v),"horizontal"===Z),(0,d.Z)(n,"".concat(c,"-dot"),!!M),(0,d.Z)(n,"".concat(c,"-navigation"),"navigation"===f),(0,d.Z)(n,"".concat(c,"-inline"),W),n)),D=function(t){j&&x!==t&&j(t)};return o.createElement("div",(0,l.Z)({className:X,style:a},B),(void 0===N?[]:N).filter(function(t){return t}).map(function(t,n){var e=(0,s.Z)({},t),i=T+n;return"error"===I&&n===x-1&&(e.className="".concat(c,"-next-error")),e.status||(i===x?e.status=I:i{let{componentCls:n,customIconTop:e,customIconSize:o,customIconFontSize:c}=t;return{["".concat(n,"-item-custom")]:{["> ".concat(n,"-item-container > ").concat(n,"-item-icon")]:{height:"auto",background:"none",border:0,["> ".concat(n,"-icon")]:{top:e,width:o,height:o,fontSize:c,lineHeight:(0,w.bf)(o)}}},["&:not(".concat(n,"-vertical)")]:{["".concat(n,"-item-custom")]:{["".concat(n,"-item-icon")]:{width:"auto",background:"none"}}}}},q=t=>{let{componentCls:n}=t;return{["".concat(n,"-horizontal")]:{["".concat("".concat(n,"-item"),"-tail")]:{transform:"translateY(-50%)"}}}},T=t=>{let{componentCls:n,inlineDotSize:e,inlineTitleColor:o,inlineTailColor:c}=t,i=t.calc(t.paddingXS).add(t.lineWidth).equal(),a={["".concat(n,"-item-container ").concat(n,"-item-content ").concat(n,"-item-title")]:{color:o}};return{["&".concat(n,"-inline")]:{width:"auto",display:"inline-flex",["".concat(n,"-item")]:{flex:"none","&-container":{padding:"".concat((0,w.bf)(i)," ").concat((0,w.bf)(t.paddingXXS)," 0"),margin:"0 ".concat((0,w.bf)(t.calc(t.marginXXS).div(2).equal())),borderRadius:t.borderRadiusSM,cursor:"pointer",transition:"background-color ".concat(t.motionDurationMid),"&:hover":{background:t.controlItemBgHover},"&[role='button']:hover":{opacity:1}},"&-icon":{width:e,height:e,marginInlineStart:"calc(50% - ".concat((0,w.bf)(t.calc(e).div(2).equal()),")"),["> ".concat(n,"-icon")]:{top:0},["".concat(n,"-icon-dot")]:{borderRadius:t.calc(t.fontSizeSM).div(4).equal(),"&::after":{display:"none"}}},"&-content":{width:"auto",marginTop:t.calc(t.marginXS).sub(t.lineWidth).equal()},"&-title":{color:o,fontSize:t.fontSizeSM,lineHeight:t.lineHeightSM,fontWeight:"normal",marginBottom:t.calc(t.marginXXS).div(2).equal()},"&-description":{display:"none"},"&-tail":{marginInlineStart:0,top:t.calc(e).div(2).add(i).equal(),transform:"translateY(-50%)","&:after":{width:"100%",height:t.lineWidth,borderRadius:0,marginInlineStart:0,background:c}},["&:first-child ".concat(n,"-item-tail")]:{width:"50%",marginInlineStart:"50%"},["&:last-child ".concat(n,"-item-tail")]:{display:"block",width:"50%"},"&-wait":Object.assign({["".concat(n,"-item-icon ").concat(n,"-icon ").concat(n,"-icon-dot")]:{backgroundColor:t.colorBorderBg,border:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(c)}},a),"&-finish":Object.assign({["".concat(n,"-item-tail::after")]:{backgroundColor:c},["".concat(n,"-item-icon ").concat(n,"-icon ").concat(n,"-icon-dot")]:{backgroundColor:c,border:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(c)}},a),"&-error":a,"&-active, &-process":Object.assign({["".concat(n,"-item-icon")]:{width:e,height:e,marginInlineStart:"calc(50% - ".concat((0,w.bf)(t.calc(e).div(2).equal()),")"),top:0}},a),["&:not(".concat(n,"-item-active) > ").concat(n,"-item-container[role='button']:hover")]:{["".concat(n,"-item-title")]:{color:o}}}}}},z=t=>{let{componentCls:n,iconSize:e,lineHeight:o,iconSizeSM:c}=t;return{["&".concat(n,"-label-vertical")]:{["".concat(n,"-item")]:{overflow:"visible","&-tail":{marginInlineStart:t.calc(e).div(2).add(t.controlHeightLG).equal(),padding:"0 ".concat((0,w.bf)(t.paddingLG))},"&-content":{display:"block",width:t.calc(e).div(2).add(t.controlHeightLG).mul(2).equal(),marginTop:t.marginSM,textAlign:"center"},"&-icon":{display:"inline-block",marginInlineStart:t.controlHeightLG},"&-title":{paddingInlineEnd:0,paddingInlineStart:0,"&::after":{display:"none"}},"&-subtitle":{display:"block",marginBottom:t.marginXXS,marginInlineStart:0,lineHeight:o}},["&".concat(n,"-small:not(").concat(n,"-dot)")]:{["".concat(n,"-item")]:{"&-icon":{marginInlineStart:t.calc(e).sub(c).div(2).add(t.controlHeightLG).equal()}}}}}},j=t=>{let{componentCls:n,navContentMaxWidth:e,navArrowColor:o,stepsNavActiveColor:c,motionDurationSlow:i}=t;return{["&".concat(n,"-navigation")]:{paddingTop:t.paddingSM,["&".concat(n,"-small")]:{["".concat(n,"-item")]:{"&-container":{marginInlineStart:t.calc(t.marginSM).mul(-1).equal()}}},["".concat(n,"-item")]:{overflow:"visible",textAlign:"center","&-container":{display:"inline-block",height:"100%",marginInlineStart:t.calc(t.margin).mul(-1).equal(),paddingBottom:t.paddingSM,textAlign:"start",transition:"opacity ".concat(i),["".concat(n,"-item-content")]:{maxWidth:e},["".concat(n,"-item-title")]:Object.assign(Object.assign({maxWidth:"100%",paddingInlineEnd:0},k.vS),{"&::after":{display:"none"}})},["&:not(".concat(n,"-item-active)")]:{["".concat(n,"-item-container[role='button']")]:{cursor:"pointer","&:hover":{opacity:.85}}},"&:last-child":{flex:1,"&::after":{display:"none"}},"&::after":{position:"absolute",top:"calc(50% - ".concat((0,w.bf)(t.calc(t.paddingSM).div(2).equal()),")"),insetInlineStart:"100%",display:"inline-block",width:t.fontSizeIcon,height:t.fontSizeIcon,borderTop:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(o),borderBottom:"none",borderInlineStart:"none",borderInlineEnd:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(o),transform:"translateY(-50%) translateX(-50%) rotate(45deg)",content:'""'},"&::before":{position:"absolute",bottom:0,insetInlineStart:"50%",display:"inline-block",width:0,height:t.lineWidthBold,backgroundColor:c,transition:"width ".concat(i,", inset-inline-start ").concat(i),transitionTimingFunction:"ease-out",content:'""'}},["".concat(n,"-item").concat(n,"-item-active::before")]:{insetInlineStart:0,width:"100%"}},["&".concat(n,"-navigation").concat(n,"-vertical")]:{["> ".concat(n,"-item")]:{marginInlineEnd:0,"&::before":{display:"none"},["&".concat(n,"-item-active::before")]:{top:0,insetInlineEnd:0,insetInlineStart:"unset",display:"block",width:t.calc(t.lineWidth).mul(3).equal(),height:"calc(100% - ".concat((0,w.bf)(t.marginLG),")")},"&::after":{position:"relative",insetInlineStart:"50%",display:"block",width:t.calc(t.controlHeight).mul(.25).equal(),height:t.calc(t.controlHeight).mul(.25).equal(),marginBottom:t.marginXS,textAlign:"center",transform:"translateY(-50%) translateX(-50%) rotate(135deg)"},"&:last-child":{"&::after":{display:"none"}},["> ".concat(n,"-item-container > ").concat(n,"-item-tail")]:{visibility:"hidden"}}},["&".concat(n,"-navigation").concat(n,"-horizontal")]:{["> ".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{visibility:"hidden"}}}},H=t=>{let{antCls:n,componentCls:e,iconSize:o,iconSizeSM:c,processIconColor:i,marginXXS:a,lineWidthBold:r,lineWidth:l,paddingXXS:s}=t,d=t.calc(o).add(t.calc(r).mul(4).equal()).equal(),m=t.calc(c).add(t.calc(t.lineWidth).mul(4).equal()).equal();return{["&".concat(e,"-with-progress")]:{["".concat(e,"-item")]:{paddingTop:s,["&-process ".concat(e,"-item-container ").concat(e,"-item-icon ").concat(e,"-icon")]:{color:i}},["&".concat(e,"-vertical > ").concat(e,"-item ")]:{paddingInlineStart:s,["> ".concat(e,"-item-container > ").concat(e,"-item-tail")]:{top:a,insetInlineStart:t.calc(o).div(2).sub(l).add(s).equal()}},["&, &".concat(e,"-small")]:{["&".concat(e,"-horizontal ").concat(e,"-item:first-child")]:{paddingBottom:s,paddingInlineStart:s}},["&".concat(e,"-small").concat(e,"-vertical > ").concat(e,"-item > ").concat(e,"-item-container > ").concat(e,"-item-tail")]:{insetInlineStart:t.calc(c).div(2).sub(l).add(s).equal()},["&".concat(e,"-label-vertical ").concat(e,"-item ").concat(e,"-item-tail")]:{top:t.calc(o).div(2).add(s).equal()},["".concat(e,"-item-icon")]:{position:"relative",["".concat(n,"-progress")]:{position:"absolute",insetInlineStart:"50%",top:"50%",transform:"translate(-50%, -50%)","&-inner":{width:"".concat((0,w.bf)(d)," !important"),height:"".concat((0,w.bf)(d)," !important")}}},["&".concat(e,"-small")]:{["&".concat(e,"-label-vertical ").concat(e,"-item ").concat(e,"-item-tail")]:{top:t.calc(c).div(2).add(s).equal()},["".concat(e,"-item-icon ").concat(n,"-progress-inner")]:{width:"".concat((0,w.bf)(m)," !important"),height:"".concat((0,w.bf)(m)," !important")}}}}},N=t=>{let{componentCls:n,descriptionMaxWidth:e,lineHeight:o,dotCurrentSize:c,dotSize:i,motionDurationSlow:a}=t;return{["&".concat(n,"-dot, &").concat(n,"-dot").concat(n,"-small")]:{["".concat(n,"-item")]:{"&-title":{lineHeight:o},"&-tail":{top:t.calc(t.dotSize).sub(t.calc(t.lineWidth).mul(3).equal()).div(2).equal(),width:"100%",marginTop:0,marginBottom:0,marginInline:"".concat((0,w.bf)(t.calc(e).div(2).equal())," 0"),padding:0,"&::after":{width:"calc(100% - ".concat((0,w.bf)(t.calc(t.marginSM).mul(2).equal()),")"),height:t.calc(t.lineWidth).mul(3).equal(),marginInlineStart:t.marginSM}},"&-icon":{width:i,height:i,marginInlineStart:t.calc(t.descriptionMaxWidth).sub(i).div(2).equal(),paddingInlineEnd:0,lineHeight:(0,w.bf)(i),background:"transparent",border:0,["".concat(n,"-icon-dot")]:{position:"relative",float:"left",width:"100%",height:"100%",borderRadius:100,transition:"all ".concat(a),"&::after":{position:"absolute",top:t.calc(t.marginSM).mul(-1).equal(),insetInlineStart:t.calc(i).sub(t.calc(t.controlHeightLG).mul(1.5).equal()).div(2).equal(),width:t.calc(t.controlHeightLG).mul(1.5).equal(),height:t.controlHeight,background:"transparent",content:'""'}}},"&-content":{width:e},["&-process ".concat(n,"-item-icon")]:{position:"relative",top:t.calc(i).sub(c).div(2).equal(),width:c,height:c,lineHeight:(0,w.bf)(c),background:"none",marginInlineStart:t.calc(t.descriptionMaxWidth).sub(c).div(2).equal()},["&-process ".concat(n,"-icon")]:{["&:first-child ".concat(n,"-icon-dot")]:{insetInlineStart:0}}}},["&".concat(n,"-vertical").concat(n,"-dot")]:{["".concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeight).sub(i).div(2).equal(),marginInlineStart:0,background:"none"},["".concat(n,"-item-process ").concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeight).sub(c).div(2).equal(),top:0,insetInlineStart:t.calc(i).sub(c).div(2).equal(),marginInlineStart:0},["".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{top:t.calc(t.controlHeight).sub(i).div(2).equal(),insetInlineStart:0,margin:0,padding:"".concat((0,w.bf)(t.calc(i).add(t.paddingXS).equal())," 0 ").concat((0,w.bf)(t.paddingXS)),"&::after":{marginInlineStart:t.calc(i).sub(t.lineWidth).div(2).equal()}},["&".concat(n,"-small")]:{["".concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeightSM).sub(i).div(2).equal()},["".concat(n,"-item-process ").concat(n,"-item-icon")]:{marginTop:t.calc(t.controlHeightSM).sub(c).div(2).equal()},["".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{top:t.calc(t.controlHeightSM).sub(i).div(2).equal()}},["".concat(n,"-item:first-child ").concat(n,"-icon-dot")]:{insetInlineStart:0},["".concat(n,"-item-content")]:{width:"inherit"}}}},B=t=>{let{componentCls:n}=t;return{["&".concat(n,"-rtl")]:{direction:"rtl",["".concat(n,"-item")]:{"&-subtitle":{float:"left"}},["&".concat(n,"-navigation")]:{["".concat(n,"-item::after")]:{transform:"rotate(-45deg)"}},["&".concat(n,"-vertical")]:{["> ".concat(n,"-item")]:{"&::after":{transform:"rotate(225deg)"},["".concat(n,"-item-icon")]:{float:"right"}}},["&".concat(n,"-dot")]:{["".concat(n,"-item-icon ").concat(n,"-icon-dot, &").concat(n,"-small ").concat(n,"-item-icon ").concat(n,"-icon-dot")]:{float:"right"}}}}},W=t=>{let{componentCls:n,iconSizeSM:e,fontSizeSM:o,fontSize:c,colorTextDescription:i}=t;return{["&".concat(n,"-small")]:{["&".concat(n,"-horizontal:not(").concat(n,"-label-vertical) ").concat(n,"-item")]:{paddingInlineStart:t.paddingSM,"&:first-child":{paddingInlineStart:0}},["".concat(n,"-item-icon")]:{width:e,height:e,marginTop:0,marginBottom:0,marginInline:"0 ".concat((0,w.bf)(t.marginXS)),fontSize:o,lineHeight:(0,w.bf)(e),textAlign:"center",borderRadius:e},["".concat(n,"-item-title")]:{paddingInlineEnd:t.paddingSM,fontSize:c,lineHeight:(0,w.bf)(e),"&::after":{top:t.calc(e).div(2).equal()}},["".concat(n,"-item-description")]:{color:i,fontSize:c},["".concat(n,"-item-tail")]:{top:t.calc(e).div(2).sub(t.paddingXXS).equal()},["".concat(n,"-item-custom ").concat(n,"-item-icon")]:{width:"inherit",height:"inherit",lineHeight:"inherit",background:"none",border:0,borderRadius:0,["> ".concat(n,"-icon")]:{fontSize:e,lineHeight:(0,w.bf)(e),transform:"none"}}}}},M=t=>{let{componentCls:n,iconSizeSM:e,iconSize:o}=t;return{["&".concat(n,"-vertical")]:{display:"flex",flexDirection:"column",["> ".concat(n,"-item")]:{display:"block",flex:"1 0 auto",paddingInlineStart:0,overflow:"visible",["".concat(n,"-item-icon")]:{float:"left",marginInlineEnd:t.margin},["".concat(n,"-item-content")]:{display:"block",minHeight:t.calc(t.controlHeight).mul(1.5).equal(),overflow:"hidden"},["".concat(n,"-item-title")]:{lineHeight:(0,w.bf)(o)},["".concat(n,"-item-description")]:{paddingBottom:t.paddingSM}},["> ".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{position:"absolute",top:0,insetInlineStart:t.calc(o).div(2).sub(t.lineWidth).equal(),width:t.lineWidth,height:"100%",padding:"".concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).add(o).equal())," 0 ").concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).equal())),"&::after":{width:t.lineWidth,height:"100%"}},["> ".concat(n,"-item:not(:last-child) > ").concat(n,"-item-container > ").concat(n,"-item-tail")]:{display:"block"},[" > ".concat(n,"-item > ").concat(n,"-item-container > ").concat(n,"-item-content > ").concat(n,"-item-title")]:{"&::after":{display:"none"}},["&".concat(n,"-small ").concat(n,"-item-container")]:{["".concat(n,"-item-tail")]:{position:"absolute",top:0,insetInlineStart:t.calc(e).div(2).sub(t.lineWidth).equal(),padding:"".concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).add(e).equal())," 0 ").concat((0,w.bf)(t.calc(t.marginXXS).mul(1.5).equal()))},["".concat(n,"-item-title")]:{lineHeight:(0,w.bf)(e)}}}}};let Z=(t,n)=>{let e="".concat(n.componentCls,"-item"),o="".concat(t,"IconColor"),c="".concat(t,"TitleColor"),i="".concat(t,"DescriptionColor"),a="".concat(t,"TailColor"),r="".concat(t,"IconBgColor"),l="".concat(t,"IconBorderColor"),s="".concat(t,"DotColor");return{["".concat(e,"-").concat(t," ").concat(e,"-icon")]:{backgroundColor:n[r],borderColor:n[l],["> ".concat(n.componentCls,"-icon")]:{color:n[o],["".concat(n.componentCls,"-icon-dot")]:{background:n[s]}}},["".concat(e,"-").concat(t).concat(e,"-custom ").concat(e,"-icon")]:{["> ".concat(n.componentCls,"-icon")]:{color:n[s]}},["".concat(e,"-").concat(t," > ").concat(e,"-container > ").concat(e,"-content > ").concat(e,"-title")]:{color:n[c],"&::after":{backgroundColor:n[a]}},["".concat(e,"-").concat(t," > ").concat(e,"-container > ").concat(e,"-content > ").concat(e,"-description")]:{color:n[i]},["".concat(e,"-").concat(t," > ").concat(e,"-container > ").concat(e,"-tail::after")]:{backgroundColor:n[a]}}},P=t=>{let{componentCls:n,motionDurationSlow:e}=t,o="".concat(n,"-item"),c="".concat(o,"-icon");return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[o]:{position:"relative",display:"inline-block",flex:1,overflow:"hidden",verticalAlign:"top","&:last-child":{flex:"none",["> ".concat(o,"-container > ").concat(o,"-tail, > ").concat(o,"-container > ").concat(o,"-content > ").concat(o,"-title::after")]:{display:"none"}}},["".concat(o,"-container")]:{outline:"none",["&:focus-visible ".concat(c)]:(0,k.oN)(t)},["".concat(c,", ").concat(o,"-content")]:{display:"inline-block",verticalAlign:"top"},[c]:{width:t.iconSize,height:t.iconSize,marginTop:0,marginBottom:0,marginInlineStart:0,marginInlineEnd:t.marginXS,fontSize:t.iconFontSize,fontFamily:t.fontFamily,lineHeight:(0,w.bf)(t.iconSize),textAlign:"center",borderRadius:t.iconSize,border:"".concat((0,w.bf)(t.lineWidth)," ").concat(t.lineType," transparent"),transition:"background-color ".concat(e,", border-color ").concat(e),["".concat(n,"-icon")]:{position:"relative",top:t.iconTop,color:t.colorPrimary,lineHeight:1}},["".concat(o,"-tail")]:{position:"absolute",top:t.calc(t.iconSize).div(2).equal(),insetInlineStart:0,width:"100%","&::after":{display:"inline-block",width:"100%",height:t.lineWidth,background:t.colorSplit,borderRadius:t.lineWidth,transition:"background ".concat(e),content:'""'}},["".concat(o,"-title")]:{position:"relative",display:"inline-block",paddingInlineEnd:t.padding,color:t.colorText,fontSize:t.fontSizeLG,lineHeight:(0,w.bf)(t.titleLineHeight),"&::after":{position:"absolute",top:t.calc(t.titleLineHeight).div(2).equal(),insetInlineStart:"100%",display:"block",width:9999,height:t.lineWidth,background:t.processTailColor,content:'""'}},["".concat(o,"-subtitle")]:{display:"inline",marginInlineStart:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize},["".concat(o,"-description")]:{color:t.colorTextDescription,fontSize:t.fontSize}},Z("wait",t)),Z("process",t)),{["".concat(o,"-process > ").concat(o,"-container > ").concat(o,"-title")]:{fontWeight:t.fontWeightStrong}}),Z("finish",t)),Z("error",t)),{["".concat(o).concat(n,"-next-error > ").concat(n,"-item-title::after")]:{background:t.colorError},["".concat(o,"-disabled")]:{cursor:"not-allowed"}})},X=t=>{let{componentCls:n,motionDurationSlow:e}=t;return{["& ".concat(n,"-item")]:{["&:not(".concat(n,"-item-active)")]:{["& > ".concat(n,"-item-container[role='button']")]:{cursor:"pointer",["".concat(n,"-item")]:{["&-title, &-subtitle, &-description, &-icon ".concat(n,"-icon")]:{transition:"color ".concat(e)}},"&:hover":{["".concat(n,"-item")]:{"&-title, &-subtitle, &-description":{color:t.colorPrimary}}}},["&:not(".concat(n,"-item-process)")]:{["& > ".concat(n,"-item-container[role='button']:hover")]:{["".concat(n,"-item")]:{"&-icon":{borderColor:t.colorPrimary,["".concat(n,"-icon")]:{color:t.colorPrimary}}}}}}},["&".concat(n,"-horizontal:not(").concat(n,"-label-vertical)")]:{["".concat(n,"-item")]:{paddingInlineStart:t.padding,whiteSpace:"nowrap","&:first-child":{paddingInlineStart:0},["&:last-child ".concat(n,"-item-title")]:{paddingInlineEnd:0},"&-tail":{display:"none"},"&-description":{maxWidth:t.descriptionMaxWidth,whiteSpace:"normal"}}}}},D=t=>{let{componentCls:n}=t;return{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,k.Wf)(t)),{display:"flex",width:"100%",fontSize:0,textAlign:"initial"}),P(t)),X(t)),E(t)),W(t)),M(t)),q(t)),z(t)),N(t)),j(t)),B(t)),H(t)),T(t))}};var L=(0,x.I$)("Steps",t=>{let{colorTextDisabled:n,controlHeightLG:e,colorTextLightSolid:o,colorText:c,colorPrimary:i,colorTextDescription:a,colorTextQuaternary:r,colorError:l,colorBorderSecondary:s,colorSplit:d}=t;return D((0,O.IX)(t,{processIconColor:o,processTitleColor:c,processDescriptionColor:c,processIconBgColor:i,processIconBorderColor:i,processDotColor:i,processTailColor:d,waitTitleColor:a,waitDescriptionColor:a,waitTailColor:d,waitDotColor:n,finishIconColor:i,finishTitleColor:c,finishDescriptionColor:a,finishTailColor:i,finishDotColor:i,errorIconColor:o,errorTitleColor:l,errorDescriptionColor:l,errorTailColor:d,errorIconBgColor:l,errorIconBorderColor:l,errorDotColor:l,stepsNavActiveColor:i,stepsProgressSize:e,inlineDotSize:6,inlineTitleColor:r,inlineTailColor:s}))},t=>({titleLineHeight:t.controlHeight,customIconSize:t.controlHeight,customIconTop:0,customIconFontSize:t.controlHeightSM,iconSize:t.controlHeight,iconTop:-.5,iconFontSize:t.fontSize,iconSizeSM:t.fontSizeHeading3,dotSize:t.controlHeight/4,dotCurrentSize:t.controlHeightLG/4,navArrowColor:t.colorTextDisabled,navContentMaxWidth:"unset",descriptionMaxWidth:140,waitIconColor:t.wireframe?t.colorTextDisabled:t.colorTextLabel,waitIconBgColor:t.wireframe?t.colorBgContainer:t.colorFillContent,waitIconBorderColor:t.wireframe?t.colorTextDisabled:"transparent",finishIconBgColor:t.wireframe?t.colorBgContainer:t.controlItemBgActive,finishIconBorderColor:t.wireframe?t.colorPrimary:t.controlItemBgActive})),R=e(45287),A=function(t,n){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&0>n.indexOf(o)&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,o=Object.getOwnPropertySymbols(t);cn.indexOf(o[c])&&Object.prototype.propertyIsEnumerable.call(t,o[c])&&(e[o[c]]=t[o[c]]);return e};let F=t=>{let{percent:n,size:e,className:a,rootClassName:l,direction:s,items:d,responsive:m=!0,current:g=0,children:p,style:u}=t,b=A(t,["percent","size","className","rootClassName","direction","items","responsive","current","children","style"]),{xs:h}=(0,C.Z)(m),{getPrefixCls:w,direction:k,className:x,style:O}=(0,v.dj)("steps"),E=o.useMemo(()=>m&&h?"vertical":s,[m,h,s]),q=(0,S.Z)(e),T=w("steps",t.prefixCls),[z,j,H]=L(T),N="inline"===t.type,B=w("",t.iconPrefix),W=d||(0,R.Z)(p).map(t=>{if(o.isValidElement(t)){let{props:n}=t;return Object.assign({},n)}return null}).filter(t=>t),M=N?void 0:n,Z=Object.assign(Object.assign({},O),u),P=r()(x,{["".concat(T,"-rtl")]:"rtl"===k,["".concat(T,"-with-progress")]:void 0!==M},a,l,j,H),X={finish:o.createElement(c.Z,{className:"".concat(T,"-finish-icon")}),error:o.createElement(i.Z,{className:"".concat(T,"-error-icon")})};return z(o.createElement(f,Object.assign({icons:X},b,{style:Z,current:g,size:q,items:W,itemRender:N?(t,n)=>t.description?o.createElement(I.Z,{title:t.description},n):n:void 0,stepIcon:t=>{let{node:n,status:e}=t;return"process"===e&&void 0!==M?o.createElement("div",{className:"".concat(T,"-progress-icon")},o.createElement(y.Z,{type:"circle",percent:M,size:"small"===q?32:40,strokeWidth:4,format:()=>null}),n):n},direction:E,prefixCls:T,iconPrefix:B,className:P})))};F.Step=f.Step;var G=F},3810:function(t,n,e){e.d(n,{Z:function(){return z}});var o=e(2265),c=e(36760),i=e.n(c),a=e(18694),r=e(93350),l=e(53445),s=e(19722),d=e(6694),m=e(71744),g=e(93463),p=e(54558),u=e(12918),b=e(71140),h=e(99320);let f=t=>{let{paddingXXS:n,lineWidth:e,tagPaddingHorizontal:o,componentCls:c,calc:i}=t,a=i(o).sub(e).equal(),r=i(n).sub(e).equal();return{[c]:Object.assign(Object.assign({},(0,u.Wf)(t)),{display:"inline-block",height:"auto",marginInlineEnd:t.marginXS,paddingInline:a,fontSize:t.tagFontSize,lineHeight:t.tagLineHeight,whiteSpace:"nowrap",background:t.defaultBg,border:"".concat((0,g.bf)(t.lineWidth)," ").concat(t.lineType," ").concat(t.colorBorder),borderRadius:t.borderRadiusSM,opacity:1,transition:"all ".concat(t.motionDurationMid),textAlign:"start",position:"relative",["&".concat(c,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:t.defaultColor},["".concat(c,"-close-icon")]:{marginInlineStart:r,fontSize:t.tagIconSize,color:t.colorIcon,cursor:"pointer",transition:"all ".concat(t.motionDurationMid),"&:hover":{color:t.colorTextHeading}},["&".concat(c,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(t.iconCls,"-close, ").concat(t.iconCls,"-close:hover")]:{color:t.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(c,"-checkable-checked):hover")]:{color:t.colorPrimary,backgroundColor:t.colorFillSecondary},"&:active, &-checked":{color:t.colorTextLightSolid},"&-checked":{backgroundColor:t.colorPrimary,"&:hover":{backgroundColor:t.colorPrimaryHover}},"&:active":{backgroundColor:t.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(t.iconCls," + span, > span + ").concat(t.iconCls)]:{marginInlineStart:a}}),["".concat(c,"-borderless")]:{borderColor:"transparent",background:t.tagBorderlessBg}}},v=t=>{let{lineWidth:n,fontSizeIcon:e,calc:o}=t,c=t.fontSizeSM;return(0,b.IX)(t,{tagFontSize:c,tagLineHeight:(0,g.bf)(o(t.lineHeightSM).mul(c).equal()),tagIconSize:o(e).sub(o(n).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:t.defaultBg})},S=t=>({defaultBg:new p.t(t.colorFillQuaternary).onBackground(t.colorBgContainer).toHexString(),defaultColor:t.colorText});var C=(0,h.I$)("Tag",t=>f(v(t)),S),y=function(t,n){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&0>n.indexOf(o)&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,o=Object.getOwnPropertySymbols(t);cn.indexOf(o[c])&&Object.prototype.propertyIsEnumerable.call(t,o[c])&&(e[o[c]]=t[o[c]]);return e};let I=o.forwardRef((t,n)=>{let{prefixCls:e,style:c,className:a,checked:r,children:l,icon:s,onChange:d,onClick:g}=t,p=y(t,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:u,tag:b}=o.useContext(m.E_),h=u("tag",e),[f,v,S]=C(h),I=i()(h,"".concat(h,"-checkable"),{["".concat(h,"-checkable-checked")]:r},null==b?void 0:b.className,a,v,S);return f(o.createElement("span",Object.assign({},p,{ref:n,style:Object.assign(Object.assign({},c),null==b?void 0:b.style),className:I,onClick:t=>{null==d||d(!r),null==g||g(t)}}),s,o.createElement("span",null,l)))});var w=e(18536);let k=t=>(0,w.Z)(t,(n,e)=>{let{textColor:o,lightBorderColor:c,lightColor:i,darkColor:a}=e;return{["".concat(t.componentCls).concat(t.componentCls,"-").concat(n)]:{color:o,background:i,borderColor:c,"&-inverse":{color:t.colorTextLightSolid,background:a,borderColor:a},["&".concat(t.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var x=(0,h.bk)(["Tag","preset"],t=>k(v(t)),S);let O=(t,n,e)=>{let o="string"!=typeof e?e:e.charAt(0).toUpperCase()+e.slice(1);return{["".concat(t.componentCls).concat(t.componentCls,"-").concat(n)]:{color:t["color".concat(e)],background:t["color".concat(o,"Bg")],borderColor:t["color".concat(o,"Border")],["&".concat(t.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var E=(0,h.bk)(["Tag","status"],t=>{let n=v(t);return[O(n,"success","Success"),O(n,"processing","Info"),O(n,"error","Error"),O(n,"warning","Warning")]},S),q=function(t,n){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&0>n.indexOf(o)&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,o=Object.getOwnPropertySymbols(t);cn.indexOf(o[c])&&Object.prototype.propertyIsEnumerable.call(t,o[c])&&(e[o[c]]=t[o[c]]);return e};let T=o.forwardRef((t,n)=>{let{prefixCls:e,className:c,rootClassName:g,style:p,children:u,icon:b,color:h,onClose:f,bordered:v=!0,visible:S}=t,y=q(t,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:I,direction:w,tag:k}=o.useContext(m.E_),[O,T]=o.useState(!0),z=(0,a.Z)(y,["closeIcon","closable"]);o.useEffect(()=>{void 0!==S&&T(S)},[S]);let j=(0,r.o2)(h),H=(0,r.yT)(h),N=j||H,B=Object.assign(Object.assign({backgroundColor:h&&!N?h:void 0},null==k?void 0:k.style),p),W=I("tag",e),[M,Z,P]=C(W),X=i()(W,null==k?void 0:k.className,{["".concat(W,"-").concat(h)]:N,["".concat(W,"-has-color")]:h&&!N,["".concat(W,"-hidden")]:!O,["".concat(W,"-rtl")]:"rtl"===w,["".concat(W,"-borderless")]:!v},c,g,Z,P),D=t=>{t.stopPropagation(),null==f||f(t),t.defaultPrevented||T(!1)},[,L]=(0,l.b)((0,l.w)(t),(0,l.w)(k),{closable:!1,closeIconRender:t=>{let n=o.createElement("span",{className:"".concat(W,"-close-icon"),onClick:D},t);return(0,s.wm)(t,n,t=>({onClick:n=>{var e;null===(e=null==t?void 0:t.onClick)||void 0===e||e.call(t,n),D(n)},className:i()(null==t?void 0:t.className,"".concat(W,"-close-icon"))}))}}),R="function"==typeof y.onClick||u&&"a"===u.type,A=b||null,F=A?o.createElement(o.Fragment,null,A,u&&o.createElement("span",null,u)):u,G=o.createElement("span",Object.assign({},z,{ref:n,className:X,style:B}),F,L,j&&o.createElement(x,{key:"preset",prefixCls:W}),H&&o.createElement(E,{key:"status",prefixCls:W}));return M(R?o.createElement(d.Z,{component:"Tag"},G):G)});T.CheckableTag=I;var z=T},44633:function(t,n,e){var o=e(2265);let c=o.forwardRef(function(t,n){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:n},t),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});n.Z=c},49084:function(t,n,e){var o=e(2265);let c=o.forwardRef(function(t,n){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:n},t),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});n.Z=c}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8614-bb0547ba180414d1.js b/litellm/proxy/_experimental/out/_next/static/chunks/8614-bb0547ba180414d1.js new file mode 100644 index 0000000000..633dda77e0 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/8614-bb0547ba180414d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8614],{83669:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},5540:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},41169:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z"}}]},name:"experiment",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},38434:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},10798:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z"}}]},name:"filter",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},8881:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z"}}]},name:"stop",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},3632:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(1119),c=n(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},r=n(55015),l=c.forwardRef(function(e,t){return c.createElement(r.Z,(0,a.Z)({},e,{ref:t,icon:o}))})},30150:function(e,t,n){n.d(t,{Z:function(){return u}});var a=n(5853),c=n(2265);let o=e=>{var t=(0,a._T)(e,[]);return c.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),c.createElement("path",{d:"M12 4v16m8-8H4"}))},r=e=>{var t=(0,a._T)(e,[]);return c.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5"}),c.createElement("path",{d:"M20 12H4"}))};var l=n(13241),i=n(1153),s=n(69262);let d="flex mx-auto text-tremor-content-subtle dark:text-dark-tremor-content-subtle",m="cursor-pointer hover:text-tremor-content dark:hover:text-dark-tremor-content",u=c.forwardRef((e,t)=>{let{onSubmit:n,enableStepper:u=!0,disabled:p,onValueChange:g,onChange:f}=e,h=(0,a._T)(e,["onSubmit","enableStepper","disabled","onValueChange","onChange"]),b=(0,c.useRef)(null),[v,x]=c.useState(!1),y=c.useCallback(()=>{x(!0)},[]),k=c.useCallback(()=>{x(!1)},[]),[C,E]=c.useState(!1),w=c.useCallback(()=>{E(!0)},[]),S=c.useCallback(()=>{E(!1)},[]);return c.createElement(s.Z,Object.assign({type:"number",ref:(0,i.lq)([b,t]),disabled:p,makeInputClassName:(0,i.fn)("NumberInput"),onKeyDown:e=>{var t;if("Enter"===e.key&&!e.ctrlKey&&!e.altKey&&!e.shiftKey){let e=null===(t=b.current)||void 0===t?void 0:t.value;null==n||n(parseFloat(null!=e?e:""))}"ArrowDown"===e.key&&y(),"ArrowUp"===e.key&&w()},onKeyUp:e=>{"ArrowDown"===e.key&&k(),"ArrowUp"===e.key&&S()},onChange:e=>{p||(null==g||g(parseFloat(e.target.value)),null==f||f(e))},stepper:u?c.createElement("div",{className:(0,l.q)("flex justify-center align-middle")},c.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;p||(null===(e=b.current)||void 0===e||e.stepDown(),null===(t=b.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,l.q)(!p&&m,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},c.createElement(r,{"data-testid":"step-down",className:(v?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"})),c.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>{e.cancelable&&e.preventDefault()},onMouseUp:()=>{var e,t;p||(null===(e=b.current)||void 0===e||e.stepUp(),null===(t=b.current)||void 0===t||t.dispatchEvent(new Event("input",{bubbles:!0})))},className:(0,l.q)(!p&&m,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},c.createElement(o,{"data-testid":"step-up",className:(C?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"}))):null},h))});u.displayName="NumberInput"},16853:function(e,t,n){n.d(t,{Z:function(){return d}});var a=n(5853),c=n(96398),o=n(44140),r=n(2265),l=n(13241),i=n(1153);let s=(0,i.fn)("Textarea"),d=r.forwardRef((e,t)=>{let{value:n,defaultValue:d="",placeholder:m="Type...",error:u=!1,errorMessage:p,disabled:g=!1,className:f,onChange:h,onValueChange:b,autoHeight:v=!1}=e,x=(0,a._T)(e,["value","defaultValue","placeholder","error","errorMessage","disabled","className","onChange","onValueChange","autoHeight"]),[y,k]=(0,o.Z)(d,n),C=(0,r.useRef)(null),E=(0,c.Uh)(y);return(0,r.useEffect)(()=>{let e=C.current;if(v&&e){e.style.height="60px";let t=e.scrollHeight;e.style.height=t+"px"}},[v,C,y]),r.createElement(r.Fragment,null,r.createElement("textarea",Object.assign({ref:(0,i.lq)([C,t]),value:y,placeholder:m,disabled:g,className:(0,l.q)(s("Textarea"),"w-full flex items-center outline-none rounded-tremor-default px-3 py-2 text-tremor-default focus:ring-2 transition duration-100 border","shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:shadow-dark-tremor-input focus:dark:border-dark-tremor-brand-subtle focus:dark:ring-dark-tremor-brand-muted",(0,c.um)(E,g,u),g?"placeholder:text-tremor-content-subtle dark:placeholder:text-dark-tremor-content-subtle":"placeholder:text-tremor-content dark:placeholder:text-dark-tremor-content",f),"data-testid":"text-area",onChange:e=>{null==h||h(e),k(e.target.value),null==b||b(e.target.value)}},x)),u&&p?r.createElement("p",{className:(0,l.q)(s("errorMessage"),"text-sm text-red-500 mt-1")},p):null)});d.displayName="Textarea"},67101:function(e,t,n){n.d(t,{Z:function(){return d}});var a=n(5853),c=n(13241),o=n(1153),r=n(2265),l=n(9496);let i=(0,o.fn)("Grid"),s=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"",d=r.forwardRef((e,t)=>{let{numItems:n=1,numItemsSm:o,numItemsMd:d,numItemsLg:m,children:u,className:p}=e,g=(0,a._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),f=s(n,l._m),h=s(o,l.LH),b=s(d,l.l5),v=s(m,l.N4),x=(0,c.q)(f,h,b,v);return r.createElement("div",Object.assign({ref:t,className:(0,c.q)(i("root"),"grid",x,p)},g),u)});d.displayName="Grid"},9496:function(e,t,n){n.d(t,{LH:function(){return c},N4:function(){return r},PT:function(){return l},SP:function(){return i},VS:function(){return s},_m:function(){return a},_w:function(){return d},l5:function(){return o}});let a={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},c={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},o={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},r={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},l={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},i={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},s={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},d={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},44140:function(e,t,n){n.d(t,{Z:function(){return c}});var a=n(2265);let c=(e,t)=>{let n=void 0!==t,[c,o]=(0,a.useState)(e);return[n?t:c,e=>{n||o(e)}]}},44851:function(e,t,n){n.d(t,{default:function(){return D}});var a=n(2265),c=n(77565),o=n(36760),r=n.n(o),l=n(1119),i=n(83145),s=n(26365),d=n(41154),m=n(50506),u=n(32559),p=n(6989),g=n(45287),f=n(31686),h=n(11993),b=n(66632),v=n(95814),x=a.forwardRef(function(e,t){var n=e.prefixCls,c=e.forceRender,o=e.className,l=e.style,i=e.children,d=e.isActive,m=e.role,u=e.classNames,p=e.styles,g=a.useState(d||c),f=(0,s.Z)(g,2),b=f[0],v=f[1];return(a.useEffect(function(){(c||d)&&v(!0)},[c,d]),b)?a.createElement("div",{ref:t,className:r()("".concat(n,"-content"),(0,h.Z)((0,h.Z)({},"".concat(n,"-content-active"),d),"".concat(n,"-content-inactive"),!d),o),style:l,role:m},a.createElement("div",{className:r()("".concat(n,"-content-box"),null==u?void 0:u.body),style:null==p?void 0:p.body},i)):null});x.displayName="PanelContent";var y=["showArrow","headerClass","isActive","onItemClick","forceRender","className","classNames","styles","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],k=a.forwardRef(function(e,t){var n=e.showArrow,c=e.headerClass,o=e.isActive,i=e.onItemClick,s=e.forceRender,d=e.className,m=e.classNames,u=void 0===m?{}:m,g=e.styles,k=void 0===g?{}:g,C=e.prefixCls,E=e.collapsible,w=e.accordion,S=e.panelKey,N=e.extra,Z=e.header,I=e.expandIcon,O=e.openMotion,M=e.destroyInactivePanel,j=e.children,z=(0,p.Z)(e,y),B="disabled"===E,P=(0,h.Z)((0,h.Z)((0,h.Z)({onClick:function(){null==i||i(S)},onKeyDown:function(e){("Enter"===e.key||e.keyCode===v.Z.ENTER||e.which===v.Z.ENTER)&&(null==i||i(S))},role:w?"tab":"button"},"aria-expanded",o),"aria-disabled",B),"tabIndex",B?-1:0),R="function"==typeof I?I(e):a.createElement("i",{className:"arrow"}),H=R&&a.createElement("div",(0,l.Z)({className:"".concat(C,"-expand-icon")},["header","icon"].includes(E)?P:{}),R),L=r()("".concat(C,"-item"),(0,h.Z)((0,h.Z)({},"".concat(C,"-item-active"),o),"".concat(C,"-item-disabled"),B),d),T=r()(c,"".concat(C,"-header"),(0,h.Z)({},"".concat(C,"-collapsible-").concat(E),!!E),u.header),A=(0,f.Z)({className:T,style:k.header},["header","icon"].includes(E)?{}:P);return a.createElement("div",(0,l.Z)({},z,{ref:t,className:L}),a.createElement("div",A,(void 0===n||n)&&H,a.createElement("span",(0,l.Z)({className:"".concat(C,"-header-text")},"header"===E?P:{}),Z),null!=N&&"boolean"!=typeof N&&a.createElement("div",{className:"".concat(C,"-extra")},N)),a.createElement(b.ZP,(0,l.Z)({visible:o,leavedClassName:"".concat(C,"-content-hidden")},O,{forceRender:s,removeOnLeave:M}),function(e,t){var n=e.className,c=e.style;return a.createElement(x,{ref:t,prefixCls:C,className:n,classNames:u,style:c,styles:k,isActive:o,forceRender:s,role:w?"tabpanel":void 0},j)}))}),C=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],E=function(e,t){var n=t.prefixCls,c=t.accordion,o=t.collapsible,r=t.destroyInactivePanel,i=t.onItemClick,s=t.activeKey,d=t.openMotion,m=t.expandIcon;return e.map(function(e,t){var u=e.children,g=e.label,f=e.key,h=e.collapsible,b=e.onItemClick,v=e.destroyInactivePanel,x=(0,p.Z)(e,C),y=String(null!=f?f:t),E=null!=h?h:o,w=!1;return w=c?s[0]===y:s.indexOf(y)>-1,a.createElement(k,(0,l.Z)({},x,{prefixCls:n,key:y,panelKey:y,isActive:w,accordion:c,openMotion:d,expandIcon:m,header:g,collapsible:E,onItemClick:function(e){"disabled"!==E&&(i(e),null==b||b(e))},destroyInactivePanel:null!=v?v:r}),u)})},w=function(e,t,n){if(!e)return null;var c=n.prefixCls,o=n.accordion,r=n.collapsible,l=n.destroyInactivePanel,i=n.onItemClick,s=n.activeKey,d=n.openMotion,m=n.expandIcon,u=e.key||String(t),p=e.props,g=p.header,f=p.headerClass,h=p.destroyInactivePanel,b=p.collapsible,v=p.onItemClick,x=!1;x=o?s[0]===u:s.indexOf(u)>-1;var y=null!=b?b:r,k={key:u,panelKey:u,header:g,headerClass:f,isActive:x,prefixCls:c,destroyInactivePanel:null!=h?h:l,openMotion:d,accordion:o,children:e.props.children,onItemClick:function(e){"disabled"!==y&&(i(e),null==v||v(e))},expandIcon:m,collapsible:y};return"string"==typeof e.type?e:(Object.keys(k).forEach(function(e){void 0===k[e]&&delete k[e]}),a.cloneElement(e,k))},S=n(18242);function N(e){var t=e;if(!Array.isArray(t)){var n=(0,d.Z)(t);t="number"===n||"string"===n?[t]:[]}return t.map(function(e){return String(e)})}var Z=Object.assign(a.forwardRef(function(e,t){var n,c=e.prefixCls,o=void 0===c?"rc-collapse":c,d=e.destroyInactivePanel,p=e.style,f=e.accordion,h=e.className,b=e.children,v=e.collapsible,x=e.openMotion,y=e.expandIcon,k=e.activeKey,C=e.defaultActiveKey,Z=e.onChange,I=e.items,O=r()(o,h),M=(0,m.Z)([],{value:k,onChange:function(e){return null==Z?void 0:Z(e)},defaultValue:C,postState:N}),j=(0,s.Z)(M,2),z=j[0],B=j[1];(0,u.ZP)(!b,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var P=(n={prefixCls:o,accordion:f,openMotion:x,expandIcon:y,collapsible:v,destroyInactivePanel:void 0!==d&&d,onItemClick:function(e){return B(function(){return f?z[0]===e?[]:[e]:z.indexOf(e)>-1?z.filter(function(t){return t!==e}):[].concat((0,i.Z)(z),[e])})},activeKey:z},Array.isArray(I)?E(I,n):(0,g.Z)(b).map(function(e,t){return w(e,t,n)}));return a.createElement("div",(0,l.Z)({ref:t,className:O,style:p,role:f?"tablist":void 0},(0,S.Z)(e,{aria:!0,data:!0})),P)}),{Panel:k});Z.Panel;var I=n(18694),O=n(68710),M=n(19722),j=n(71744),z=n(33759);let B=a.forwardRef((e,t)=>{let{getPrefixCls:n}=a.useContext(j.E_),{prefixCls:c,className:o,showArrow:l=!0}=e,i=n("collapse",c),s=r()({["".concat(i,"-no-arrow")]:!l},o);return a.createElement(Z.Panel,Object.assign({ref:t},e,{prefixCls:i,className:s}))});var P=n(93463),R=n(12918),H=n(63074),L=n(99320),T=n(71140);let A=e=>{let{componentCls:t,contentBg:n,padding:a,headerBg:c,headerPadding:o,collapseHeaderPaddingSM:r,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:i,lineWidth:s,lineType:d,colorBorder:m,colorText:u,colorTextHeading:p,colorTextDisabled:g,fontSizeLG:f,lineHeight:h,lineHeightLG:b,marginSM:v,paddingSM:x,paddingLG:y,paddingXS:k,motionDurationSlow:C,fontSizeIcon:E,contentPadding:w,fontHeight:S,fontHeightLG:N}=e,Z="".concat((0,P.bf)(s)," ").concat(d," ").concat(m);return{[t]:Object.assign(Object.assign({},(0,R.Wf)(e)),{backgroundColor:c,border:Z,borderRadius:i,"&-rtl":{direction:"rtl"},["& > ".concat(t,"-item")]:{borderBottom:Z,"&:first-child":{["\n &,\n & > ".concat(t,"-header")]:{borderRadius:"".concat((0,P.bf)(i)," ").concat((0,P.bf)(i)," 0 0")}},"&:last-child":{["\n &,\n & > ".concat(t,"-header")]:{borderRadius:"0 0 ".concat((0,P.bf)(i)," ").concat((0,P.bf)(i))}},["> ".concat(t,"-header")]:Object.assign(Object.assign({position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:o,color:p,lineHeight:h,cursor:"pointer",transition:"all ".concat(C,", visibility 0s")},(0,R.Qy)(e)),{["> ".concat(t,"-header-text")]:{flex:"auto"},["".concat(t,"-expand-icon")]:{height:S,display:"flex",alignItems:"center",paddingInlineEnd:v},["".concat(t,"-arrow")]:Object.assign(Object.assign({},(0,R.Ro)()),{fontSize:E,transition:"transform ".concat(C),svg:{transition:"transform ".concat(C)}}),["".concat(t,"-header-text")]:{marginInlineEnd:"auto"}}),["".concat(t,"-collapsible-header")]:{cursor:"default",["".concat(t,"-header-text")]:{flex:"none",cursor:"pointer"},["".concat(t,"-expand-icon")]:{cursor:"pointer"}},["".concat(t,"-collapsible-icon")]:{cursor:"unset",["".concat(t,"-expand-icon")]:{cursor:"pointer"}}},["".concat(t,"-content")]:{color:u,backgroundColor:n,borderTop:Z,["& > ".concat(t,"-content-box")]:{padding:w},"&-hidden":{display:"none"}},"&-small":{["> ".concat(t,"-item")]:{["> ".concat(t,"-header")]:{padding:r,paddingInlineStart:k,["> ".concat(t,"-expand-icon")]:{marginInlineStart:e.calc(x).sub(k).equal()}},["> ".concat(t,"-content > ").concat(t,"-content-box")]:{padding:x}}},"&-large":{["> ".concat(t,"-item")]:{fontSize:f,lineHeight:b,["> ".concat(t,"-header")]:{padding:l,paddingInlineStart:a,["> ".concat(t,"-expand-icon")]:{height:N,marginInlineStart:e.calc(y).sub(a).equal()}},["> ".concat(t,"-content > ").concat(t,"-content-box")]:{padding:y}}},["".concat(t,"-item:last-child")]:{borderBottom:0,["> ".concat(t,"-content")]:{borderRadius:"0 0 ".concat((0,P.bf)(i)," ").concat((0,P.bf)(i))}},["& ".concat(t,"-item-disabled > ").concat(t,"-header")]:{"\n &,\n & > .arrow\n ":{color:g,cursor:"not-allowed"}},["&".concat(t,"-icon-position-end")]:{["& > ".concat(t,"-item")]:{["> ".concat(t,"-header")]:{["".concat(t,"-expand-icon")]:{order:1,paddingInlineEnd:0,paddingInlineStart:v}}}}})}},V=e=>{let{componentCls:t}=e,n="> ".concat(t,"-item > ").concat(t,"-header ").concat(t,"-arrow");return{["".concat(t,"-rtl")]:{[n]:{transform:"rotate(180deg)"}}}},W=e=>{let{componentCls:t,headerBg:n,borderlessContentPadding:a,borderlessContentBg:c,colorBorder:o}=e;return{["".concat(t,"-borderless")]:{backgroundColor:n,border:0,["> ".concat(t,"-item")]:{borderBottom:"1px solid ".concat(o)},["\n > ".concat(t,"-item:last-child,\n > ").concat(t,"-item:last-child ").concat(t,"-header\n ")]:{borderRadius:0},["> ".concat(t,"-item:last-child")]:{borderBottom:0},["> ".concat(t,"-item > ").concat(t,"-content")]:{backgroundColor:c,borderTop:0},["> ".concat(t,"-item > ").concat(t,"-content > ").concat(t,"-content-box")]:{padding:a}}}},K=e=>{let{componentCls:t,paddingSM:n}=e;return{["".concat(t,"-ghost")]:{backgroundColor:"transparent",border:0,["> ".concat(t,"-item")]:{borderBottom:0,["> ".concat(t,"-content")]:{backgroundColor:"transparent",border:0,["> ".concat(t,"-content-box")]:{paddingBlock:n}}}}}};var _=(0,L.I$)("Collapse",e=>{let t=(0,T.IX)(e,{collapseHeaderPaddingSM:"".concat((0,P.bf)(e.paddingXS)," ").concat((0,P.bf)(e.paddingSM)),collapseHeaderPaddingLG:"".concat((0,P.bf)(e.padding)," ").concat((0,P.bf)(e.paddingLG)),collapsePanelBorderRadius:e.borderRadiusLG});return[A(t),W(t),K(t),V(t),(0,H.Z)(t)]},e=>({headerPadding:"".concat(e.paddingSM,"px ").concat(e.padding,"px"),headerBg:e.colorFillAlter,contentPadding:"".concat(e.padding,"px 16px"),contentBg:e.colorBgContainer,borderlessContentPadding:"".concat(e.paddingXXS,"px 16px ").concat(e.padding,"px"),borderlessContentBg:"transparent"})),D=Object.assign(a.forwardRef((e,t)=>{let{getPrefixCls:n,direction:o,expandIcon:l,className:i,style:s}=(0,j.dj)("collapse"),{prefixCls:d,className:m,rootClassName:u,style:p,bordered:f=!0,ghost:h,size:b,expandIconPosition:v="start",children:x,destroyInactivePanel:y,destroyOnHidden:k,expandIcon:C}=e,E=(0,z.Z)(e=>{var t;return null!==(t=null!=b?b:e)&&void 0!==t?t:"middle"}),w=n("collapse",d),S=n(),[N,B,P]=_(w),R=a.useMemo(()=>"left"===v?"start":"right"===v?"end":v,[v]),H=null!=C?C:l,L=a.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="function"==typeof H?H(e):a.createElement(c.Z,{rotate:e.isActive?"rtl"===o?-90:90:void 0,"aria-label":e.isActive?"expanded":"collapsed"});return(0,M.Tm)(t,()=>{var e;return{className:r()(null===(e=t.props)||void 0===e?void 0:e.className,"".concat(w,"-arrow"))}})},[H,w,o]),T=r()("".concat(w,"-icon-position-").concat(R),{["".concat(w,"-borderless")]:!f,["".concat(w,"-rtl")]:"rtl"===o,["".concat(w,"-ghost")]:!!h,["".concat(w,"-").concat(E)]:"middle"!==E},i,m,u,B,P),A=a.useMemo(()=>Object.assign(Object.assign({},(0,O.Z)(S)),{motionAppear:!1,leavedClassName:"".concat(w,"-content-hidden")}),[S,w]),V=a.useMemo(()=>x?(0,g.Z)(x).map((e,t)=>{var n,a;let c=e.props;if(null==c?void 0:c.disabled){let o=null!==(n=e.key)&&void 0!==n?n:String(t),r=Object.assign(Object.assign({},(0,I.Z)(e.props,["disabled"])),{key:o,collapsible:null!==(a=c.collapsible)&&void 0!==a?a:"disabled"});return(0,M.Tm)(e,r)}return e}):null,[x]);return N(a.createElement(Z,Object.assign({ref:t,openMotion:A},(0,I.Z)(e,["rootClassName"]),{expandIcon:L,prefixCls:w,className:T,style:Object.assign(Object.assign({},s),p),destroyInactivePanel:null!=k?k:y}),V))}),{Panel:B})},35631:function(e,t,n){n.d(t,{Z:function(){return j}});var a=n(83145),c=n(2265),o=n(36760),r=n.n(o),l=n(53253),i=n(6543),s=n(71744),d=n(91086),m=n(33759),u=n(77774),p=n(28617),g=n(40049),f=n(10353);let h=c.createContext({});h.Consumer;var b=n(19722),v=n(54998),x=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,a=Object.getOwnPropertySymbols(e);ct.indexOf(a[c])&&Object.prototype.propertyIsEnumerable.call(e,a[c])&&(n[a[c]]=e[a[c]]);return n};let y=c.forwardRef((e,t)=>{let n;let{prefixCls:a,children:o,actions:l,extra:i,styles:d,className:m,classNames:u,colStyle:p}=e,g=x(e,["prefixCls","children","actions","extra","styles","className","classNames","colStyle"]),{grid:f,itemLayout:y}=(0,c.useContext)(h),{getPrefixCls:k,list:C}=(0,c.useContext)(s.E_),E=e=>{var t,n;return r()(null===(n=null===(t=null==C?void 0:C.item)||void 0===t?void 0:t.classNames)||void 0===n?void 0:n[e],null==u?void 0:u[e])},w=e=>{var t,n;return Object.assign(Object.assign({},null===(n=null===(t=null==C?void 0:C.item)||void 0===t?void 0:t.styles)||void 0===n?void 0:n[e]),null==d?void 0:d[e])},S=k("list",a),N=l&&l.length>0&&c.createElement("ul",{className:r()("".concat(S,"-item-action"),E("actions")),key:"actions",style:w("actions")},l.map((e,t)=>c.createElement("li",{key:"".concat(S,"-item-action-").concat(t)},e,t!==l.length-1&&c.createElement("em",{className:"".concat(S,"-item-action-split")})))),Z=c.createElement(f?"div":"li",Object.assign({},g,f?{}:{ref:t},{className:r()("".concat(S,"-item"),{["".concat(S,"-item-no-flex")]:!("vertical"===y?!!i:(n=!1,c.Children.forEach(o,e=>{"string"==typeof e&&(n=!0)}),!(n&&c.Children.count(o)>1)))},m)}),"vertical"===y&&i?[c.createElement("div",{className:"".concat(S,"-item-main"),key:"content"},o,N),c.createElement("div",{className:r()("".concat(S,"-item-extra"),E("extra")),key:"extra",style:w("extra")},i)]:[o,N,(0,b.Tm)(i,{key:"extra"})]);return f?c.createElement(v.Z,{ref:t,flex:1,style:p},Z):Z});y.Meta=e=>{var{prefixCls:t,className:n,avatar:a,title:o,description:l}=e,i=x(e,["prefixCls","className","avatar","title","description"]);let{getPrefixCls:d}=(0,c.useContext)(s.E_),m=d("list",t),u=r()("".concat(m,"-item-meta"),n),p=c.createElement("div",{className:"".concat(m,"-item-meta-content")},o&&c.createElement("h4",{className:"".concat(m,"-item-meta-title")},o),l&&c.createElement("div",{className:"".concat(m,"-item-meta-description")},l));return c.createElement("div",Object.assign({},i,{className:u}),a&&c.createElement("div",{className:"".concat(m,"-item-meta-avatar")},a),(o||l)&&p)};var k=n(93463),C=n(12918),E=n(99320),w=n(71140);let S=e=>{let{listBorderedCls:t,componentCls:n,paddingLG:a,margin:c,itemPaddingSM:o,itemPaddingLG:r,marginLG:l,borderRadiusLG:i}=e,s=(0,k.bf)(e.calc(i).sub(e.lineWidth).equal());return{[t]:{border:"".concat((0,k.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:i,["".concat(n,"-header")]:{borderRadius:"".concat(s," ").concat(s," 0 0")},["".concat(n,"-footer")]:{borderRadius:"0 0 ".concat(s," ").concat(s)},["".concat(n,"-header,").concat(n,"-footer,").concat(n,"-item")]:{paddingInline:a},["".concat(n,"-pagination")]:{margin:"".concat((0,k.bf)(c)," ").concat((0,k.bf)(l))}},["".concat(t).concat(n,"-sm")]:{["".concat(n,"-item,").concat(n,"-header,").concat(n,"-footer")]:{padding:o}},["".concat(t).concat(n,"-lg")]:{["".concat(n,"-item,").concat(n,"-header,").concat(n,"-footer")]:{padding:r}}}},N=e=>{let{componentCls:t,screenSM:n,screenMD:a,marginLG:c,marginSM:o,margin:r}=e;return{["@media screen and (max-width:".concat(a,"px)")]:{[t]:{["".concat(t,"-item")]:{["".concat(t,"-item-action")]:{marginInlineStart:c}}},["".concat(t,"-vertical")]:{["".concat(t,"-item")]:{["".concat(t,"-item-extra")]:{marginInlineStart:c}}}},["@media screen and (max-width: ".concat(n,"px)")]:{[t]:{["".concat(t,"-item")]:{flexWrap:"wrap",["".concat(t,"-action")]:{marginInlineStart:o}}},["".concat(t,"-vertical")]:{["".concat(t,"-item")]:{flexWrap:"wrap-reverse",["".concat(t,"-item-main")]:{minWidth:e.contentWidth},["".concat(t,"-item-extra")]:{margin:"auto auto ".concat((0,k.bf)(r))}}}}}},Z=e=>{let{componentCls:t,antCls:n,controlHeight:a,minHeight:c,paddingSM:o,marginLG:r,padding:l,itemPadding:i,colorPrimary:s,itemPaddingSM:d,itemPaddingLG:m,paddingXS:u,margin:p,colorText:g,colorTextDescription:f,motionDurationSlow:h,lineWidth:b,headerBg:v,footerBg:x,emptyTextPadding:y,metaMarginBottom:E,avatarMarginRight:w,titleMarginBottom:S,descriptionFontSize:N}=e;return{[t]:Object.assign(Object.assign({},(0,C.Wf)(e)),{position:"relative","--rc-virtual-list-scrollbar-bg":e.colorSplit,"*":{outline:"none"},["".concat(t,"-header")]:{background:v},["".concat(t,"-footer")]:{background:x},["".concat(t,"-header, ").concat(t,"-footer")]:{paddingBlock:o},["".concat(t,"-pagination")]:{marginBlockStart:r,["".concat(n,"-pagination-options")]:{textAlign:"start"}},["".concat(t,"-spin")]:{minHeight:c,textAlign:"center"},["".concat(t,"-items")]:{margin:0,padding:0,listStyle:"none"},["".concat(t,"-item")]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:i,color:g,["".concat(t,"-item-meta")]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",["".concat(t,"-item-meta-avatar")]:{marginInlineEnd:w},["".concat(t,"-item-meta-content")]:{flex:"1 0",width:0,color:g},["".concat(t,"-item-meta-title")]:{margin:"0 0 ".concat((0,k.bf)(e.marginXXS)," 0"),color:g,fontSize:e.fontSize,lineHeight:e.lineHeight,"> a":{color:g,transition:"all ".concat(h),"&:hover":{color:s}}},["".concat(t,"-item-meta-description")]:{color:f,fontSize:N,lineHeight:e.lineHeight}},["".concat(t,"-item-action")]:{flex:"0 0 auto",marginInlineStart:e.marginXXL,padding:0,fontSize:0,listStyle:"none","& > li":{position:"relative",display:"inline-block",padding:"0 ".concat((0,k.bf)(u)),color:f,fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:"center","&:first-child":{paddingInlineStart:0}},["".concat(t,"-item-action-split")]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:b,height:e.calc(e.fontHeight).sub(e.calc(e.marginXXS).mul(2)).equal(),transform:"translateY(-50%)",backgroundColor:e.colorSplit}}},["".concat(t,"-empty")]:{padding:"".concat((0,k.bf)(l)," 0"),color:f,fontSize:e.fontSizeSM,textAlign:"center"},["".concat(t,"-empty-text")]:{padding:y,color:e.colorTextDisabled,fontSize:e.fontSize,textAlign:"center"},["".concat(t,"-item-no-flex")]:{display:"block"}}),["".concat(t,"-grid ").concat(n,"-col > ").concat(t,"-item")]:{display:"block",maxWidth:"100%",marginBlockEnd:p,paddingBlock:0,borderBlockEnd:"none"},["".concat(t,"-vertical ").concat(t,"-item")]:{alignItems:"initial",["".concat(t,"-item-main")]:{display:"block",flex:1},["".concat(t,"-item-extra")]:{marginInlineStart:r},["".concat(t,"-item-meta")]:{marginBlockEnd:E,["".concat(t,"-item-meta-title")]:{marginBlockStart:0,marginBlockEnd:S,color:g,fontSize:e.fontSizeLG,lineHeight:e.lineHeightLG}},["".concat(t,"-item-action")]:{marginBlockStart:l,marginInlineStart:"auto","> li":{padding:"0 ".concat((0,k.bf)(l)),"&:first-child":{paddingInlineStart:0}}}},["".concat(t,"-split ").concat(t,"-item")]:{borderBlockEnd:"".concat((0,k.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit),"&:last-child":{borderBlockEnd:"none"}},["".concat(t,"-split ").concat(t,"-header")]:{borderBlockEnd:"".concat((0,k.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},["".concat(t,"-split").concat(t,"-empty ").concat(t,"-footer")]:{borderTop:"".concat((0,k.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},["".concat(t,"-loading ").concat(t,"-spin-nested-loading")]:{minHeight:a},["".concat(t,"-split").concat(t,"-something-after-last-item ").concat(n,"-spin-container > ").concat(t,"-items > ").concat(t,"-item:last-child")]:{borderBlockEnd:"".concat((0,k.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},["".concat(t,"-lg ").concat(t,"-item")]:{padding:m},["".concat(t,"-sm ").concat(t,"-item")]:{padding:d},["".concat(t,":not(").concat(t,"-vertical)")]:{["".concat(t,"-item-no-flex")]:{["".concat(t,"-item-action")]:{float:"right"}}}}};var I=(0,E.I$)("List",e=>{let t=(0,w.IX)(e,{listBorderedCls:"".concat(e.componentCls,"-bordered"),minHeight:e.controlHeightLG});return[Z(t),S(t),N(t)]},e=>({contentWidth:220,itemPadding:"".concat((0,k.bf)(e.paddingContentVertical)," 0"),itemPaddingSM:"".concat((0,k.bf)(e.paddingContentVerticalSM)," ").concat((0,k.bf)(e.paddingContentHorizontal)),itemPaddingLG:"".concat((0,k.bf)(e.paddingContentVerticalLG)," ").concat((0,k.bf)(e.paddingContentHorizontalLG)),headerBg:"transparent",footerBg:"transparent",emptyTextPadding:e.padding,metaMarginBottom:e.padding,avatarMarginRight:e.padding,titleMarginBottom:e.paddingSM,descriptionFontSize:e.fontSize})),O=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var c=0,a=Object.getOwnPropertySymbols(e);ct.indexOf(a[c])&&Object.prototype.propertyIsEnumerable.call(e,a[c])&&(n[a[c]]=e[a[c]]);return n};let M=c.forwardRef(function(e,t){let{pagination:n=!1,prefixCls:o,bordered:b=!1,split:v=!0,className:x,rootClassName:y,style:k,children:C,itemLayout:E,loadMore:w,grid:S,dataSource:N=[],size:Z,header:M,footer:j,loading:z=!1,rowKey:B,renderItem:P,locale:R}=e,H=O(e,["pagination","prefixCls","bordered","split","className","rootClassName","style","children","itemLayout","loadMore","grid","dataSource","size","header","footer","loading","rowKey","renderItem","locale"]),L=n&&"object"==typeof n?n:{},[T,A]=c.useState(L.defaultCurrent||1),[V,W]=c.useState(L.defaultPageSize||10),{getPrefixCls:K,direction:_,className:D,style:q}=(0,s.dj)("list"),{renderEmpty:G}=c.useContext(s.E_),X=e=>(t,a)=>{var c;A(t),W(a),n&&(null===(c=null==n?void 0:n[e])||void 0===c||c.call(n,t,a))},U=X("onChange"),F=X("onShowSizeChange"),J=!!(w||n||j),$=K("list",o),[Q,Y,ee]=I($),et=z;"boolean"==typeof et&&(et={spinning:et});let en=!!(null==et?void 0:et.spinning),ea=(0,m.Z)(Z),ec="";switch(ea){case"large":ec="lg";break;case"small":ec="sm"}let eo=r()($,{["".concat($,"-vertical")]:"vertical"===E,["".concat($,"-").concat(ec)]:ec,["".concat($,"-split")]:v,["".concat($,"-bordered")]:b,["".concat($,"-loading")]:en,["".concat($,"-grid")]:!!S,["".concat($,"-something-after-last-item")]:J,["".concat($,"-rtl")]:"rtl"===_},D,x,y,Y,ee),er=(0,l.Z)({current:1,total:0,position:"bottom"},{total:N.length,current:T,pageSize:V},n||{}),el=Math.ceil(er.total/er.pageSize);er.current=Math.min(er.current,el);let ei=n&&c.createElement("div",{className:r()("".concat($,"-pagination"))},c.createElement(g.Z,Object.assign({align:"end"},er,{onChange:U,onShowSizeChange:F}))),es=(0,a.Z)(N);n&&N.length>(er.current-1)*er.pageSize&&(es=(0,a.Z)(N).splice((er.current-1)*er.pageSize,er.pageSize));let ed=Object.keys(S||{}).some(e=>["xs","sm","md","lg","xl","xxl"].includes(e)),em=(0,p.Z)(ed),eu=c.useMemo(()=>{for(let e=0;e{if(!S)return;let e=eu&&S[eu]?S[eu]:S.column;if(e)return{width:"".concat(100/e,"%"),maxWidth:"".concat(100/e,"%")}},[JSON.stringify(S),eu]),eg=en&&c.createElement("div",{style:{minHeight:53}});if(es.length>0){let e=es.map((e,t)=>{let n;return P?((n="function"==typeof B?B(e):B?e[B]:e.key)||(n="list-item-".concat(t)),c.createElement(c.Fragment,{key:n},P(e,t))):null});eg=S?c.createElement(u.Z,{gutter:S.gutter},c.Children.map(e,e=>c.createElement("div",{key:null==e?void 0:e.key,style:ep},e))):c.createElement("ul",{className:"".concat($,"-items")},e)}else C||en||(eg=c.createElement("div",{className:"".concat($,"-empty-text")},(null==R?void 0:R.emptyText)||(null==G?void 0:G("List"))||c.createElement(d.Z,{componentName:"List"})));let ef=er.position,eh=c.useMemo(()=>({grid:S,itemLayout:E}),[JSON.stringify(S),E]);return Q(c.createElement(h.Provider,{value:eh},c.createElement("div",Object.assign({ref:t,style:Object.assign(Object.assign({},q),k),className:eo},H),("top"===ef||"both"===ef)&&ei,M&&c.createElement("div",{className:"".concat($,"-header")},M),c.createElement(f.Z,Object.assign({},et),eg,C),j&&c.createElement("div",{className:"".concat($,"-footer")},j),w||("bottom"===ef||"both"===ef)&&ei)))});M.Item=y;var j=M},30401:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},78867:function(e,t,n){n.d(t,{Z:function(){return a}});let a=(0,n(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},10900:function(e,t,n){var a=n(2265);let c=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=c},86462:function(e,t,n){var a=n(2265);let c=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});t.Z=c}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/8717-8efb62338a426030.js b/litellm/proxy/_experimental/out/_next/static/chunks/8717-8efb62338a426030.js deleted file mode 100644 index 3fe23aac83..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/8717-8efb62338a426030.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8717],{77565:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},57400:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z"}},{tag:"path",attrs:{d:"M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z"}}]},name:"safety",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},15883:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(1119),c=t(2265),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},r=t(55015),l=c.forwardRef(function(e,n){return c.createElement(r.Z,(0,a.Z)({},e,{ref:n,icon:o}))})},96761:function(e,n,t){t.d(n,{Z:function(){return i}});var a=t(5853),c=t(26898),o=t(13241),r=t(1153),l=t(2265);let i=l.forwardRef((e,n)=>{let{color:t,children:i,className:s}=e,d=(0,a._T)(e,["color","children","className"]);return l.createElement("p",Object.assign({ref:n,className:(0,o.q)("font-medium text-tremor-title",t?(0,r.bM)(t,c.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",s)},d),i)});i.displayName="Title"},44851:function(e,n,t){t.d(n,{default:function(){return G}});var a=t(2265),c=t(77565),o=t(36760),r=t.n(o),l=t(1119),i=t(83145),s=t(26365),d=t(41154),u=t(50506),p=t(32559),f=t(6989),m=t(45287),b=t(31686),v=t(11993),g=t(66632),h=t(95814),x=a.forwardRef(function(e,n){var t=e.prefixCls,c=e.forceRender,o=e.className,l=e.style,i=e.children,d=e.isActive,u=e.role,p=e.classNames,f=e.styles,m=a.useState(d||c),b=(0,s.Z)(m,2),g=b[0],h=b[1];return(a.useEffect(function(){(c||d)&&h(!0)},[c,d]),g)?a.createElement("div",{ref:n,className:r()("".concat(t,"-content"),(0,v.Z)((0,v.Z)({},"".concat(t,"-content-active"),d),"".concat(t,"-content-inactive"),!d),o),style:l,role:u},a.createElement("div",{className:r()("".concat(t,"-content-box"),null==p?void 0:p.body),style:null==f?void 0:f.body},i)):null});x.displayName="PanelContent";var y=["showArrow","headerClass","isActive","onItemClick","forceRender","className","classNames","styles","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],C=a.forwardRef(function(e,n){var t=e.showArrow,c=e.headerClass,o=e.isActive,i=e.onItemClick,s=e.forceRender,d=e.className,u=e.classNames,p=void 0===u?{}:u,m=e.styles,C=void 0===m?{}:m,I=e.prefixCls,Z=e.collapsible,N=e.accordion,k=e.panelKey,E=e.extra,w=e.header,P=e.expandIcon,R=e.openMotion,O=e.destroyInactivePanel,S=e.children,j=(0,f.Z)(e,y),M="disabled"===Z,A=(0,v.Z)((0,v.Z)((0,v.Z)({onClick:function(){null==i||i(k)},onKeyDown:function(e){("Enter"===e.key||e.keyCode===h.Z.ENTER||e.which===h.Z.ENTER)&&(null==i||i(k))},role:N?"tab":"button"},"aria-expanded",o),"aria-disabled",M),"tabIndex",M?-1:0),B="function"==typeof P?P(e):a.createElement("i",{className:"arrow"}),K=B&&a.createElement("div",(0,l.Z)({className:"".concat(I,"-expand-icon")},["header","icon"].includes(Z)?A:{}),B),z=r()("".concat(I,"-item"),(0,v.Z)((0,v.Z)({},"".concat(I,"-item-active"),o),"".concat(I,"-item-disabled"),M),d),L=r()(c,"".concat(I,"-header"),(0,v.Z)({},"".concat(I,"-collapsible-").concat(Z),!!Z),p.header),T=(0,b.Z)({className:L,style:C.header},["header","icon"].includes(Z)?{}:A);return a.createElement("div",(0,l.Z)({},j,{ref:n,className:z}),a.createElement("div",T,(void 0===t||t)&&K,a.createElement("span",(0,l.Z)({className:"".concat(I,"-header-text")},"header"===Z?A:{}),w),null!=E&&"boolean"!=typeof E&&a.createElement("div",{className:"".concat(I,"-extra")},E)),a.createElement(g.ZP,(0,l.Z)({visible:o,leavedClassName:"".concat(I,"-content-hidden")},R,{forceRender:s,removeOnLeave:O}),function(e,n){var t=e.className,c=e.style;return a.createElement(x,{ref:n,prefixCls:I,className:t,classNames:p,style:c,styles:C,isActive:o,forceRender:s,role:N?"tabpanel":void 0},S)}))}),I=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],Z=function(e,n){var t=n.prefixCls,c=n.accordion,o=n.collapsible,r=n.destroyInactivePanel,i=n.onItemClick,s=n.activeKey,d=n.openMotion,u=n.expandIcon;return e.map(function(e,n){var p=e.children,m=e.label,b=e.key,v=e.collapsible,g=e.onItemClick,h=e.destroyInactivePanel,x=(0,f.Z)(e,I),y=String(null!=b?b:n),Z=null!=v?v:o,N=!1;return N=c?s[0]===y:s.indexOf(y)>-1,a.createElement(C,(0,l.Z)({},x,{prefixCls:t,key:y,panelKey:y,isActive:N,accordion:c,openMotion:d,expandIcon:u,header:m,collapsible:Z,onItemClick:function(e){"disabled"!==Z&&(i(e),null==g||g(e))},destroyInactivePanel:null!=h?h:r}),p)})},N=function(e,n,t){if(!e)return null;var c=t.prefixCls,o=t.accordion,r=t.collapsible,l=t.destroyInactivePanel,i=t.onItemClick,s=t.activeKey,d=t.openMotion,u=t.expandIcon,p=e.key||String(n),f=e.props,m=f.header,b=f.headerClass,v=f.destroyInactivePanel,g=f.collapsible,h=f.onItemClick,x=!1;x=o?s[0]===p:s.indexOf(p)>-1;var y=null!=g?g:r,C={key:p,panelKey:p,header:m,headerClass:b,isActive:x,prefixCls:c,destroyInactivePanel:null!=v?v:l,openMotion:d,accordion:o,children:e.props.children,onItemClick:function(e){"disabled"!==y&&(i(e),null==h||h(e))},expandIcon:u,collapsible:y};return"string"==typeof e.type?e:(Object.keys(C).forEach(function(e){void 0===C[e]&&delete C[e]}),a.cloneElement(e,C))},k=t(18242);function E(e){var n=e;if(!Array.isArray(n)){var t=(0,d.Z)(n);n="number"===t||"string"===t?[n]:[]}return n.map(function(e){return String(e)})}var w=Object.assign(a.forwardRef(function(e,n){var t,c=e.prefixCls,o=void 0===c?"rc-collapse":c,d=e.destroyInactivePanel,f=e.style,b=e.accordion,v=e.className,g=e.children,h=e.collapsible,x=e.openMotion,y=e.expandIcon,C=e.activeKey,I=e.defaultActiveKey,w=e.onChange,P=e.items,R=r()(o,v),O=(0,u.Z)([],{value:C,onChange:function(e){return null==w?void 0:w(e)},defaultValue:I,postState:E}),S=(0,s.Z)(O,2),j=S[0],M=S[1];(0,p.ZP)(!g,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var A=(t={prefixCls:o,accordion:b,openMotion:x,expandIcon:y,collapsible:h,destroyInactivePanel:void 0!==d&&d,onItemClick:function(e){return M(function(){return b?j[0]===e?[]:[e]:j.indexOf(e)>-1?j.filter(function(n){return n!==e}):[].concat((0,i.Z)(j),[e])})},activeKey:j},Array.isArray(P)?Z(P,t):(0,m.Z)(g).map(function(e,n){return N(e,n,t)}));return a.createElement("div",(0,l.Z)({ref:n,className:R,style:f,role:b?"tablist":void 0},(0,k.Z)(e,{aria:!0,data:!0})),A)}),{Panel:C});w.Panel;var P=t(18694),R=t(68710),O=t(19722),S=t(71744),j=t(33759);let M=a.forwardRef((e,n)=>{let{getPrefixCls:t}=a.useContext(S.E_),{prefixCls:c,className:o,showArrow:l=!0}=e,i=t("collapse",c),s=r()({["".concat(i,"-no-arrow")]:!l},o);return a.createElement(w.Panel,Object.assign({ref:n},e,{prefixCls:i,className:s}))});var A=t(93463),B=t(12918),K=t(63074),z=t(99320),L=t(71140);let T=e=>{let{componentCls:n,contentBg:t,padding:a,headerBg:c,headerPadding:o,collapseHeaderPaddingSM:r,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:i,lineWidth:s,lineType:d,colorBorder:u,colorText:p,colorTextHeading:f,colorTextDisabled:m,fontSizeLG:b,lineHeight:v,lineHeightLG:g,marginSM:h,paddingSM:x,paddingLG:y,paddingXS:C,motionDurationSlow:I,fontSizeIcon:Z,contentPadding:N,fontHeight:k,fontHeightLG:E}=e,w="".concat((0,A.bf)(s)," ").concat(d," ").concat(u);return{[n]:Object.assign(Object.assign({},(0,B.Wf)(e)),{backgroundColor:c,border:w,borderRadius:i,"&-rtl":{direction:"rtl"},["& > ".concat(n,"-item")]:{borderBottom:w,"&:first-child":{["\n &,\n & > ".concat(n,"-header")]:{borderRadius:"".concat((0,A.bf)(i)," ").concat((0,A.bf)(i)," 0 0")}},"&:last-child":{["\n &,\n & > ".concat(n,"-header")]:{borderRadius:"0 0 ".concat((0,A.bf)(i)," ").concat((0,A.bf)(i))}},["> ".concat(n,"-header")]:Object.assign(Object.assign({position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:o,color:f,lineHeight:v,cursor:"pointer",transition:"all ".concat(I,", visibility 0s")},(0,B.Qy)(e)),{["> ".concat(n,"-header-text")]:{flex:"auto"},["".concat(n,"-expand-icon")]:{height:k,display:"flex",alignItems:"center",paddingInlineEnd:h},["".concat(n,"-arrow")]:Object.assign(Object.assign({},(0,B.Ro)()),{fontSize:Z,transition:"transform ".concat(I),svg:{transition:"transform ".concat(I)}}),["".concat(n,"-header-text")]:{marginInlineEnd:"auto"}}),["".concat(n,"-collapsible-header")]:{cursor:"default",["".concat(n,"-header-text")]:{flex:"none",cursor:"pointer"},["".concat(n,"-expand-icon")]:{cursor:"pointer"}},["".concat(n,"-collapsible-icon")]:{cursor:"unset",["".concat(n,"-expand-icon")]:{cursor:"pointer"}}},["".concat(n,"-content")]:{color:p,backgroundColor:t,borderTop:w,["& > ".concat(n,"-content-box")]:{padding:N},"&-hidden":{display:"none"}},"&-small":{["> ".concat(n,"-item")]:{["> ".concat(n,"-header")]:{padding:r,paddingInlineStart:C,["> ".concat(n,"-expand-icon")]:{marginInlineStart:e.calc(x).sub(C).equal()}},["> ".concat(n,"-content > ").concat(n,"-content-box")]:{padding:x}}},"&-large":{["> ".concat(n,"-item")]:{fontSize:b,lineHeight:g,["> ".concat(n,"-header")]:{padding:l,paddingInlineStart:a,["> ".concat(n,"-expand-icon")]:{height:E,marginInlineStart:e.calc(y).sub(a).equal()}},["> ".concat(n,"-content > ").concat(n,"-content-box")]:{padding:y}}},["".concat(n,"-item:last-child")]:{borderBottom:0,["> ".concat(n,"-content")]:{borderRadius:"0 0 ".concat((0,A.bf)(i)," ").concat((0,A.bf)(i))}},["& ".concat(n,"-item-disabled > ").concat(n,"-header")]:{"\n &,\n & > .arrow\n ":{color:m,cursor:"not-allowed"}},["&".concat(n,"-icon-position-end")]:{["& > ".concat(n,"-item")]:{["> ".concat(n,"-header")]:{["".concat(n,"-expand-icon")]:{order:1,paddingInlineEnd:0,paddingInlineStart:h}}}}})}},_=e=>{let{componentCls:n}=e,t="> ".concat(n,"-item > ").concat(n,"-header ").concat(n,"-arrow");return{["".concat(n,"-rtl")]:{[t]:{transform:"rotate(180deg)"}}}},V=e=>{let{componentCls:n,headerBg:t,borderlessContentPadding:a,borderlessContentBg:c,colorBorder:o}=e;return{["".concat(n,"-borderless")]:{backgroundColor:t,border:0,["> ".concat(n,"-item")]:{borderBottom:"1px solid ".concat(o)},["\n > ".concat(n,"-item:last-child,\n > ").concat(n,"-item:last-child ").concat(n,"-header\n ")]:{borderRadius:0},["> ".concat(n,"-item:last-child")]:{borderBottom:0},["> ".concat(n,"-item > ").concat(n,"-content")]:{backgroundColor:c,borderTop:0},["> ".concat(n,"-item > ").concat(n,"-content > ").concat(n,"-content-box")]:{padding:a}}}},X=e=>{let{componentCls:n,paddingSM:t}=e;return{["".concat(n,"-ghost")]:{backgroundColor:"transparent",border:0,["> ".concat(n,"-item")]:{borderBottom:0,["> ".concat(n,"-content")]:{backgroundColor:"transparent",border:0,["> ".concat(n,"-content-box")]:{paddingBlock:t}}}}}};var q=(0,z.I$)("Collapse",e=>{let n=(0,L.IX)(e,{collapseHeaderPaddingSM:"".concat((0,A.bf)(e.paddingXS)," ").concat((0,A.bf)(e.paddingSM)),collapseHeaderPaddingLG:"".concat((0,A.bf)(e.padding)," ").concat((0,A.bf)(e.paddingLG)),collapsePanelBorderRadius:e.borderRadiusLG});return[T(n),V(n),X(n),_(n),(0,K.Z)(n)]},e=>({headerPadding:"".concat(e.paddingSM,"px ").concat(e.padding,"px"),headerBg:e.colorFillAlter,contentPadding:"".concat(e.padding,"px 16px"),contentBg:e.colorBgContainer,borderlessContentPadding:"".concat(e.paddingXXS,"px 16px ").concat(e.padding,"px"),borderlessContentBg:"transparent"})),G=Object.assign(a.forwardRef((e,n)=>{let{getPrefixCls:t,direction:o,expandIcon:l,className:i,style:s}=(0,S.dj)("collapse"),{prefixCls:d,className:u,rootClassName:p,style:f,bordered:b=!0,ghost:v,size:g,expandIconPosition:h="start",children:x,destroyInactivePanel:y,destroyOnHidden:C,expandIcon:I}=e,Z=(0,j.Z)(e=>{var n;return null!==(n=null!=g?g:e)&&void 0!==n?n:"middle"}),N=t("collapse",d),k=t(),[E,M,A]=q(N),B=a.useMemo(()=>"left"===h?"start":"right"===h?"end":h,[h]),K=null!=I?I:l,z=a.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n="function"==typeof K?K(e):a.createElement(c.Z,{rotate:e.isActive?"rtl"===o?-90:90:void 0,"aria-label":e.isActive?"expanded":"collapsed"});return(0,O.Tm)(n,()=>{var e;return{className:r()(null===(e=n.props)||void 0===e?void 0:e.className,"".concat(N,"-arrow"))}})},[K,N,o]),L=r()("".concat(N,"-icon-position-").concat(B),{["".concat(N,"-borderless")]:!b,["".concat(N,"-rtl")]:"rtl"===o,["".concat(N,"-ghost")]:!!v,["".concat(N,"-").concat(Z)]:"middle"!==Z},i,u,p,M,A),T=a.useMemo(()=>Object.assign(Object.assign({},(0,R.Z)(k)),{motionAppear:!1,leavedClassName:"".concat(N,"-content-hidden")}),[k,N]),_=a.useMemo(()=>x?(0,m.Z)(x).map((e,n)=>{var t,a;let c=e.props;if(null==c?void 0:c.disabled){let o=null!==(t=e.key)&&void 0!==t?t:String(n),r=Object.assign(Object.assign({},(0,P.Z)(e.props,["disabled"])),{key:o,collapsible:null!==(a=c.collapsible)&&void 0!==a?a:"disabled"});return(0,O.Tm)(e,r)}return e}):null,[x]);return E(a.createElement(w,Object.assign({ref:n,openMotion:T},(0,P.Z)(e,["rootClassName"]),{expandIcon:z,prefixCls:N,className:L,style:Object.assign(Object.assign({},s),f),destroyInactivePanel:null!=C?C:y}),_))}),{Panel:M})},25523:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"RouterContext",{enumerable:!0,get:function(){return a}});let a=t(47043)._(t(2265)).default.createContext(null)}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/874-6eae1dfb6e9f1d91.js b/litellm/proxy/_experimental/out/_next/static/chunks/874-a93b2e5222569f68.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/chunks/874-6eae1dfb6e9f1d91.js rename to litellm/proxy/_experimental/out/_next/static/chunks/874-a93b2e5222569f68.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/9111-fa9939b601462ccf.js b/litellm/proxy/_experimental/out/_next/static/chunks/9111-fa9939b601462ccf.js deleted file mode 100644 index e703cb7fb1..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/9111-fa9939b601462ccf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9111],{89111:function(e,l,s){s.d(l,{Z:function(){return er}});var a=s(57437),t=s(78489),n=s(12514),i=s(67101),r=s(57365),c=s(59341),d=s(12485),o=s(18135),u=s(35242),m=s(29706),h=s(77991),g=s(21626),x=s(97214),f=s(28241),j=s(58834),b=s(69552),p=s(71876),y=s(84264),v=s(49566),k=s(2265),Z=s(57840),C=s(4260),_=s(37592),S=s(10032),w=s(22116),N=s(5545),E=s(9114),A=s(19250),O=s(23496),L=s(10353),T=s(61994);let{Title:F}=Z.default;var R=e=>{let{accessToken:l}=e,[s,i]=(0,k.useState)(!0),[r,c]=(0,k.useState)([]);(0,k.useEffect)(()=>{d()},[l]);let d=async()=>{if(l){i(!0);try{let e=await (0,A.getEmailEventSettings)(l);c(e.settings)}catch(e){console.error("Failed to fetch email event settings:",e),E.Z.fromBackend(e)}finally{i(!1)}}},o=(e,l)=>{c(r.map(s=>s.event===e?{...s,enabled:l}:s))},u=async()=>{if(l)try{await (0,A.updateEmailEventSettings)(l,{settings:r}),E.Z.success("Email event settings updated successfully")}catch(e){console.error("Failed to update email event settings:",e),E.Z.fromBackend(e)}},m=async()=>{if(l)try{await (0,A.resetEmailEventSettings)(l),E.Z.success("Email event settings reset to defaults"),d()}catch(e){console.error("Failed to reset email event settings:",e),E.Z.fromBackend(e)}},h=e=>{if(e.includes("Virtual Key Created"))return"An email will be sent to the user when a new virtual key is created with their user ID";if(e.includes("New User Invitation"))return"An email will be sent to the email address of the user when a new user is created";{let l=e.split(/(?=[A-Z])/).join(" ").toLowerCase();return"Receive an email notification when ".concat(l)}};return(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(F,{level:4,children:"Email Notifications"}),(0,a.jsx)(y.Z,{children:"Select which events should trigger email notifications."}),(0,a.jsx)(O.Z,{}),s?(0,a.jsx)("div",{style:{textAlign:"center",padding:"20px"},children:(0,a.jsx)(L.Z,{size:"large"})}):(0,a.jsx)("div",{className:"space-y-4",children:r.map(e=>(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(T.Z,{checked:e.enabled,onChange:l=>o(e.event,l.target.checked)}),(0,a.jsxs)("div",{className:"ml-3",children:[(0,a.jsx)(y.Z,{children:e.event}),(0,a.jsx)("div",{className:"text-sm text-gray-500 block",children:h(e.event)})]})]},e.event))}),(0,a.jsxs)("div",{className:"mt-6 flex space-x-4",children:[(0,a.jsx)(t.Z,{onClick:u,disabled:s,children:"Save Changes"}),(0,a.jsx)(t.Z,{onClick:m,variant:"secondary",disabled:s,children:"Reset to Defaults"})]})]})};let{Title:P}=Z.default;var I=e=>{let{accessToken:l,premiumUser:s,alerts:r}=e,c=async()=>{if(!l)return;let e={};r.filter(e=>"email"===e.name).forEach(l=>{var s;Object.entries(null!==(s=l.variables)&&void 0!==s?s:{}).forEach(l=>{let[s,a]=l,t=document.querySelector('input[name="'.concat(s,'"]'));t&&t.value&&(e[s]=null==t?void 0:t.value)})}),console.log("updatedVariables",e);try{await (0,A.setCallbacksCall)(l,{general_settings:{alerting:["email"]},environment_variables:e}),E.Z.success("Email settings updated successfully")}catch(e){E.Z.fromBackend(e)}};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mt-6 mb-6",children:(0,a.jsx)(R,{accessToken:l})}),(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(P,{level:4,children:"Email Server Settings"}),(0,a.jsxs)(y.Z,{children:[(0,a.jsxs)("a",{href:"https://docs.litellm.ai/docs/proxy/email",target:"_blank",style:{color:"blue"},children:[" ","LiteLLM Docs: email alerts"]})," ",(0,a.jsx)("br",{})]}),(0,a.jsx)("div",{className:"flex w-full",children:r.filter(e=>"email"===e.name).map((e,l)=>{var t;return(0,a.jsx)(f.Z,{children:(0,a.jsx)("ul",{children:(0,a.jsx)(i.Z,{numItems:2,children:Object.entries(null!==(t=e.variables)&&void 0!==t?t:{}).map(e=>{let[l,t]=e;return(0,a.jsxs)("li",{className:"mx-2 my-2",children:[!0!=s&&("EMAIL_LOGO_URL"===l||"EMAIL_SUPPORT_CONTACT"===l)?(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:(0,a.jsxs)(y.Z,{className:"mt-2",children:[" ✨ ",l]})}),(0,a.jsx)(v.Z,{name:l,defaultValue:t,type:"password",disabled:!0,style:{width:"400px"}})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)(y.Z,{className:"mt-2",children:l}),(0,a.jsx)(v.Z,{name:l,defaultValue:t,type:"password",style:{width:"400px"}})]}),(0,a.jsxs)("p",{style:{fontSize:"small",fontStyle:"italic"},children:["SMTP_HOST"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP host address, e.g. `smtp.resend.com`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PORT"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP port number, e.g. `587`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_USERNAME"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP username, e.g. `username`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PASSWORD"===l&&(0,a.jsx)("span",{style:{color:"red"},children:" Required * "}),"SMTP_SENDER_EMAIL"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the sender email address, e.g. `sender@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"TEST_EMAIL_ADDRESS"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Email Address to send `Test Email Alert` to. example: `info@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"EMAIL_LOGO_URL"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the Logo that appears in the email, pass a url to your logo"}),"EMAIL_SUPPORT_CONTACT"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the support email address that appears in the email. Default is support@berri.ai"})]})]},l)})})})},l)})}),(0,a.jsx)(t.Z,{className:"mt-2",onClick:()=>c(),children:"Save Changes"}),(0,a.jsx)(t.Z,{onClick:async()=>{if(l)try{await (0,A.serviceHealthCheck)(l,"email"),E.Z.success("Email test triggered. Check your configured email inbox/logs.")}catch(e){E.Z.fromBackend(e)}},className:"mx-2",children:"Test Email Alerts"})]})]})},M=s(2740),U=s(19015),B=s(44643),D=s(74998),W=s(41649),q=s(47323),H=e=>{let{alertingSettings:l,handleInputChange:s,handleResetField:n,handleSubmit:i,premiumUser:r}=e,[d]=S.Z.useForm();return(0,a.jsxs)(S.Z,{form:d,onFinish:()=>{console.log("INSIDE ONFINISH");let e=d.getFieldsValue(),l=Object.entries(e).every(e=>{let[l,s]=e;return"boolean"!=typeof s&&(""===s||null==s)});console.log("formData: ".concat(JSON.stringify(e),", isEmpty: ").concat(l)),l?console.log("Some form fields are empty."):i(e)},labelAlign:"left",children:[l.map((e,l)=>(0,a.jsxs)(p.Z,{children:[(0,a.jsxs)(f.Z,{align:"center",children:[(0,a.jsx)(y.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),e.premium_field?r?(0,a.jsx)(S.Z.Item,{name:e.field_name,children:(0,a.jsx)(f.Z,{children:"Integer"===e.field_type?(0,a.jsx)(U.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l)}):"Boolean"===e.field_type?(0,a.jsx)(c.Z,{checked:e.field_value,onChange:l=>s(e.field_name,l)}):(0,a.jsx)(C.default,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}):(0,a.jsx)(f.Z,{children:(0,a.jsx)(t.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})})}):(0,a.jsx)(S.Z.Item,{name:e.field_name,className:"mb-0",valuePropName:"Boolean"===e.field_type?"checked":"value",children:(0,a.jsx)(f.Z,{children:"Integer"===e.field_type?(0,a.jsx)(U.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l),className:"p-0"}):"Boolean"===e.field_type?(0,a.jsx)(c.Z,{checked:e.field_value,onChange:l=>{s(e.field_name,l),d.setFieldsValue({[e.field_name]:l})}}):(0,a.jsx)(C.default,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}),(0,a.jsx)(f.Z,{children:!0==e.stored_in_db?(0,a.jsx)(W.Z,{icon:B.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(W.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(W.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsx)(f.Z,{children:(0,a.jsx)(q.Z,{icon:D.Z,color:"red",onClick:()=>n(e.field_name,l),children:"Reset"})})]},l)),(0,a.jsx)("div",{children:(0,a.jsx)(N.ZP,{htmlType:"submit",children:"Update Settings"})})]})},z=e=>{let{accessToken:l,premiumUser:s}=e,[t,n]=(0,k.useState)([]);return(0,k.useEffect)(()=>{l&&(0,A.alertingSettingsCall)(l).then(e=>{n(e)})},[l]),(0,a.jsx)(H,{alertingSettings:t,handleInputChange:(e,l)=>{let s=t.map(s=>s.field_name===e?{...s,field_value:l}:s);console.log("updatedSettings: ".concat(JSON.stringify(s))),n(s)},handleResetField:(e,s)=>{if(l)try{let l=t.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:l.field_default_value}:l);n(l)}catch(e){console.log("ERROR OCCURRED!")}},handleSubmit:e=>{if(!l||(console.log("formValues: ".concat(e)),null==e||void 0==e))return;let s={};t.forEach(e=>{s[e.field_name]=e.field_value});let a={...e,...s};console.log("mergedFormValues: ".concat(JSON.stringify(a)));let{slack_alerting:n,...i}=a;console.log("slack_alerting: ".concat(n,", alertingArgs: ").concat(JSON.stringify(i)));try{(0,A.updateConfigFieldSetting)(l,"alerting_args",i),"boolean"==typeof n&&(!0==n?(0,A.updateConfigFieldSetting)(l,"alerting",["slack"]):(0,A.updateConfigFieldSetting)(l,"alerting",[])),E.Z.success("Wait 10s for proxy to update.")}catch(e){}},premiumUser:s})},V=s(91126),J=s(53410),G=s(99981),K=s(56609),Q=s(6833);let X=[{value:"success",label:"Success"},{value:"failure",label:"Failure"},{value:"success_and_failure",label:"Success & Failure"}],Y=e=>{let{callbacks:l,availableCallbacks:s={},onTest:n=()=>{},onEdit:i=()=>{},onDelete:r=()=>{},onAdd:c=()=>{}}=e,d=[{title:(0,a.jsx)("span",{className:"font-medium text-gray-700",children:"Callback Name"}),dataIndex:"name",key:"name",render:(e,l)=>{var t;let n=l.name;console.log("availableCallbacks",s);let i=(null===(t=s[n])||void 0===t?void 0:t.ui_callback_name)||n;return(0,a.jsx)("div",{className:"font-medium text-gray-800",children:i})}},{title:(0,a.jsx)("span",{className:"font-medium text-gray-700",children:"Mode"}),key:"mode",render:(e,l)=>{var s;let t=l.mode||"success",n=(null===(s=X.find(e=>e.value===t))||void 0===s?void 0:s.label)||t,i="success"===t?"bg-green-100 text-green-800":"failure"===t?"bg-red-100 text-red-800":"bg-blue-100 text-blue-800";return(0,a.jsx)("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ".concat(i),children:n})},width:240},{title:(0,a.jsx)("span",{className:"font-medium text-gray-700 text-right w-full block",children:"Actions"}),key:"actions",align:"right",render:(e,l)=>(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(G.Z,{title:"Test Callback",children:(0,a.jsx)(q.Z,{icon:V.Z,size:"sm",className:"cursor-pointer text-indigo-600 hover:text-indigo-700",onClick:()=>n(l)})}),(0,a.jsx)(G.Z,{title:"Edit Callback",children:(0,a.jsx)(q.Z,{icon:J.Z,size:"sm",className:"cursor-pointer text-indigo-600 hover:text-indigo-700",onClick:()=>i(l)})}),(0,a.jsx)(G.Z,{title:"Delete Callback",children:(0,a.jsx)(q.Z,{icon:D.Z,size:"sm",className:"cursor-pointer text-indigo-600 hover:text-red-600",onClick:()=>r(l)})})]}),width:240}];return(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"w-full mt-4",children:[(0,a.jsx)(t.Z,{onClick:c,className:"mx-auto",children:"+ Add Callback"}),(0,a.jsx)("div",{className:"flex justify-between items-center my-2",children:(0,a.jsx)(Q.Z,{level:4,children:"Active Logging Callbacks"})}),0===l.length?(0,a.jsx)("div",{className:"flex flex-col items-center justify-center p-8 bg-gray-50 border border-gray-200 rounded-lg",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("h3",{className:"text-lg font-medium text-gray-700 mb-2",children:"No callbacks configured"}),(0,a.jsx)("p",{className:"text-gray-500",children:"Add your first callback to start logging data to external services."})]})}):(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg overflow-hidden",children:(0,a.jsx)(K.Z,{columns:d,dataSource:l,rowKey:e=>e.name,pagination:!1,rowClassName:()=>"hover:bg-gray-50"})})]})})};var $=s(85968),ee=s(21609);let{Title:el,Paragraph:es}=Z.default,ea=e=>{let{params:l,callbackConfigs:s,selectedCallback:t}=e;return l&&0!==l.length?(0,a.jsx)("div",{className:"space-y-4 mt-6 p-4 bg-gray-50 rounded-lg border",children:l.map(e=>{var l;let n=s.find(e=>e.id===t),i=(null==n?void 0:null===(l=n.dynamic_params)||void 0===l?void 0:l[e])||{},r=i.type||"text",c=i.ui_name||e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()),d=i.required||!1;return(0,a.jsx)(M.Z,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700",children:[c," "]}),name:e,className:"mb-4",rules:d?[{required:!0,message:"Please enter the ".concat(c.toLowerCase())}]:void 0,children:"password"===r?(0,a.jsx)(C.default.Password,{size:"large",placeholder:"Enter your ".concat(c.toLowerCase()),className:"w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"}):"number"===r?(0,a.jsx)(C.default,{type:"number",size:"large",placeholder:"Enter ".concat(c.toLowerCase()),className:"w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500",min:0,max:1,step:.1}):(0,a.jsx)(C.default,{size:"large",placeholder:"Enter your ".concat(c.toLowerCase()),className:"w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"})},e)})}):null},et=e=>{let{callbackConfigs:l,selectedCallback:s,onCallbackChange:t,disabled:n=!1}=e;return(0,a.jsx)(M.Z,{label:"Callback",name:"callback",rules:n?void 0:[{required:!0,message:"Please select a callback"}],children:(0,a.jsx)(_.default,{placeholder:"Choose a logging callback...",size:"large",className:"w-full",showSearch:!0,disabled:n,value:s,filterOption:(e,l)=>{var s,a;return(null!==(a=null==l?void 0:null===(s=l.value)||void 0===s?void 0:s.toString())&&void 0!==a?a:"").toLowerCase().includes(e.toLowerCase())},onChange:t,children:l.map(e=>{let l=e.logo,s=l&&(l.includes("/")||l.startsWith("data:")||l.startsWith("http"))?l:"".concat("../ui/assets/logos/").concat(l);return(0,a.jsx)(r.Z,{value:e.id,children:(0,a.jsxs)("div",{className:"flex items-center space-x-3 py-1",children:[(0,a.jsx)("div",{className:"w-6 h-6 flex items-center justify-center",children:(0,a.jsx)("img",{src:s,alt:"".concat(e.displayName," logo"),className:"w-6 h-6 rounded object-contain",onError:e=>{e.currentTarget.style.display="none"}})}),(0,a.jsx)("span",{className:"font-medium text-gray-900",children:e.displayName})]})},e.id)})})})},en=(e,l,s)=>{if(!e)return s?Object.keys(s):[];let a=l.find(l=>l.id===e);return(null==a?void 0:a.dynamic_params)?Object.keys(a.dynamic_params):s?Object.keys(s):[]},ei=(e,l)=>({environment_variables:e,litellm_settings:{success_callback:[l]}});var er=e=>{let{accessToken:l,userRole:s,userID:r,premiumUser:Z}=e,[C,_]=(0,k.useState)([]),[O,L]=(0,k.useState)([]),[T,F]=(0,k.useState)(!1),[R]=S.Z.useForm(),[P]=S.Z.useForm(),[M,U]=(0,k.useState)(null),[B,D]=(0,k.useState)(""),[W,q]=(0,k.useState)({}),[H,V]=(0,k.useState)([]),[J,G]=(0,k.useState)(!1),[K,Q]=(0,k.useState)([]),[X,el]=(0,k.useState)({}),[es,er]=(0,k.useState)([]),[ec,ed]=(0,k.useState)(!1),[eo,eu]=(0,k.useState)(null),[em,eh]=(0,k.useState)(!1),[eg,ex]=(0,k.useState)(null),[ef,ej]=(0,k.useState)(!1),[eb,ep]=(0,k.useState)(!1),[ey,ev]=(0,k.useState)(!1);(0,k.useEffect)(()=>{l&&(0,A.getCallbackConfigsCall)(l).then(e=>{Q(e||[])}).catch(e=>{E.Z.fromBackend("Failed to load callback configs: "+(0,$.O)(e))})},[l]),(0,k.useEffect)(()=>{if(ec&&eo){let e=Object.fromEntries(Object.entries(eo.variables||{}).map(e=>{let[l,s]=e;return[l,null!=s?s:""]}));P.setFieldsValue({...e,callback:eo.name})}},[ec,eo,P]);let ek=e=>{H.includes(e)?V(H.filter(l=>l!==e)):V([...H,e])},eZ={llm_exceptions:"LLM Exceptions",llm_too_slow:"LLM Responses Too Slow",llm_requests_hanging:"LLM Requests Hanging",budget_alerts:"Budget Alerts (API Keys, Users)",db_exceptions:"Database Exceptions (Read/Write)",daily_reports:"Weekly/Monthly Spend Reports",outage_alerts:"Outage Alerts",region_outage_alerts:"Region Outage Alerts"};(0,k.useEffect)(()=>{l&&s&&r&&(0,A.getCallbacksCall)(l,r,s).then(e=>{_(e.callbacks),el(e.available_callbacks);let l=e.alerts;if(l&&l.length>0){let e=l[0],s=e.variables.SLACK_WEBHOOK_URL;V(e.active_alerts),D(s),q(e.alerts_to_webhook)}L(l)})},[l,s,r]);let eC=e=>H&&H.includes(e),e_=async(e,a,t)=>{if(!l)return;t?ej(!0):ep(!0);let n=ei(e,a);try{if(await (0,A.setCallbacksCall)(l,n),E.Z.success(t?"Callback updated successfully":"Callback ".concat(a," added successfully")),t?(ed(!1),P.resetFields(),eu(null)):(G(!1),R.resetFields(),U(null),er([])),r&&s){let e=await (0,A.getCallbacksCall)(l,r,s);_(e.callbacks)}}catch(e){E.Z.fromBackend(e)}finally{t?ej(!1):ep(!1)}},eS=async e=>{eo&&await e_(e,eo.name,!0)},ew=async e=>{let l=null==e?void 0:e.callback;l&&await e_(e,l,!1)},eN=async()=>{if(!l)return;let e={};Object.entries(eZ).forEach(l=>{let[s,a]=l,t=document.querySelector('input[name="'.concat(s,'"]')),n=(null==t?void 0:t.value)||"";e[s]=n});try{await (0,A.setCallbacksCall)(l,{general_settings:{alert_to_webhook_url:e,alert_types:H}})}catch(e){E.Z.fromBackend(e)}E.Z.success("Alerts updated successfully")},eE=e=>{ex(e),eh(!0)},eA=async()=>{if(eg&&l)try{if(ev(!0),await (0,A.deleteCallback)(l,eg.name),E.Z.success("Callback ".concat(eg.name," deleted successfully")),r&&s){let e=await (0,A.getCallbacksCall)(l,r,s);_(e.callbacks)}eh(!1),ex(null)}catch(e){console.error("Failed to delete callback:",e),E.Z.fromBackend(e)}finally{ev(!1)}};return l?(0,a.jsxs)("div",{className:"w-full mx-4",children:[(0,a.jsx)(i.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(o.Z,{children:[(0,a.jsxs)(u.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(d.Z,{value:"1",children:"Logging Callbacks"}),(0,a.jsx)(d.Z,{value:"2",children:"Alerting Types"}),(0,a.jsx)(d.Z,{value:"3",children:"Alerting Settings"}),(0,a.jsx)(d.Z,{value:"4",children:"Email Alerts"})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(m.Z,{children:(0,a.jsx)(Y,{callbacks:C,availableCallbacks:X,onAdd:()=>G(!0),onEdit:e=>{eu(e),ed(!0)},onDelete:e=>eE(e),onTest:async e=>{try{await (0,A.serviceHealthCheck)(l,e.name),E.Z.success("Health check triggered")}catch(e){E.Z.fromBackend((0,$.O)(e))}}})}),(0,a.jsx)(m.Z,{children:(0,a.jsxs)(n.Z,{children:[(0,a.jsxs)(y.Z,{className:"my-2",children:["Alerts are only supported for Slack Webhook URLs. Get your webhook urls from"," ",(0,a.jsx)("a",{href:"https://api.slack.com/messaging/webhooks",target:"_blank",style:{color:"blue"},children:"here"})]}),(0,a.jsxs)(g.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(b.Z,{}),(0,a.jsx)(b.Z,{}),(0,a.jsx)(b.Z,{children:"Slack Webhook URL"})]})}),(0,a.jsx)(x.Z,{children:Object.entries(eZ).map((e,l)=>{let[s,n]=e;return(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(f.Z,{children:"region_outage_alerts"==s?Z?(0,a.jsx)(c.Z,{id:"switch",name:"switch",checked:eC(s),onChange:()=>ek(s)}):(0,a.jsx)(t.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})}):(0,a.jsx)(c.Z,{id:"switch",name:"switch",checked:eC(s),onChange:()=>ek(s)})}),(0,a.jsx)(f.Z,{children:(0,a.jsx)(y.Z,{children:n})}),(0,a.jsx)(f.Z,{children:(0,a.jsx)(v.Z,{name:s,type:"password",defaultValue:W&&W[s]?W[s]:B})})]},l)})})]}),(0,a.jsx)(t.Z,{size:"xs",className:"mt-2",onClick:eN,children:"Save Changes"}),(0,a.jsx)(t.Z,{onClick:async()=>{try{await (0,A.serviceHealthCheck)(l,"slack"),E.Z.success("Alert test triggered. Test request to slack made - check logs/alerts on slack to verify")}catch(e){E.Z.fromBackend((0,$.O)(e))}},className:"mx-2",children:"Test Alerts"})]})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(z,{accessToken:l,premiumUser:Z})}),(0,a.jsx)(m.Z,{children:(0,a.jsx)(I,{accessToken:l,premiumUser:Z,alerts:O})})]})]})}),(0,a.jsxs)(w.Z,{title:"Add Logging Callback",open:J,width:800,onCancel:()=>{G(!1),U(null),er([])},footer:null,children:[(0,a.jsxs)("a",{href:"https://docs.litellm.ai/docs/proxy/logging",className:"mb-8 mt-4",target:"_blank",style:{color:"blue"},children:[" ","LiteLLM Docs: Logging"]}),(0,a.jsxs)(S.Z,{form:R,onFinish:ew,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(et,{callbackConfigs:K,selectedCallback:M,onCallbackChange:e=>{U(e),er(en(e,K))}}),(0,a.jsx)(ea,{params:es,callbackConfigs:K,selectedCallback:M}),(0,a.jsxs)("div",{className:"flex justify-end space-x-3 pt-6 mt-6 border-t border-gray-200",children:[(0,a.jsx)(N.ZP,{onClick:()=>{G(!1),U(null),er([]),R.resetFields()},disabled:eb,children:"Cancel"}),(0,a.jsx)(N.ZP,{htmlType:"submit",loading:eb,disabled:eb,children:eb?"Adding...":"Add Callback"})]})]})]}),(0,a.jsx)(w.Z,{open:ec,width:800,title:"Edit Callback Settings",onCancel:()=>{ed(!1),eu(null),P.resetFields()},footer:null,children:(0,a.jsxs)(S.Z,{form:P,onFinish:eS,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[eo&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(et,{callbackConfigs:K,selectedCallback:eo.name,onCallbackChange:()=>{},disabled:!0}),(0,a.jsx)(ea,{params:en(eo.name,K,eo.variables),callbackConfigs:K,selectedCallback:eo.name})]}),(0,a.jsxs)("div",{className:"flex justify-end space-x-3 pt-6 mt-6 border-t border-gray-200",children:[(0,a.jsx)(N.ZP,{onClick:()=>{ed(!1),eu(null),P.resetFields()},disabled:ef,children:"Cancel"}),(0,a.jsx)(N.ZP,{onClick:()=>{P.submit()},loading:ef,disabled:ef,children:ef?"Saving...":"Save Changes"})]})]})}),(0,a.jsx)(ee.Z,{isOpen:em,title:"Delete Callback",message:"Are you sure you want to delete this callback? This action cannot be undone.",resourceInformationTitle:"Callback Information",resourceInformation:[{label:"Callback Name",value:null==eg?void 0:eg.name},{label:"Mode",value:(null==eg?void 0:eg.mode)||"success"}],onCancel:()=>{eh(!1),ex(null)},onOk:eA,confirmLoading:ey})]}):null}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/9165-82d12d1c73da639d.js b/litellm/proxy/_experimental/out/_next/static/chunks/9165-82d12d1c73da639d.js new file mode 100644 index 0000000000..e656f036b7 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/9165-82d12d1c73da639d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9165],{46346:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z"}}]},name:"crown",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},40428:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z"}}]},name:"logout",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},91870:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z"}}]},name:"mail",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},45524:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 000 13.8z"}}]},name:"menu-fold",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},83884:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 000-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0014.4 7z"}}]},name:"menu-unfold",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},57400:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z"}},{tag:"path",attrs:{d:"M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z"}}]},name:"safety",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},15883:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(1119),o=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},i=n(55015),u=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,r.Z)({},e,{ref:t,icon:a}))})},27648:function(e,t,n){n.d(t,{default:function(){return o.a}});var r=n(72972),o=n.n(r)},55449:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return r}}),n(33068);let r=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;ra?e.prefetch(t,o):e.prefetch(t,n,r))().catch(e=>{})}}function R(e){return"string"==typeof e?e:(0,c.formatUrl)(e)}let v=a.default.forwardRef(function(e,t){let n,r;let{href:c,as:_,children:v,prefetch:y=null,passHref:S,replace:b,shallow:P,scroll:A,locale:O,onClick:T,onMouseEnter:N,onTouchStart:I,legacyBehavior:C=!1,...x}=e;n=v,C&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let M=a.default.useContext(f.RouterContext),w=a.default.useContext(d.AppRouterContext),j=null!=M?M:w,L=!M,D=!1!==y,U=null===y?m.PrefetchKind.AUTO:m.PrefetchKind.FULL,{href:k,as:H}=a.default.useMemo(()=>{if(!M){let e=R(c);return{href:e,as:_?R(_):e}}let[e,t]=(0,i.resolveHref)(M,c,!0);return{href:e,as:_?(0,i.resolveHref)(M,_):t||e}},[M,c,_]),F=a.default.useRef(k),z=a.default.useRef(H);C&&(r=a.default.Children.only(n));let X=C?r&&"object"==typeof r&&r.ref:t,[W,B,G]=(0,p.useIntersection)({rootMargin:"200px"}),V=a.default.useCallback(e=>{(z.current!==H||F.current!==k)&&(G(),z.current=H,F.current=k),W(e),X&&("function"==typeof X?X(e):"object"==typeof X&&(X.current=e))},[H,X,k,G,W]);a.default.useEffect(()=>{j&&B&&D&&E(j,k,H,{locale:O},{kind:U},L)},[H,k,B,O,D,null==M?void 0:M.locale,j,L,U]);let Z={ref:V,onClick(e){C||"function"!=typeof T||T(e),C&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),j&&!e.defaultPrevented&&function(e,t,n,r,o,i,c,s,l){let{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!l&&!(0,u.isLocalURL)(n)))return;e.preventDefault();let d=()=>{let e=null==c||c;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:i,locale:s,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};l?a.default.startTransition(d):d()}(e,j,k,H,b,P,A,O,L)},onMouseEnter(e){C||"function"!=typeof N||N(e),C&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),j&&(D||!L)&&E(j,k,H,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:U},L)},onTouchStart:function(e){C||"function"!=typeof I||I(e),C&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),j&&(D||!L)&&E(j,k,H,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:U},L)}};if((0,s.isAbsoluteUrl)(H))Z.href=H;else if(!C||S||"a"===r.type&&!("href"in r.props)){let e=void 0!==O?O:null==M?void 0:M.locale,t=(null==M?void 0:M.isLocaleDomain)&&(0,h.getDomainLocale)(H,e,null==M?void 0:M.locales,null==M?void 0:M.domainLocales);Z.href=t||(0,g.addBasePath)((0,l.addLocale)(H,e,null==M?void 0:M.defaultLocale))}return C?a.default.cloneElement(r,Z):(0,o.jsx)("a",{...x,...Z,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63515:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},25246:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let r=n(48637),o=n(57497),a=n(17053),i=n(3987),u=n(33068),c=n(53552),s=n(86279),l=n(37205);function f(e,t,n){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,c.isLocalURL)(d))return n?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,s.isDynamicRoute)(e.pathname)&&e.searchParams&&n){let n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:i,params:u}=(0,l.interpolateAs)(e.pathname,e.pathname,n);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(n,u)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return n?[i,t||i]:i}catch(e){return n?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},16081:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return c}});let r=n(2265),o=n(63515),a="function"==typeof IntersectionObserver,i=new Map,u=[];function c(e){let{rootRef:t,rootMargin:n,disabled:c}=e,s=c||!a,[l,f]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(a){if(s||l)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:a}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=u.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=i.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},u.push(n),i.set(n,t),t}(n);return a.set(e,t),o.observe(e),function(){if(a.delete(e),o.unobserve(e),0===a.size){o.disconnect(),i.delete(r);let e=u.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&u.splice(e,1)}}}(e,e=>e&&f(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!l){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[s,n,t,l,d.current]),[p,l,(0,r.useCallback)(()=>{f(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19259:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_SUFFIX:function(){return c},APP_DIR_ALIAS:function(){return T},CACHE_ONE_YEAR:function(){return v},DOT_NEXT_ALIAS:function(){return A},ESLINT_DEFAULT_DIRS:function(){return G},GSP_NO_RETURNED_VALUE:function(){return H},GSSP_COMPONENT_MEMBER_ERROR:function(){return X},GSSP_NO_RETURNED_VALUE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return b},MIDDLEWARE_FILENAME:function(){return y},MIDDLEWARE_LOCATION_REGEXP:function(){return S},NEXT_BODY_SUFFIX:function(){return f},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return R},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return E},NEXT_CACHE_TAGS_HEADER:function(){return d},NEXT_CACHE_TAG_MAX_ITEMS:function(){return m},NEXT_CACHE_TAG_MAX_LENGTH:function(){return _},NEXT_DATA_SUFFIX:function(){return s},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return r},NEXT_META_SUFFIX:function(){return l},NEXT_QUERY_PARAM_PREFIX:function(){return n},NON_STANDARD_NODE_ENV:function(){return W},PAGES_DIR_ALIAS:function(){return P},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return w},ROOT_DIR_ALIAS:function(){return O},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return M},RSC_ACTION_ENCRYPTION_ALIAS:function(){return x},RSC_ACTION_PROXY_ALIAS:function(){return C},RSC_ACTION_VALIDATE_ALIAS:function(){return I},RSC_MOD_REF_PROXY_ALIAS:function(){return N},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return u},SERVER_PROPS_EXPORT_ERROR:function(){return k},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return L},SERVER_PROPS_SSG_CONFLICT:function(){return D},SERVER_RUNTIME:function(){return V},SSG_FALLBACK_EXPORT_ERROR:function(){return B},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return j},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return U},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return z},WEBPACK_LAYERS:function(){return Y},WEBPACK_RESOURCE_QUERIES:function(){return K}});let n="nxtP",r="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",u=".rsc",c=".action",s=".json",l=".meta",f=".body",d="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",g="x-next-revalidate-tag-token",m=128,_=256,E=1024,R="_N_T_",v=31536e3,y="middleware",S=`(?:src/)?${y}`,b="instrumentation",P="private-next-pages",A="private-dot-next",O="private-next-root-dir",T="private-next-app-dir",N="private-next-rsc-mod-ref-proxy",I="private-next-rsc-action-validate",C="private-next-rsc-server-reference",x="private-next-rsc-action-encryption",M="private-next-rsc-action-client-wrapper",w="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",j="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",L="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",D="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",U="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",k="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",H="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",F="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",z="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",X="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",W='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',B="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",G=["app","pages","components","lib","src"],V={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},Z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},Y={...Z,GROUP:{serverOnly:[Z.reactServerComponents,Z.actionBrowser,Z.appMetadataRoute,Z.appRouteHandler,Z.instrument],clientOnly:[Z.serverSideRendering,Z.appPagesBrowser],nonClientServerTarget:[Z.middleware,Z.api],app:[Z.reactServerComponents,Z.actionBrowser,Z.appMetadataRoute,Z.appRouteHandler,Z.serverSideRendering,Z.appPagesBrowser,Z.shared,Z.instrument]}},K={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},90042:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let n=/[|\\{}()[\]^$+*?.-]/,r=/[|\\{}()[\]^$+*?.-]/g;function o(e){return n.test(e)?e.replace(r,"\\$&"):e}},25523:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext(null)},57497:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});let r=n(53099)._(n(48637)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:n}=e,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",c=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:n&&(s=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(s+=":"+e.port)),c&&"object"==typeof c&&(c=String(r.urlQueryToSearchParams(c)));let l=e.search||c&&"?"+c||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),u&&"#"!==u[0]&&(u="#"+u),l&&"?"!==l[0]&&(l="?"+l),""+a+s+(i=i.replace(/[?#]/g,encodeURIComponent))+(l=l.replace("#","%23"))+u}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},86279:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let r=n(14777),o=n(38104)},37205:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let r=n(4199),o=n(9964);function a(e,t,n){let a="",i=(0,o.getRouteRegex)(e),u=i.groups,c=(t!==e?(0,r.getRouteMatcher)(i)(t):"")||n;a=e;let s=Object.keys(u);return s.every(e=>{let t=c[e]||"",{repeat:n,optional:r}=u[e],o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in c)&&(a=a.replace(o,n?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:s,result:a}}},38104:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let r=n(91182),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},53552:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let r=n(3987),o=n(11283);function a(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},17053:function(e,t){function n(e,t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},48637:function(e,t){function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}})},4199:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let r=n(3987);function o(e){let{re:t,groups:n}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},i={};return Object.keys(n).forEach(e=>{let t=n[e],r=o[t.pos];void 0!==r&&(i[e]=~r.indexOf("/")?r.split("/").map(e=>a(e)):t.repeat?[a(r)]:a(r))}),i}}},9964:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return d},getRouteRegex:function(){return s},parseParameter:function(){return u}});let r=n(19259),o=n(91182),a=n(90042),i=n(26674);function u(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function c(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={},r=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:o,repeat:c}=u(i[1]);return n[e]={pos:r++,repeat:c,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=u(i[1]);return n[e]={pos:r++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:n}}function s(e){let{parameterizedRoute:t,groups:n}=c(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:n}}function l(e){let{interceptionMarker:t,getSafeRouteKey:n,segment:r,routeKeys:o,keyPrefix:i}=e,{key:c,optional:s,repeat:l}=u(r),f=c.replace(/\W/g,"");i&&(f=""+i+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=n()),i?o[f]=""+i+c:o[f]=c;let p=t?(0,a.escapeStringRegexp)(t):"";return l?s?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function f(e,t){let n;let u=(0,i.removeTrailingSlash)(e).slice(1).split("/"),c=(n=0,()=>{let e="",t=++n;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),s={};return{namedParameterizedRoute:u.map(e=>{let n=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(n&&i){let[n]=e.split(i[0]);return l({getSafeRouteKey:c,interceptionMarker:n,segment:i[1],routeKeys:s,keyPrefix:t?r.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?l({getSafeRouteKey:c,segment:i[1],routeKeys:s,keyPrefix:t?r.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:s}}function d(e,t){let n=f(e,t);return{...s(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function p(e,t){let{parameterizedRoute:n}=c(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};let{namedParameterizedRoute:o}=f(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},14777:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let n=o.slice(1,-1),i=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),i=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function a(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,n),this.optionalRestSlugName=n,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,n),this.restSlugName=n,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,n),this.slugName=n,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},3987:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return _},NormalizeError:function(){return g},PageNotFoundError:function(){return m},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return a},isResSent:function(){return s},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return l},stringifyError:function(){return R}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&s(n))return r;if(!r)throw Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class g extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class _ extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function R(e){return JSON.stringify({message:e.message,stack:e.stack})}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/9349-61f99afd33bbc9e3.js b/litellm/proxy/_experimental/out/_next/static/chunks/9349-61f99afd33bbc9e3.js deleted file mode 100644 index 7b003917ce..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/9349-61f99afd33bbc9e3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9349],{75105:function(e,t,n){n.d(t,{Z:function(){return ea}});var r=n(5853),a=n(2265),o=n(47625),i=n(93765),l=n(87602),s=n(84735),c=n(86757),u=n.n(c),d=n(95645),p=n.n(d),f=n(77571),m=n.n(f),h=n(82559),y=n.n(h),v=n(21652),b=n.n(v),g=n(57165),k=n(81889),x=n(9841),w=n(58772),A=n(34067),E=n(16630),O=n(85355),j=n(82944),P=["layout","type","stroke","connectNulls","isRange","ref"],L=["key"];function S(e){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function C(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function D(){return(D=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!b()(l,r)||!b()(s,a))?this.renderAreaWithAnimation(e,t):this.renderAreaStatically(r,a,e,t)}},{key:"render",value:function(){var e,t=this.props,n=t.hide,r=t.dot,o=t.points,i=t.className,s=t.top,c=t.left,u=t.xAxis,d=t.yAxis,p=t.width,f=t.height,h=t.isAnimationActive,y=t.id;if(n||!o||!o.length)return null;var v=this.state.isAnimationFinished,b=1===o.length,g=(0,l.Z)("recharts-area",i),k=u&&u.allowDataOverflow,A=d&&d.allowDataOverflow,E=k||A,O=m()(y)?this.id:y,P=null!==(e=(0,j.L6)(r,!1))&&void 0!==e?e:{r:3,strokeWidth:2},L=P.r,S=P.strokeWidth,C=((0,j.jf)(r)?r:{}).clipDot,D=void 0===C||C,N=2*(void 0===L?3:L)+(void 0===S?2:S);return a.createElement(x.m,{className:g},k||A?a.createElement("defs",null,a.createElement("clipPath",{id:"clipPath-".concat(O)},a.createElement("rect",{x:k?c:c-p/2,y:A?s:s-f/2,width:k?p:2*p,height:A?f:2*f})),!D&&a.createElement("clipPath",{id:"clipPath-dots-".concat(O)},a.createElement("rect",{x:c-N/2,y:s-N/2,width:p+N,height:f+N}))):null,b?null:this.renderArea(E,O),(r||b)&&this.renderDots(E,D,O),(!h||v)&&w.e.renderCallByParent(this.props,o))}}],n=[{key:"getDerivedStateFromProps",value:function(e,t){return e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curPoints:e.points,curBaseLine:e.baseLine,prevPoints:t.curPoints,prevBaseLine:t.curBaseLine}:e.points!==t.curPoints||e.baseLine!==t.curBaseLine?{curPoints:e.points,curBaseLine:e.baseLine}:null}}],t&&T(r.prototype,t),n&&T(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}(a.PureComponent);R(I,"displayName","Area"),R(I,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!A.x.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"}),R(I,"getBaseValue",function(e,t,n,r){var a=e.layout,o=e.baseValue,i=t.props.baseValue,l=null!=i?i:o;if((0,E.hj)(l)&&"number"==typeof l)return l;var s="horizontal"===a?r:n,c=s.scale.domain();if("number"===s.type){var u=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return"dataMin"===l?d:"dataMax"===l?u:u<0?u:Math.max(Math.min(c[0],c[1]),0)}return"dataMin"===l?c[0]:"dataMax"===l?c[1]:c[0]}),R(I,"getComposedData",function(e){var t,n=e.props,r=e.item,a=e.xAxis,o=e.yAxis,i=e.xAxisTicks,l=e.yAxisTicks,s=e.bandSize,c=e.dataKey,u=e.stackedData,d=e.dataStartIndex,p=e.displayedData,f=e.offset,m=n.layout,h=u&&u.length,y=I.getBaseValue(n,r,a,o),v="horizontal"===m,b=!1,g=p.map(function(e,t){h?n=u[d+t]:Array.isArray(n=(0,O.F$)(e,c))?b=!0:n=[y,n];var n,r=null==n[1]||h&&null==(0,O.F$)(e,c);return v?{x:(0,O.Hv)({axis:a,ticks:i,bandSize:s,entry:e,index:t}),y:r?null:o.scale(n[1]),value:n,payload:e}:{x:r?null:a.scale(n[1]),y:(0,O.Hv)({axis:o,ticks:l,bandSize:s,entry:e,index:t}),value:n,payload:e}});return t=h||b?g.map(function(e){var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:null!=t&&null!=e.y?o.scale(t):null}:{x:null!=t?a.scale(t):null,y:e.y}}):v?o.scale(y):a.scale(y),M({points:g,baseLine:t,layout:m,isRange:b},f)}),R(I,"renderDotItem",function(e,t){var n;if(a.isValidElement(e))n=a.cloneElement(e,t);else if(u()(e))n=e(t);else{var r=(0,l.Z)("recharts-area-dot","boolean"!=typeof e?e.className:""),o=t.key,i=C(t,L);n=a.createElement(k.o,D({},i,{key:o,className:r}))}return n});var Z=n(97059),_=n(62994),V=n(25311),z=(0,i.z)({chartName:"AreaChart",GraphicalChild:I,axisComponents:[{axisType:"xAxis",AxisComp:Z.K},{axisType:"yAxis",AxisComp:_.B}],formatAxisMap:V.t9}),G=n(56940),H=n(26680),q=n(8147),$=n(22190),X=n(54061),U=n(65278),Y=n(98593),J=n(92666),Q=n(32644),ee=n(7084),et=n(26898),en=n(13241),er=n(1153);let ea=a.forwardRef((e,t)=>{let{data:n=[],categories:i=[],index:l,stack:s=!1,colors:c=et.s,valueFormatter:u=er.Cj,startEndOnly:d=!1,showXAxis:p=!0,showYAxis:f=!0,yAxisWidth:m=56,intervalType:h="equidistantPreserveStart",showAnimation:y=!1,animationDuration:v=900,showTooltip:b=!0,showLegend:g=!0,showGridLines:x=!0,showGradient:w=!0,autoMinValue:A=!1,curveType:E="linear",minValue:O,maxValue:j,connectNulls:P=!1,allowDecimals:L=!0,noDataText:S,className:C,onValueChange:D,enableLegendSlider:N=!1,customTooltip:M,rotateLabelX:T,padding:B=(p||f)&&(!d||f)?{left:20,right:20}:{left:0,right:0},tickGap:W=5,xAxisLabel:K,yAxisLabel:R}=e,F=(0,r._T)(e,["data","categories","index","stack","colors","valueFormatter","startEndOnly","showXAxis","showYAxis","yAxisWidth","intervalType","showAnimation","animationDuration","showTooltip","showLegend","showGridLines","showGradient","autoMinValue","curveType","minValue","maxValue","connectNulls","allowDecimals","noDataText","className","onValueChange","enableLegendSlider","customTooltip","rotateLabelX","padding","tickGap","xAxisLabel","yAxisLabel"]),[V,ea]=(0,a.useState)(60),[eo,ei]=(0,a.useState)(void 0),[el,es]=(0,a.useState)(void 0),ec=(0,Q.me)(i,c),eu=(0,Q.i4)(A,O,j),ed=!!D;function ep(e){ed&&(e===el&&!eo||(0,Q.FB)(n,e)&&eo&&eo.dataKey===e?(es(void 0),null==D||D(null)):(es(e),null==D||D({eventType:"category",categoryClicked:e})),ei(void 0))}return a.createElement("div",Object.assign({ref:t,className:(0,en.q)("w-full h-80",C)},F),a.createElement(o.h,{className:"h-full w-full"},(null==n?void 0:n.length)?a.createElement(z,{data:n,onClick:ed&&(el||eo)?()=>{ei(void 0),es(void 0),null==D||D(null)}:void 0,margin:{bottom:K?30:void 0,left:R?20:void 0,right:R?5:void 0,top:5}},x?a.createElement(G.q,{className:(0,en.q)("stroke-1","stroke-tremor-border","dark:stroke-dark-tremor-border"),horizontal:!0,vertical:!1}):null,a.createElement(Z.K,{padding:B,hide:!p,dataKey:l,tick:{transform:"translate(0, 6)"},ticks:d?[n[0][l],n[n.length-1][l]]:void 0,fill:"",stroke:"",className:(0,en.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),interval:d?"preserveStartEnd":h,tickLine:!1,axisLine:!1,minTickGap:W,angle:null==T?void 0:T.angle,dy:null==T?void 0:T.verticalShift,height:null==T?void 0:T.xAxisHeight},K&&a.createElement(H._,{position:"insideBottom",offset:-20,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},K)),a.createElement(_.B,{width:m,hide:!f,axisLine:!1,tickLine:!1,type:"number",domain:eu,tick:{transform:"translate(-3, 0)"},fill:"",stroke:"",className:(0,en.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickFormatter:u,allowDecimals:L},R&&a.createElement(H._,{position:"insideLeft",style:{textAnchor:"middle"},angle:-90,offset:-15,className:"fill-tremor-content-emphasis text-tremor-default font-medium dark:fill-dark-tremor-content-emphasis"},R)),a.createElement(q.u,{wrapperStyle:{outline:"none"},isAnimationActive:!1,cursor:{stroke:"#d1d5db",strokeWidth:1},content:b?e=>{let{active:t,payload:n,label:r}=e;return M?a.createElement(M,{payload:null==n?void 0:n.map(e=>{var t;return Object.assign(Object.assign({},e),{color:null!==(t=ec.get(e.dataKey))&&void 0!==t?t:ee.fr.Gray})}),active:t,label:r}):a.createElement(Y.ZP,{active:t,payload:n,label:r,valueFormatter:u,categoryColors:ec})}:a.createElement(a.Fragment,null),position:{y:0}}),g?a.createElement($.D,{verticalAlign:"top",height:V,content:e=>{let{payload:t}=e;return(0,U.Z)({payload:t},ec,ea,el,ed?e=>ep(e):void 0,N)}}):null,i.map(e=>{var t,n,r;let o=(null!==(t=ec.get(e))&&void 0!==t?t:ee.fr.Gray).replace("#","");return a.createElement("defs",{key:e},w?a.createElement("linearGradient",{className:(0,er.bM)(null!==(n=ec.get(e))&&void 0!==n?n:ee.fr.Gray,et.K.text).textColor,id:o,x1:"0",y1:"0",x2:"0",y2:"1"},a.createElement("stop",{offset:"5%",stopColor:"currentColor",stopOpacity:eo||el&&el!==e?.15:.4}),a.createElement("stop",{offset:"95%",stopColor:"currentColor",stopOpacity:0})):a.createElement("linearGradient",{className:(0,er.bM)(null!==(r=ec.get(e))&&void 0!==r?r:ee.fr.Gray,et.K.text).textColor,id:o,x1:"0",y1:"0",x2:"0",y2:"1"},a.createElement("stop",{stopColor:"currentColor",stopOpacity:eo||el&&el!==e?.1:.3})))}),i.map(e=>{var t,r;let o=(null!==(t=ec.get(e))&&void 0!==t?t:ee.fr.Gray).replace("#","");return a.createElement(I,{className:(0,er.bM)(null!==(r=ec.get(e))&&void 0!==r?r:ee.fr.Gray,et.K.text).strokeColor,strokeOpacity:eo||el&&el!==e?.3:1,activeDot:e=>{var t;let{cx:r,cy:o,stroke:i,strokeLinecap:l,strokeLinejoin:s,strokeWidth:c,dataKey:u}=e;return a.createElement(k.o,{className:(0,en.q)("stroke-tremor-background dark:stroke-dark-tremor-background",D?"cursor-pointer":"",(0,er.bM)(null!==(t=ec.get(u))&&void 0!==t?t:ee.fr.Gray,et.K.text).fillColor),cx:r,cy:o,r:5,fill:"",stroke:i,strokeLinecap:l,strokeLinejoin:s,strokeWidth:c,onClick:(t,r)=>{r.stopPropagation(),ed&&(e.index===(null==eo?void 0:eo.index)&&e.dataKey===(null==eo?void 0:eo.dataKey)||(0,Q.FB)(n,e.dataKey)&&el&&el===e.dataKey?(es(void 0),ei(void 0),null==D||D(null)):(es(e.dataKey),ei({index:e.index,dataKey:e.dataKey}),null==D||D(Object.assign({eventType:"dot",categoryClicked:e.dataKey},e.payload))))}})},dot:t=>{var r;let{stroke:o,strokeLinecap:i,strokeLinejoin:l,strokeWidth:s,cx:c,cy:u,dataKey:d,index:p}=t;return(0,Q.FB)(n,e)&&!(eo||el&&el!==e)||(null==eo?void 0:eo.index)===p&&(null==eo?void 0:eo.dataKey)===e?a.createElement(k.o,{key:p,cx:c,cy:u,r:5,stroke:o,fill:"",strokeLinecap:i,strokeLinejoin:l,strokeWidth:s,className:(0,en.q)("stroke-tremor-background dark:stroke-dark-tremor-background",D?"cursor-pointer":"",(0,er.bM)(null!==(r=ec.get(d))&&void 0!==r?r:ee.fr.Gray,et.K.text).fillColor)}):a.createElement(a.Fragment,{key:p})},key:e,name:e,type:E,dataKey:e,stroke:"",fill:"url(#".concat(o,")"),strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",isAnimationActive:y,animationDuration:v,stackId:s?"a":void 0,connectNulls:P})}),D?i.map(e=>a.createElement(X.x,{className:(0,en.q)("cursor-pointer"),strokeOpacity:0,key:e,name:e,type:E,dataKey:e,stroke:"transparent",fill:"transparent",legendType:"none",tooltipType:"none",strokeWidth:12,connectNulls:P,onClick:(e,t)=>{t.stopPropagation();let{name:n}=e;ep(n)}})):null):a.createElement(J.Z,{noDataText:S})))});ea.displayName="AreaChart"},32489:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},54061:function(e,t,n){n.d(t,{x:function(){return W}});var r=n(2265),a=n(84735),o=n(86757),i=n.n(o),l=n(77571),s=n.n(l),c=n(21652),u=n.n(c),d=n(87602),p=n(57165),f=n(81889),m=n(9841),h=n(58772),y=n(13137),v=n(16630),b=n(82944),g=n(34067),k=n(85355),x=["type","layout","connectNulls","ref"],w=["key"];function A(e){return(A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function E(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function O(){return(O=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ni){s=[].concat(L(r.slice(0,c)),[i-u]);break}var d=s.length%2==0?[0,l]:[l];return[].concat(L(o.repeat(r,Math.floor(t/a))),L(s),d).map(function(e){return"".concat(e,"px")}).join(", ")}),T(e,"id",(0,v.EL)("recharts-line-")),T(e,"pathRef",function(t){e.mainCurve=t}),T(e,"handleAnimationEnd",function(){e.setState({isAnimationFinished:!0}),e.props.onAnimationEnd&&e.props.onAnimationEnd()}),T(e,"handleAnimationStart",function(){e.setState({isAnimationFinished:!1}),e.props.onAnimationStart&&e.props.onAnimationStart()}),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}(o,e),t=[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var e=this.getTotalLength();this.setState({totalLength:e})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var e=this.getTotalLength();e!==this.state.totalLength&&this.setState({totalLength:e})}}},{key:"getTotalLength",value:function(){var e=this.mainCurve;try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch(e){return 0}}},{key:"renderErrorBar",value:function(e,t){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,a=n.points,o=n.xAxis,i=n.yAxis,l=n.layout,s=n.children,c=(0,b.NN)(s,y.W);if(!c)return null;var u=function(e,t){return{x:e.x,y:e.y,value:e.value,errorVal:(0,k.F$)(e.payload,t)}};return r.createElement(m.m,{clipPath:e?"url(#clipPath-".concat(t,")"):null},c.map(function(e){return r.cloneElement(e,{key:"bar-".concat(e.props.dataKey),data:a,xAxis:o,yAxis:i,layout:l,dataPointFormatter:u})}))}},{key:"renderDots",value:function(e,t,n){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var a=this.props,i=a.dot,l=a.points,s=a.dataKey,c=(0,b.L6)(this.props,!1),u=(0,b.L6)(i,!0),d=l.map(function(e,t){var n=P(P(P({key:"dot-".concat(t),r:3},c),u),{},{index:t,cx:e.x,cy:e.y,value:e.value,dataKey:s,payload:e.payload,points:l});return o.renderDotItem(i,n)}),p={clipPath:e?"url(#clipPath-".concat(t?"":"dots-").concat(n,")"):null};return r.createElement(m.m,O({className:"recharts-line-dots",key:"dots"},p),d)}},{key:"renderCurveStatically",value:function(e,t,n,a){var o=this.props,i=o.type,l=o.layout,s=o.connectNulls,c=(o.ref,E(o,x)),u=P(P(P({},(0,b.L6)(c,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:t?"url(#clipPath-".concat(n,")"):null,points:e},a),{},{type:i,layout:l,connectNulls:s});return r.createElement(p.H,O({},u,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(e,t){var n=this,o=this.props,i=o.points,l=o.strokeDasharray,s=o.isAnimationActive,c=o.animationBegin,u=o.animationDuration,d=o.animationEasing,p=o.animationId,f=o.animateNewValues,m=o.width,h=o.height,y=this.state,b=y.prevPoints,g=y.totalLength;return r.createElement(a.ZP,{begin:c,duration:u,isActive:s,easing:d,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(r){var a,o=r.t;if(b){var s=b.length/i.length,c=i.map(function(e,t){var n=Math.floor(t*s);if(b[n]){var r=b[n],a=(0,v.k4)(r.x,e.x),i=(0,v.k4)(r.y,e.y);return P(P({},e),{},{x:a(o),y:i(o)})}if(f){var l=(0,v.k4)(2*m,e.x),c=(0,v.k4)(h/2,e.y);return P(P({},e),{},{x:l(o),y:c(o)})}return P(P({},e),{},{x:e.x,y:e.y})});return n.renderCurveStatically(c,e,t)}var u=(0,v.k4)(0,g)(o);if(l){var d="".concat(l).split(/[,\s]+/gim).map(function(e){return parseFloat(e)});a=n.getStrokeDasharray(u,g,d)}else a=n.generateSimpleStrokeDasharray(g,u);return n.renderCurveStatically(i,e,t,{strokeDasharray:a})})}},{key:"renderCurve",value:function(e,t){var n=this.props,r=n.points,a=n.isAnimationActive,o=this.state,i=o.prevPoints,l=o.totalLength;return a&&r&&r.length&&(!i&&l>0||!u()(i,r))?this.renderCurveWithAnimation(e,t):this.renderCurveStatically(r,e,t)}},{key:"render",value:function(){var e,t=this.props,n=t.hide,a=t.dot,o=t.points,i=t.className,l=t.xAxis,c=t.yAxis,u=t.top,p=t.left,f=t.width,y=t.height,v=t.isAnimationActive,g=t.id;if(n||!o||!o.length)return null;var k=this.state.isAnimationFinished,x=1===o.length,w=(0,d.Z)("recharts-line",i),A=l&&l.allowDataOverflow,E=c&&c.allowDataOverflow,O=A||E,j=s()(g)?this.id:g,P=null!==(e=(0,b.L6)(a,!1))&&void 0!==e?e:{r:3,strokeWidth:2},L=P.r,S=P.strokeWidth,C=((0,b.jf)(a)?a:{}).clipDot,D=void 0===C||C,N=2*(void 0===L?3:L)+(void 0===S?2:S);return r.createElement(m.m,{className:w},A||E?r.createElement("defs",null,r.createElement("clipPath",{id:"clipPath-".concat(j)},r.createElement("rect",{x:A?p:p-f/2,y:E?u:u-y/2,width:A?f:2*f,height:E?y:2*y})),!D&&r.createElement("clipPath",{id:"clipPath-dots-".concat(j)},r.createElement("rect",{x:p-N/2,y:u-N/2,width:f+N,height:y+N}))):null,!x&&this.renderCurve(O,j),this.renderErrorBar(O,j),(x||a)&&this.renderDots(O,D,j),(!v||k)&&h.e.renderCallByParent(this.props,o))}}],n=[{key:"getDerivedStateFromProps",value:function(e,t){return e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curPoints:e.points,prevPoints:t.curPoints}:e.points!==t.curPoints?{curPoints:e.points}:null}},{key:"repeat",value:function(e,t){for(var n=e.length%2!=0?[].concat(L(e),[0]):e,r=[],a=0;ae&&Object.keys(o).includes(String(e))?o[e]:"",d=a.forwardRef((e,o)=>{let{numItems:r=1,numItemsSm:t,numItemsMd:d,numItemsLg:g,children:p,className:h}=e,m=(0,n._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),u=c(r,s._m),b=c(t,s.LH),k=c(d,s.l5),f=c(g,s.N4),x=(0,l.q)(u,b,k,f);return a.createElement("div",Object.assign({ref:o,className:(0,l.q)(i("root"),"grid",x,h)},m),p)});d.displayName="Grid"},9496:function(e,o,r){"use strict";r.d(o,{LH:function(){return l},N4:function(){return a},PT:function(){return s},SP:function(){return i},VS:function(){return c},_m:function(){return n},_w:function(){return d},l5:function(){return t}});let n={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},l={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},t={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},a={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},s={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},i={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},c={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},d={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},84264:function(e,o,r){"use strict";r.d(o,{Z:function(){return s}});var n=r(26898),l=r(13241),t=r(1153),a=r(2265);let s=a.forwardRef((e,o)=>{let{color:r,className:s,children:i}=e;return a.createElement("p",{ref:o,className:(0,l.q)("text-tremor-default",r?(0,t.bM)(r,n.K.text).textColor:(0,l.q)("text-tremor-content","dark:text-dark-tremor-content"),s)},i)});s.displayName="Text"},26898:function(e,o,r){"use strict";r.d(o,{K:function(){return l},s:function(){return t}});var n=r(7084);let l={canvasBackground:50,lightBackground:100,background:500,darkBackground:600,darkestBackground:800,lightBorder:200,border:500,darkBorder:700,lightRing:200,ring:300,iconRing:500,lightText:400,text:500,iconText:600,darkText:700,darkestText:900,icon:500},t=[n.fr.Blue,n.fr.Cyan,n.fr.Sky,n.fr.Indigo,n.fr.Violet,n.fr.Purple,n.fr.Fuchsia,n.fr.Slate,n.fr.Gray,n.fr.Zinc,n.fr.Neutral,n.fr.Stone,n.fr.Red,n.fr.Orange,n.fr.Amber,n.fr.Yellow,n.fr.Lime,n.fr.Green,n.fr.Emerald,n.fr.Teal,n.fr.Pink,n.fr.Rose]},79205:function(e,o,r){"use strict";r.d(o,{Z:function(){return g}});var n=r(2265);let l=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),t=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,o,r)=>r?r.toUpperCase():o.toLowerCase()),a=e=>{let o=t(e);return o.charAt(0).toUpperCase()+o.slice(1)},s=function(){for(var e=arguments.length,o=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===o).join(" ").trim()},i=e=>{for(let o in e)if(o.startsWith("aria-")||"role"===o||"title"===o)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let d=(0,n.forwardRef)((e,o)=>{let{color:r="currentColor",size:l=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:d="",children:g,iconNode:p,...h}=e;return(0,n.createElement)("svg",{ref:o,...c,width:l,height:l,stroke:r,strokeWidth:a?24*Number(t)/Number(l):t,className:s("lucide",d),...!g&&!i(h)&&{"aria-hidden":"true"},...h},[...p.map(e=>{let[o,r]=e;return(0,n.createElement)(o,r)}),...Array.isArray(g)?g:[g]])}),g=(e,o)=>{let r=(0,n.forwardRef)((r,t)=>{let{className:i,...c}=r;return(0,n.createElement)(d,{ref:t,iconNode:o,className:s("lucide-".concat(l(a(e))),"lucide-".concat(e),i),...c})});return r.displayName=a(e),r}},30401:function(e,o,r){"use strict";r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},5136:function(e,o,r){"use strict";r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]])},96362:function(e,o,r){"use strict";r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},1479:function(e,o){"use strict";o.Z={'code[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"]::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},prolog:{color:"hsl(230, 4%, 64%)"},cdata:{color:"hsl(230, 4%, 64%)"},doctype:{color:"hsl(230, 8%, 24%)"},punctuation:{color:"hsl(230, 8%, 24%)"},entity:{color:"hsl(230, 8%, 24%)",cursor:"help"},"attr-name":{color:"hsl(35, 99%, 36%)"},"class-name":{color:"hsl(35, 99%, 36%)"},boolean:{color:"hsl(35, 99%, 36%)"},constant:{color:"hsl(35, 99%, 36%)"},number:{color:"hsl(35, 99%, 36%)"},atrule:{color:"hsl(35, 99%, 36%)"},keyword:{color:"hsl(301, 63%, 40%)"},property:{color:"hsl(5, 74%, 59%)"},tag:{color:"hsl(5, 74%, 59%)"},symbol:{color:"hsl(5, 74%, 59%)"},deleted:{color:"hsl(5, 74%, 59%)"},important:{color:"hsl(5, 74%, 59%)"},selector:{color:"hsl(119, 34%, 47%)"},string:{color:"hsl(119, 34%, 47%)"},char:{color:"hsl(119, 34%, 47%)"},builtin:{color:"hsl(119, 34%, 47%)"},inserted:{color:"hsl(119, 34%, 47%)"},regex:{color:"hsl(119, 34%, 47%)"},"attr-value":{color:"hsl(119, 34%, 47%)"},"attr-value > .token.punctuation":{color:"hsl(119, 34%, 47%)"},variable:{color:"hsl(221, 87%, 60%)"},operator:{color:"hsl(221, 87%, 60%)"},function:{color:"hsl(221, 87%, 60%)"},url:{color:"hsl(198, 99%, 37%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(230, 8%, 24%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(230, 8%, 24%)"},".language-css .token.selector":{color:"hsl(5, 74%, 59%)"},".language-css .token.property":{color:"hsl(230, 8%, 24%)"},".language-css .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.string.url":{color:"hsl(119, 34%, 47%)"},".language-css .token.important":{color:"hsl(301, 63%, 40%)"},".language-css .token.atrule .token.rule":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.operator":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(344, 84%, 43%)"},".language-json .token.operator":{color:"hsl(230, 8%, 24%)"},".language-json .token.null.keyword":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.url":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.operator":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.content":{color:"hsl(221, 87%, 60%)"},".language-markdown .token.url > .token.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.url-reference.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(119, 34%, 47%)"},".language-markdown .token.bold .token.content":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.italic .token.content":{color:"hsl(301, 63%, 40%)"},".language-markdown .token.strike .token.content":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.list.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(5, 74%, 59%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.cr:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.lf:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.space:before":{color:"hsla(230, 8%, 24%, 0.2)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},".line-highlight.line-highlight":{background:"hsla(230, 8%, 24%, 0.05)"},".line-highlight.line-highlight:before":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(230, 8%, 24%, 0.05)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".command-line .command-line-prompt":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(230, 1%, 62%)"},".command-line .command-line-prompt > span:before":{color:"hsl(230, 1%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(301, 63%, 40%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(0, 0, 95%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(0, 0, 95%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(0, 0, 95%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(0, 0, 95%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(0, 0%, 100%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(230, 8%, 24%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(230, 8%, 24%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(230, 8%, 24%)"}}},23192:function(e,o,r){"use strict";r.d(o,{Z:function(){return m}});var n=r(57437);r(2265);var l=r(67101),t=r(12485),a=r(18135),s=r(35242),i=r(29706),c=r(77991),d=r(84264),g=r(25653),p=r(96362),h=e=>{let{href:o,className:r}=e;return(0,n.jsxs)("a",{href:o,target:"_blank",rel:"noopener noreferrer",title:"Open documentation in a new tab",className:function(){for(var e=arguments.length,o=Array(e),r=0;r{let{proxySettings:o}=e,r="",p=null==o?void 0:o.LITELLM_UI_API_DOC_BASE_URL;return p&&p.trim()?r=p:(null==o?void 0:o.PROXY_BASE_URL)&&(r=o.PROXY_BASE_URL),(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(l.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,n.jsxs)("div",{className:"mb-5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,n.jsx)(h,{className:"ml-3 shrink-0",href:"https://docs.litellm.ai/docs/proxy/user_keys"})]}),(0,n.jsxs)(d.Z,{className:"mt-2 mb-2",children:["LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below"," "]}),(0,n.jsxs)(a.Z,{children:[(0,n.jsxs)(s.Z,{children:[(0,n.jsx)(t.Z,{children:"OpenAI Python SDK"}),(0,n.jsx)(t.Z,{children:"LlamaIndex"}),(0,n.jsx)(t.Z,{children:"Langchain Py"})]}),(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(i.Z,{children:(0,n.jsx)(g.Z,{language:"python",code:'import openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(r,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)')})}),(0,n.jsx)(i.Z,{children:(0,n.jsx)(g.Z,{language:"python",code:'import os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(r,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(r,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)')})}),(0,n.jsx)(i.Z,{children:(0,n.jsx)(g.Z,{language:"python",code:'from langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(r,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)')})})]})]})]})})})}},25653:function(e,o,r){"use strict";var n=r(57437),l=r(2265),t=r(30401),a=r(5136),s=r(17906),i=r(1479);o.Z=e=>{let{code:o,language:r}=e,[c,d]=(0,l.useState)(!1);return(0,n.jsxs)("div",{className:"relative rounded-lg border border-gray-200 overflow-hidden",children:[(0,n.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),2e3)},className:"absolute top-3 right-3 p-2 rounded-md bg-gray-100 hover:bg-gray-200 text-gray-600 z-10","aria-label":"Copy code",children:c?(0,n.jsx)(t.Z,{size:16}):(0,n.jsx)(a.Z,{size:16})}),(0,n.jsx)(s.Z,{language:r,style:i.Z,customStyle:{margin:0,padding:"1.5rem",borderRadius:"0.5rem",fontSize:"0.9rem",backgroundColor:"#fafafa"},showLineNumbers:!0,children:o})]})}},81300:function(e,o,r){"use strict";r.r(o);var n=r(57437),l=r(23192),t=r(2265);o.default=()=>{let[e,o]=(0,t.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""});return(0,n.jsx)(l.Z,{proxySettings:e})}}},function(e){e.O(0,[9028,1442,2926,7906,2971,2117,1744],function(){return e(e.s=25088)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4303],{63936:function(e,o,r){Promise.resolve().then(r.bind(r,81300))},67101:function(e,o,r){"use strict";r.d(o,{Z:function(){return d}});var n=r(5853),l=r(13241),t=r(1153),a=r(2265),s=r(9496);let i=(0,t.fn)("Grid"),c=(e,o)=>e&&Object.keys(o).includes(String(e))?o[e]:"",d=a.forwardRef((e,o)=>{let{numItems:r=1,numItemsSm:t,numItemsMd:d,numItemsLg:g,children:p,className:h}=e,m=(0,n._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),u=c(r,s._m),b=c(t,s.LH),k=c(d,s.l5),f=c(g,s.N4),x=(0,l.q)(u,b,k,f);return a.createElement("div",Object.assign({ref:o,className:(0,l.q)(i("root"),"grid",x,h)},m),p)});d.displayName="Grid"},9496:function(e,o,r){"use strict";r.d(o,{LH:function(){return l},N4:function(){return a},PT:function(){return s},SP:function(){return i},VS:function(){return c},_m:function(){return n},_w:function(){return d},l5:function(){return t}});let n={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},l={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},t={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},a={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},s={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},i={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},c={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},d={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},84264:function(e,o,r){"use strict";r.d(o,{Z:function(){return s}});var n=r(26898),l=r(13241),t=r(1153),a=r(2265);let s=a.forwardRef((e,o)=>{let{color:r,className:s,children:i}=e;return a.createElement("p",{ref:o,className:(0,l.q)("text-tremor-default",r?(0,t.bM)(r,n.K.text).textColor:(0,l.q)("text-tremor-content","dark:text-dark-tremor-content"),s)},i)});s.displayName="Text"},26898:function(e,o,r){"use strict";r.d(o,{K:function(){return l},s:function(){return t}});var n=r(7084);let l={canvasBackground:50,lightBackground:100,background:500,darkBackground:600,darkestBackground:800,lightBorder:200,border:500,darkBorder:700,lightRing:200,ring:300,iconRing:500,lightText:400,text:500,iconText:600,darkText:700,darkestText:900,icon:500},t=[n.fr.Blue,n.fr.Cyan,n.fr.Sky,n.fr.Indigo,n.fr.Violet,n.fr.Purple,n.fr.Fuchsia,n.fr.Slate,n.fr.Gray,n.fr.Zinc,n.fr.Neutral,n.fr.Stone,n.fr.Red,n.fr.Orange,n.fr.Amber,n.fr.Yellow,n.fr.Lime,n.fr.Green,n.fr.Emerald,n.fr.Teal,n.fr.Pink,n.fr.Rose]},79205:function(e,o,r){"use strict";r.d(o,{Z:function(){return g}});var n=r(2265);let l=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),t=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,o,r)=>r?r.toUpperCase():o.toLowerCase()),a=e=>{let o=t(e);return o.charAt(0).toUpperCase()+o.slice(1)},s=function(){for(var e=arguments.length,o=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===o).join(" ").trim()},i=e=>{for(let o in e)if(o.startsWith("aria-")||"role"===o||"title"===o)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let d=(0,n.forwardRef)((e,o)=>{let{color:r="currentColor",size:l=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:d="",children:g,iconNode:p,...h}=e;return(0,n.createElement)("svg",{ref:o,...c,width:l,height:l,stroke:r,strokeWidth:a?24*Number(t)/Number(l):t,className:s("lucide",d),...!g&&!i(h)&&{"aria-hidden":"true"},...h},[...p.map(e=>{let[o,r]=e;return(0,n.createElement)(o,r)}),...Array.isArray(g)?g:[g]])}),g=(e,o)=>{let r=(0,n.forwardRef)((r,t)=>{let{className:i,...c}=r;return(0,n.createElement)(d,{ref:t,iconNode:o,className:s("lucide-".concat(l(a(e))),"lucide-".concat(e),i),...c})});return r.displayName=a(e),r}},30401:function(e,o,r){"use strict";r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},5136:function(e,o,r){"use strict";r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]])},96362:function(e,o,r){"use strict";r.d(o,{Z:function(){return n}});let n=(0,r(79205).Z)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},1479:function(e,o){"use strict";o.Z={'code[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"]::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},prolog:{color:"hsl(230, 4%, 64%)"},cdata:{color:"hsl(230, 4%, 64%)"},doctype:{color:"hsl(230, 8%, 24%)"},punctuation:{color:"hsl(230, 8%, 24%)"},entity:{color:"hsl(230, 8%, 24%)",cursor:"help"},"attr-name":{color:"hsl(35, 99%, 36%)"},"class-name":{color:"hsl(35, 99%, 36%)"},boolean:{color:"hsl(35, 99%, 36%)"},constant:{color:"hsl(35, 99%, 36%)"},number:{color:"hsl(35, 99%, 36%)"},atrule:{color:"hsl(35, 99%, 36%)"},keyword:{color:"hsl(301, 63%, 40%)"},property:{color:"hsl(5, 74%, 59%)"},tag:{color:"hsl(5, 74%, 59%)"},symbol:{color:"hsl(5, 74%, 59%)"},deleted:{color:"hsl(5, 74%, 59%)"},important:{color:"hsl(5, 74%, 59%)"},selector:{color:"hsl(119, 34%, 47%)"},string:{color:"hsl(119, 34%, 47%)"},char:{color:"hsl(119, 34%, 47%)"},builtin:{color:"hsl(119, 34%, 47%)"},inserted:{color:"hsl(119, 34%, 47%)"},regex:{color:"hsl(119, 34%, 47%)"},"attr-value":{color:"hsl(119, 34%, 47%)"},"attr-value > .token.punctuation":{color:"hsl(119, 34%, 47%)"},variable:{color:"hsl(221, 87%, 60%)"},operator:{color:"hsl(221, 87%, 60%)"},function:{color:"hsl(221, 87%, 60%)"},url:{color:"hsl(198, 99%, 37%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(230, 8%, 24%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(230, 8%, 24%)"},".language-css .token.selector":{color:"hsl(5, 74%, 59%)"},".language-css .token.property":{color:"hsl(230, 8%, 24%)"},".language-css .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.string.url":{color:"hsl(119, 34%, 47%)"},".language-css .token.important":{color:"hsl(301, 63%, 40%)"},".language-css .token.atrule .token.rule":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.operator":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(344, 84%, 43%)"},".language-json .token.operator":{color:"hsl(230, 8%, 24%)"},".language-json .token.null.keyword":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.url":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.operator":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.content":{color:"hsl(221, 87%, 60%)"},".language-markdown .token.url > .token.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.url-reference.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(119, 34%, 47%)"},".language-markdown .token.bold .token.content":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.italic .token.content":{color:"hsl(301, 63%, 40%)"},".language-markdown .token.strike .token.content":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.list.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(5, 74%, 59%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.cr:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.lf:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.space:before":{color:"hsla(230, 8%, 24%, 0.2)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},".line-highlight.line-highlight":{background:"hsla(230, 8%, 24%, 0.05)"},".line-highlight.line-highlight:before":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(230, 8%, 24%, 0.05)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".command-line .command-line-prompt":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(230, 1%, 62%)"},".command-line .command-line-prompt > span:before":{color:"hsl(230, 1%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(301, 63%, 40%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(0, 0, 95%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(0, 0, 95%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(0, 0, 95%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(0, 0, 95%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(0, 0%, 100%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(230, 8%, 24%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(230, 8%, 24%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(230, 8%, 24%)"}}},23192:function(e,o,r){"use strict";r.d(o,{Z:function(){return m}});var n=r(57437);r(2265);var l=r(67101),t=r(12485),a=r(18135),s=r(35242),i=r(29706),c=r(77991),d=r(84264),g=r(25653),p=r(96362),h=e=>{let{href:o,className:r}=e;return(0,n.jsxs)("a",{href:o,target:"_blank",rel:"noopener noreferrer",title:"Open documentation in a new tab",className:function(){for(var e=arguments.length,o=Array(e),r=0;r{let{proxySettings:o}=e,r="",p=null==o?void 0:o.LITELLM_UI_API_DOC_BASE_URL;return p&&p.trim()?r=p:(null==o?void 0:o.PROXY_BASE_URL)&&(r=o.PROXY_BASE_URL),(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(l.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,n.jsxs)("div",{className:"mb-5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,n.jsx)(h,{className:"ml-3 shrink-0",href:"https://docs.litellm.ai/docs/proxy/user_keys"})]}),(0,n.jsxs)(d.Z,{className:"mt-2 mb-2",children:["LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below"," "]}),(0,n.jsxs)(a.Z,{children:[(0,n.jsxs)(s.Z,{children:[(0,n.jsx)(t.Z,{children:"OpenAI Python SDK"}),(0,n.jsx)(t.Z,{children:"LlamaIndex"}),(0,n.jsx)(t.Z,{children:"Langchain Py"})]}),(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(i.Z,{children:(0,n.jsx)(g.Z,{language:"python",code:'import openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(r,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)')})}),(0,n.jsx)(i.Z,{children:(0,n.jsx)(g.Z,{language:"python",code:'import os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(r,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(r,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)')})}),(0,n.jsx)(i.Z,{children:(0,n.jsx)(g.Z,{language:"python",code:'from langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(r,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)')})})]})]})]})})})}},25653:function(e,o,r){"use strict";var n=r(57437),l=r(2265),t=r(30401),a=r(5136),s=r(17906),i=r(1479);o.Z=e=>{let{code:o,language:r}=e,[c,d]=(0,l.useState)(!1);return(0,n.jsxs)("div",{className:"relative rounded-lg border border-gray-200 overflow-hidden",children:[(0,n.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),2e3)},className:"absolute top-3 right-3 p-2 rounded-md bg-gray-100 hover:bg-gray-200 text-gray-600 z-10","aria-label":"Copy code",children:c?(0,n.jsx)(t.Z,{size:16}):(0,n.jsx)(a.Z,{size:16})}),(0,n.jsx)(s.Z,{language:r,style:i.Z,customStyle:{margin:0,padding:"1.5rem",borderRadius:"0.5rem",fontSize:"0.9rem",backgroundColor:"#fafafa"},showLineNumbers:!0,children:o})]})}},81300:function(e,o,r){"use strict";r.r(o);var n=r(57437),l=r(23192),t=r(2265);o.default=()=>{let[e,o]=(0,t.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""});return(0,n.jsx)(l.Z,{proxySettings:e})}}},function(e){e.O(0,[9028,1442,2926,7906,2971,2117,1744],function(){return e(e.s=63936)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/api-playground/page-e159d6fa133d5ba6.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/api-playground/page-a465c86552ea2480.js similarity index 98% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/api-playground/page-e159d6fa133d5ba6.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/api-playground/page-a465c86552ea2480.js index e9bb12d87f..7dd01affc5 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/api-playground/page-e159d6fa133d5ba6.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/api-playground/page-a465c86552ea2480.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3425],{52235:function(e,r,n){Promise.resolve().then(n.bind(n,16643))},23639:function(e,r,n){"use strict";n.d(r,{Z:function(){return a}});var t=n(1119),o=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},s=n(55015),a=o.forwardRef(function(e,r){return o.createElement(s.Z,(0,t.Z)({},e,{ref:r,icon:i}))})},96761:function(e,r,n){"use strict";n.d(r,{Z:function(){return l}});var t=n(5853),o=n(26898),i=n(13241),s=n(1153),a=n(2265);let l=a.forwardRef((e,r)=>{let{color:n,children:l,className:c}=e,d=(0,t._T)(e,["color","children","className"]);return a.createElement("p",Object.assign({ref:r,className:(0,i.q)("font-medium text-tremor-title",n?(0,s.bM)(n,o.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",c)},d),l)});l.displayName="Title"},26898:function(e,r,n){"use strict";n.d(r,{K:function(){return o},s:function(){return i}});var t=n(7084);let o={canvasBackground:50,lightBackground:100,background:500,darkBackground:600,darkestBackground:800,lightBorder:200,border:500,darkBorder:700,lightRing:200,ring:300,iconRing:500,lightText:400,text:500,iconText:600,darkText:700,darkestText:900,icon:500},i=[t.fr.Blue,t.fr.Cyan,t.fr.Sky,t.fr.Indigo,t.fr.Violet,t.fr.Purple,t.fr.Fuchsia,t.fr.Slate,t.fr.Gray,t.fr.Zinc,t.fr.Neutral,t.fr.Stone,t.fr.Red,t.fr.Orange,t.fr.Amber,t.fr.Yellow,t.fr.Lime,t.fr.Green,t.fr.Emerald,t.fr.Teal,t.fr.Pink,t.fr.Rose]},21700:function(e,r,n){"use strict";n.d(r,{D:function(){return t.Z}});var t=n(96761)},16643:function(e,r,n){"use strict";n.r(r);var t=n(57437),o=n(59004),i=n(39760);r.default=()=>{let{accessToken:e}=(0,i.Z)();return(0,t.jsx)(o.Z,{accessToken:e})}},39760:function(e,r,n){"use strict";var t=n(2265),o=n(99376),i=n(14474),s=n(3914),a=n(19250);r.Z=()=>{var e,r,n,l,c,d;let u=(0,o.useRouter)(),p="undefined"!=typeof document?(0,s.e)("token"):null;(0,t.useEffect)(()=>{p||u.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[p,u]);let f=(0,t.useMemo)(()=>{if(!p)return null;try{return(0,i.o)(p)}catch(e){return(0,s.b)(),u.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[p,u]);return{token:p,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(r=null==f?void 0:f.user_id)&&void 0!==r?r:null,userEmail:null!==(n=null==f?void 0:f.user_email)&&void 0!==n?n:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(l=null==f?void 0:f.user_role)&&void 0!==l?l:null),premiumUser:null!==(c=null==f?void 0:f.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},59004:function(e,r,n){"use strict";var t=n(57437),o=n(2265),i=n(5545),s=n(23639),a=n(21700),l=n(19250),c=n(9114);r.Z=e=>{let{accessToken:r}=e,[n,d]=(0,o.useState)('{\n "model": "openai/gpt-4o",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n },\n {\n "role": "user",\n "content": "Explain quantum computing in simple terms"\n }\n ],\n "temperature": 0.7,\n "max_tokens": 500,\n "stream": true\n}'),[u,p]=(0,o.useState)(""),[f,m]=(0,o.useState)(!1),x=(e,r,n)=>{let t=JSON.stringify(r,null,2).split("\n").map(e=>" ".concat(e)).join("\n"),o=Object.entries(n).map(e=>{let[r,n]=e;return"-H '".concat(r,": ").concat(n,"'")}).join(" \\\n ");return"curl -X POST \\\n ".concat(e," \\\n ").concat(o?"".concat(o," \\\n "):"","-H 'Content-Type: application/json' \\\n -d '{\n").concat(t,"\n }'")},h=async()=>{m(!0);try{let e;try{e=JSON.parse(n)}catch(e){c.Z.fromBackend("Invalid JSON in request body"),m(!1);return}let t={call_type:"completion",request_body:e};if(!r){c.Z.fromBackend("No access token found"),m(!1);return}let o=await (0,l.transformRequestCall)(r,t);if(o.raw_request_api_base&&o.raw_request_body){let e=x(o.raw_request_api_base,o.raw_request_body,o.raw_request_headers||{});p(e),c.Z.success("Request transformed successfully")}else{let e="string"==typeof o?o:JSON.stringify(o);p(e),c.Z.info("Transformed request received in unexpected format")}}catch(e){console.error("Error transforming request:",e),c.Z.fromBackend("Failed to transform request")}finally{m(!1)}};return(0,t.jsxs)("div",{className:"w-full m-2",style:{overflow:"hidden"},children:[(0,t.jsx)(a.D,{children:"Playground"}),(0,t.jsx)("p",{className:"text-sm text-gray-500",children:"See how LiteLLM transforms your request for the specified provider."}),(0,t.jsxs)("div",{style:{display:"flex",gap:"16px",width:"100%",minWidth:0,overflow:"hidden"},className:"mt-4",children:[(0,t.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"600px",minWidth:0},children:[(0,t.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,t.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Original Request"}),(0,t.jsx)("p",{style:{color:"#666",margin:0},children:"The request you would send to LiteLLM /chat/completions endpoint."})]}),(0,t.jsx)("textarea",{style:{flex:"1 1 auto",width:"100%",minHeight:"240px",padding:"16px",border:"1px solid #e8e8e8",borderRadius:"6px",fontFamily:"monospace",fontSize:"14px",resize:"none",marginBottom:"24px",overflow:"auto"},value:n,onChange:e=>d(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),h())},placeholder:"Press Cmd/Ctrl + Enter to transform"}),(0,t.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"auto"},children:(0,t.jsxs)(i.ZP,{type:"primary",style:{backgroundColor:"#000",display:"flex",alignItems:"center",gap:"8px"},onClick:h,loading:f,children:[(0,t.jsx)("span",{children:"Transform"}),(0,t.jsx)("span",{children:"→"})]})})]}),(0,t.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"800px",minWidth:0},children:[(0,t.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,t.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Transformed Request"}),(0,t.jsx)("p",{style:{color:"#666",margin:0},children:"How LiteLLM transforms your request for the specified provider."}),(0,t.jsx)("br",{}),(0,t.jsx)("p",{style:{color:"#666",margin:0},className:"text-xs",children:"Note: Sensitive headers are not shown."})]}),(0,t.jsxs)("div",{style:{position:"relative",backgroundColor:"#f5f5f5",borderRadius:"6px",flex:"1 1 auto",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,t.jsx)("pre",{style:{padding:"16px",fontFamily:"monospace",fontSize:"14px",margin:0,overflow:"auto",flex:"1 1 auto"},children:u||'curl -X POST \\\n https://api.openai.com/v1/chat/completions \\\n -H \'Authorization: Bearer sk-xxx\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "model": "gpt-4",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n }\n ],\n "temperature": 0.7\n }\''}),(0,t.jsx)(i.ZP,{type:"text",icon:(0,t.jsx)(s.Z,{}),style:{position:"absolute",right:"8px",top:"8px"},size:"small",onClick:()=>{navigator.clipboard.writeText(u||""),c.Z.success("Copied to clipboard")}})]})]})]}),(0,t.jsx)("div",{className:"mt-4 text-right w-full",children:(0,t.jsxs)("p",{className:"text-sm text-gray-500",children:["Found an error? File an issue"," ",(0,t.jsx)("a",{href:"https://github.com/BerriAI/litellm/issues",target:"_blank",rel:"noopener noreferrer",children:"here"}),"."]})})]})}},14474:function(e,r,n){"use strict";n.d(r,{o:function(){return o}});class t extends Error{}function o(e,r){let n;if("string"!=typeof e)throw new t("Invalid token specified: must be a string");r||(r={});let o=!0===r.header?0:1,i=e.split(".")[o];if("string"!=typeof i)throw new t(`Invalid token specified: missing part #${o+1}`);try{n=function(e){let r=e.replace(/-/g,"+").replace(/_/g,"/");switch(r.length%4){case 0:break;case 2:r+="==";break;case 3:r+="=";break;default:throw Error("base64 string is not of the correct length")}try{var n;return n=r,decodeURIComponent(atob(n).replace(/(.)/g,(e,r)=>{let n=r.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}catch(e){return atob(r)}}(i)}catch(e){throw new t(`Invalid token specified: invalid base64 for part #${o+1} (${e.message})`)}try{return JSON.parse(n)}catch(e){throw new t(`Invalid token specified: invalid json for part #${o+1} (${e.message})`)}}t.prototype.name="InvalidTokenError"}},function(e){e.O(0,[9028,9409,8049,2971,2117,1744],function(){return e(e.s=52235)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3425],{58826:function(e,r,n){Promise.resolve().then(n.bind(n,16643))},23639:function(e,r,n){"use strict";n.d(r,{Z:function(){return a}});var t=n(1119),o=n(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},s=n(55015),a=o.forwardRef(function(e,r){return o.createElement(s.Z,(0,t.Z)({},e,{ref:r,icon:i}))})},96761:function(e,r,n){"use strict";n.d(r,{Z:function(){return l}});var t=n(5853),o=n(26898),i=n(13241),s=n(1153),a=n(2265);let l=a.forwardRef((e,r)=>{let{color:n,children:l,className:c}=e,d=(0,t._T)(e,["color","children","className"]);return a.createElement("p",Object.assign({ref:r,className:(0,i.q)("font-medium text-tremor-title",n?(0,s.bM)(n,o.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",c)},d),l)});l.displayName="Title"},26898:function(e,r,n){"use strict";n.d(r,{K:function(){return o},s:function(){return i}});var t=n(7084);let o={canvasBackground:50,lightBackground:100,background:500,darkBackground:600,darkestBackground:800,lightBorder:200,border:500,darkBorder:700,lightRing:200,ring:300,iconRing:500,lightText:400,text:500,iconText:600,darkText:700,darkestText:900,icon:500},i=[t.fr.Blue,t.fr.Cyan,t.fr.Sky,t.fr.Indigo,t.fr.Violet,t.fr.Purple,t.fr.Fuchsia,t.fr.Slate,t.fr.Gray,t.fr.Zinc,t.fr.Neutral,t.fr.Stone,t.fr.Red,t.fr.Orange,t.fr.Amber,t.fr.Yellow,t.fr.Lime,t.fr.Green,t.fr.Emerald,t.fr.Teal,t.fr.Pink,t.fr.Rose]},21700:function(e,r,n){"use strict";n.d(r,{D:function(){return t.Z}});var t=n(96761)},16643:function(e,r,n){"use strict";n.r(r);var t=n(57437),o=n(59004),i=n(39760);r.default=()=>{let{accessToken:e}=(0,i.Z)();return(0,t.jsx)(o.Z,{accessToken:e})}},39760:function(e,r,n){"use strict";var t=n(2265),o=n(99376),i=n(14474),s=n(3914),a=n(19250);r.Z=()=>{var e,r,n,l,c,d;let u=(0,o.useRouter)(),p="undefined"!=typeof document?(0,s.e)("token"):null;(0,t.useEffect)(()=>{p||u.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[p,u]);let f=(0,t.useMemo)(()=>{if(!p)return null;try{return(0,i.o)(p)}catch(e){return(0,s.b)(),u.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[p,u]);return{token:p,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(r=null==f?void 0:f.user_id)&&void 0!==r?r:null,userEmail:null!==(n=null==f?void 0:f.user_email)&&void 0!==n?n:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(l=null==f?void 0:f.user_role)&&void 0!==l?l:null),premiumUser:null!==(c=null==f?void 0:f.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},59004:function(e,r,n){"use strict";var t=n(57437),o=n(2265),i=n(5545),s=n(23639),a=n(21700),l=n(19250),c=n(9114);r.Z=e=>{let{accessToken:r}=e,[n,d]=(0,o.useState)('{\n "model": "openai/gpt-4o",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n },\n {\n "role": "user",\n "content": "Explain quantum computing in simple terms"\n }\n ],\n "temperature": 0.7,\n "max_tokens": 500,\n "stream": true\n}'),[u,p]=(0,o.useState)(""),[f,m]=(0,o.useState)(!1),x=(e,r,n)=>{let t=JSON.stringify(r,null,2).split("\n").map(e=>" ".concat(e)).join("\n"),o=Object.entries(n).map(e=>{let[r,n]=e;return"-H '".concat(r,": ").concat(n,"'")}).join(" \\\n ");return"curl -X POST \\\n ".concat(e," \\\n ").concat(o?"".concat(o," \\\n "):"","-H 'Content-Type: application/json' \\\n -d '{\n").concat(t,"\n }'")},h=async()=>{m(!0);try{let e;try{e=JSON.parse(n)}catch(e){c.Z.fromBackend("Invalid JSON in request body"),m(!1);return}let t={call_type:"completion",request_body:e};if(!r){c.Z.fromBackend("No access token found"),m(!1);return}let o=await (0,l.transformRequestCall)(r,t);if(o.raw_request_api_base&&o.raw_request_body){let e=x(o.raw_request_api_base,o.raw_request_body,o.raw_request_headers||{});p(e),c.Z.success("Request transformed successfully")}else{let e="string"==typeof o?o:JSON.stringify(o);p(e),c.Z.info("Transformed request received in unexpected format")}}catch(e){console.error("Error transforming request:",e),c.Z.fromBackend("Failed to transform request")}finally{m(!1)}};return(0,t.jsxs)("div",{className:"w-full m-2",style:{overflow:"hidden"},children:[(0,t.jsx)(a.D,{children:"Playground"}),(0,t.jsx)("p",{className:"text-sm text-gray-500",children:"See how LiteLLM transforms your request for the specified provider."}),(0,t.jsxs)("div",{style:{display:"flex",gap:"16px",width:"100%",minWidth:0,overflow:"hidden"},className:"mt-4",children:[(0,t.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"600px",minWidth:0},children:[(0,t.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,t.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Original Request"}),(0,t.jsx)("p",{style:{color:"#666",margin:0},children:"The request you would send to LiteLLM /chat/completions endpoint."})]}),(0,t.jsx)("textarea",{style:{flex:"1 1 auto",width:"100%",minHeight:"240px",padding:"16px",border:"1px solid #e8e8e8",borderRadius:"6px",fontFamily:"monospace",fontSize:"14px",resize:"none",marginBottom:"24px",overflow:"auto"},value:n,onChange:e=>d(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),h())},placeholder:"Press Cmd/Ctrl + Enter to transform"}),(0,t.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"auto"},children:(0,t.jsxs)(i.ZP,{type:"primary",style:{backgroundColor:"#000",display:"flex",alignItems:"center",gap:"8px"},onClick:h,loading:f,children:[(0,t.jsx)("span",{children:"Transform"}),(0,t.jsx)("span",{children:"→"})]})})]}),(0,t.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"800px",minWidth:0},children:[(0,t.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,t.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Transformed Request"}),(0,t.jsx)("p",{style:{color:"#666",margin:0},children:"How LiteLLM transforms your request for the specified provider."}),(0,t.jsx)("br",{}),(0,t.jsx)("p",{style:{color:"#666",margin:0},className:"text-xs",children:"Note: Sensitive headers are not shown."})]}),(0,t.jsxs)("div",{style:{position:"relative",backgroundColor:"#f5f5f5",borderRadius:"6px",flex:"1 1 auto",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,t.jsx)("pre",{style:{padding:"16px",fontFamily:"monospace",fontSize:"14px",margin:0,overflow:"auto",flex:"1 1 auto"},children:u||'curl -X POST \\\n https://api.openai.com/v1/chat/completions \\\n -H \'Authorization: Bearer sk-xxx\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "model": "gpt-4",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n }\n ],\n "temperature": 0.7\n }\''}),(0,t.jsx)(i.ZP,{type:"text",icon:(0,t.jsx)(s.Z,{}),style:{position:"absolute",right:"8px",top:"8px"},size:"small",onClick:()=>{navigator.clipboard.writeText(u||""),c.Z.success("Copied to clipboard")}})]})]})]}),(0,t.jsx)("div",{className:"mt-4 text-right w-full",children:(0,t.jsxs)("p",{className:"text-sm text-gray-500",children:["Found an error? File an issue"," ",(0,t.jsx)("a",{href:"https://github.com/BerriAI/litellm/issues",target:"_blank",rel:"noopener noreferrer",children:"here"}),"."]})})]})}},14474:function(e,r,n){"use strict";n.d(r,{o:function(){return o}});class t extends Error{}function o(e,r){let n;if("string"!=typeof e)throw new t("Invalid token specified: must be a string");r||(r={});let o=!0===r.header?0:1,i=e.split(".")[o];if("string"!=typeof i)throw new t(`Invalid token specified: missing part #${o+1}`);try{n=function(e){let r=e.replace(/-/g,"+").replace(/_/g,"/");switch(r.length%4){case 0:break;case 2:r+="==";break;case 3:r+="=";break;default:throw Error("base64 string is not of the correct length")}try{var n;return n=r,decodeURIComponent(atob(n).replace(/(.)/g,(e,r)=>{let n=r.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}catch(e){return atob(r)}}(i)}catch(e){throw new t(`Invalid token specified: invalid base64 for part #${o+1} (${e.message})`)}try{return JSON.parse(n)}catch(e){throw new t(`Invalid token specified: invalid json for part #${o+1} (${e.message})`)}}t.prototype.name="InvalidTokenError"}},function(e){e.O(0,[9028,9409,8049,2971,2117,1744],function(){return e(e.s=58826)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/budgets/page-d577ece97a50894d.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/budgets/page-8591009dfdcbf46b.js similarity index 99% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/budgets/page-d577ece97a50894d.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/budgets/page-8591009dfdcbf46b.js index 0fd8a92cb7..832828ccee 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/budgets/page-d577ece97a50894d.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/budgets/page-8591009dfdcbf46b.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5649],{54501:function(e,l,n){Promise.resolve().then(n.bind(n,78858))},78858:function(e,l,n){"use strict";n.r(l);var t=n(57437),s=n(49104),i=n(39760);l.default=()=>{let{accessToken:e}=(0,i.Z)();return(0,t.jsx)(s.Z,{accessToken:e})}},39760:function(e,l,n){"use strict";var t=n(2265),s=n(99376),i=n(14474),r=n(3914),a=n(19250);l.Z=()=>{var e,l,n,d,o,u;let c=(0,s.useRouter)(),m="undefined"!=typeof document?(0,r.e)("token"):null;(0,t.useEffect)(()=>{m||c.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[m,c]);let h=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,i.o)(m)}catch(e){return(0,r.b)(),c.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[m,c]);return{token:m,accessToken:null!==(e=null==h?void 0:h.key)&&void 0!==e?e:null,userId:null!==(l=null==h?void 0:h.user_id)&&void 0!==l?l:null,userEmail:null!==(n=null==h?void 0:h.user_email)&&void 0!==n?n:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(d=null==h?void 0:h.user_role)&&void 0!==d?d:null),premiumUser:null!==(o=null==h?void 0:h.premium_user)&&void 0!==o?o:null,disabledPersonalKeyCreation:null!==(u=null==h?void 0:h.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==h?void 0:h.login_method)==="username_password"}}},49104:function(e,l,n){"use strict";n.d(l,{Z:function(){return S}});var t=n(57437),s=n(53410),i=n(74998),r=n(78489),a=n(12514),d=n(47323),o=n(12485),u=n(18135),c=n(35242),m=n(29706),h=n(77991),x=n(21626),p=n(97214),g=n(28241),j=n(58834),b=n(69552),Z=n(71876),f=n(84264),y=n(2265),_=n(17906),v=n(21609),k=n(9114),w=n(19250),B=n(87452),C=n(88829),I=n(72208),T=n(49566),D=n(10032),O=n(22116),A=n(19015),N=n(37592),E=n(5545),M=e=>{let{isModalVisible:l,accessToken:n,setIsModalVisible:s,setBudgetList:i}=e,[r]=D.Z.useForm(),a=async e=>{if(null!=n&&void 0!=n)try{k.Z.info("Making API Call");let l=await (0,w.budgetCreateCall)(n,e);console.log("key create Response:",l),i(e=>e?[...e,l]:[l]),k.Z.success("Budget Created"),r.resetFields()}catch(e){console.error("Error creating the key:",e),k.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,t.jsx)(O.Z,{title:"Create Budget",visible:l,width:800,footer:null,onOk:()=>{s(!1),r.resetFields()},onCancel:()=>{s(!1),r.resetFields()},children:(0,t.jsxs)(D.Z,{form:r,onFinish:a,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,t.jsx)(T.Z,{placeholder:""})}),(0,t.jsx)(D.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsxs)(B.Z,{className:"mt-20 mb-8",children:[(0,t.jsx)(I.Z,{children:(0,t.jsx)("b",{children:"Optional Settings"})}),(0,t.jsxs)(C.Z,{children:[(0,t.jsx)(D.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(A.Z,{step:.01,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(N.default,{defaultValue:null,placeholder:"n/a",children:[(0,t.jsx)(N.default.Option,{value:"24h",children:"daily"}),(0,t.jsx)(N.default.Option,{value:"7d",children:"weekly"}),(0,t.jsx)(N.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,t.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,t.jsx)(E.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},P=e=>{let{isModalVisible:l,accessToken:n,setIsModalVisible:s,setBudgetList:i,existingBudget:r,handleUpdateCall:a}=e;console.log("existingBudget",r);let[d]=D.Z.useForm();(0,y.useEffect)(()=>{d.setFieldsValue(r)},[r,d]);let o=async e=>{if(null!=n&&void 0!=n)try{k.Z.info("Making API Call"),s(!0);let l=await (0,w.budgetUpdateCall)(n,e);i(e=>e?[...e,l]:[l]),k.Z.success("Budget Updated"),d.resetFields(),a()}catch(e){console.error("Error creating the key:",e),k.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,t.jsx)(O.Z,{title:"Edit Budget",visible:l,width:800,footer:null,onOk:()=>{s(!1),d.resetFields()},onCancel:()=>{s(!1),d.resetFields()},children:(0,t.jsxs)(D.Z,{form:d,onFinish:o,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:r,children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,t.jsx)(T.Z,{placeholder:""})}),(0,t.jsx)(D.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsxs)(B.Z,{className:"mt-20 mb-8",children:[(0,t.jsx)(I.Z,{children:(0,t.jsx)("b",{children:"Optional Settings"})}),(0,t.jsxs)(C.Z,{children:[(0,t.jsx)(D.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(A.Z,{step:.01,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(N.default,{defaultValue:null,placeholder:"n/a",children:[(0,t.jsx)(N.default.Option,{value:"24h",children:"daily"}),(0,t.jsx)(N.default.Option,{value:"7d",children:"weekly"}),(0,t.jsx)(N.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,t.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,t.jsx)(E.ZP,{htmlType:"submit",children:"Save"})})]})})},S=e=>{let{accessToken:l}=e,[n,B]=(0,y.useState)(!1),[C,I]=(0,y.useState)(!1),[T,D]=(0,y.useState)(null),[O,A]=(0,y.useState)([]),[N,E]=(0,y.useState)(!1),[S,F]=(0,y.useState)(!1);(0,y.useEffect)(()=>{l&&(0,w.getBudgetList)(l).then(e=>{A(e)})},[l]);let U=async e=>{null!=l&&(D(e),I(!0))},R=e=>{D(e),F(!0)},V=async()=>{if(T&&null!=l){E(!0);try{await (0,w.budgetDeleteCall)(l,T.budget_id),k.Z.success("Budget deleted."),await H()}catch(e){console.error("Error deleting budget:",e),"function"==typeof k.Z.fromBackend?k.Z.fromBackend("Failed to delete budget"):k.Z.info("Failed to delete budget")}finally{E(!1),F(!1),D(null)}}},H=async()=>{null!=l&&(0,w.getBudgetList)(l).then(e=>{A(e)})};return(0,t.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,t.jsx)(r.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>B(!0),children:"+ Create Budget"}),(0,t.jsx)(M,{accessToken:l,isModalVisible:n,setIsModalVisible:B,setBudgetList:A}),T&&(0,t.jsx)(P,{accessToken:l,isModalVisible:C,setIsModalVisible:I,setBudgetList:A,existingBudget:T,handleUpdateCall:H}),(0,t.jsxs)(a.Z,{children:[(0,t.jsx)(f.Z,{children:"Create a budget to assign to customers."}),(0,t.jsxs)(x.Z,{children:[(0,t.jsx)(j.Z,{children:(0,t.jsxs)(Z.Z,{children:[(0,t.jsx)(b.Z,{children:"Budget ID"}),(0,t.jsx)(b.Z,{children:"Max Budget"}),(0,t.jsx)(b.Z,{children:"TPM"}),(0,t.jsx)(b.Z,{children:"RPM"})]})}),(0,t.jsx)(p.Z,{children:O.slice().sort((e,l)=>new Date(l.updated_at).getTime()-new Date(e.updated_at).getTime()).map((e,l)=>(0,t.jsxs)(Z.Z,{children:[(0,t.jsx)(g.Z,{children:e.budget_id}),(0,t.jsx)(g.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,t.jsx)(g.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,t.jsx)(g.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,t.jsx)(d.Z,{icon:s.Z,size:"sm",className:"cursor-pointer",onClick:()=>U(e)}),(0,t.jsx)(d.Z,{icon:i.Z,size:"sm",className:"cursor-pointer hover:text-red-500",onClick:()=>R(e)})]},l))})]})]}),(0,t.jsx)(v.Z,{isOpen:S,title:"Delete Budget?",message:"Are you sure you want to delete this budget? This action cannot be undone.",resourceInformationTitle:"Budget Information",resourceInformation:[{label:"Budget ID",value:null==T?void 0:T.budget_id,code:!0},{label:"Max Budget",value:null==T?void 0:T.max_budget},{label:"TPM",value:null==T?void 0:T.tpm_limit},{label:"RPM",value:null==T?void 0:T.rpm_limit}],onCancel:()=>{F(!1)},onOk:V,confirmLoading:N}),(0,t.jsxs)("div",{className:"mt-5",children:[(0,t.jsx)(f.Z,{className:"text-base",children:"How to use budget id"}),(0,t.jsxs)(u.Z,{children:[(0,t.jsxs)(c.Z,{children:[(0,t.jsx)(o.Z,{children:"Assign Budget to Customer"}),(0,t.jsx)(o.Z,{children:"Test it (Curl)"}),(0,t.jsx)(o.Z,{children:"Test it (OpenAI SDK)"})]}),(0,t.jsxs)(h.Z,{children:[(0,t.jsx)(m.Z,{children:(0,t.jsx)(_.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,t.jsx)(m.Z,{children:(0,t.jsx)(_.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,t.jsx)(m.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})}},21609:function(e,l,n){"use strict";n.d(l,{Z:function(){return u}});var t=n(57437),s=n(57840),i=n(22116),r=n(51653),a=n(76188),d=n(4260),o=n(2265);function u(e){let{isOpen:l,title:n,alertMessage:u,message:c,resourceInformationTitle:m,resourceInformation:h,onCancel:x,onOk:p,confirmLoading:g,requiredConfirmation:j}=e,{Title:b,Text:Z}=s.default,[f,y]=(0,o.useState)("");return(0,o.useEffect)(()=>{l&&y("")},[l]),(0,t.jsx)(i.Z,{title:n,open:l,onOk:p,onCancel:x,confirmLoading:g,okText:g?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!j&&f!==j||g},cancelButtonProps:{disabled:g},children:(0,t.jsxs)("div",{className:"space-y-4",children:[u&&(0,t.jsx)(r.Z,{message:u,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(b,{level:5,className:"mb-3 text-gray-900",children:m}),(0,t.jsx)(a.Z,{column:1,size:"small",children:h&&h.map(e=>{let{label:l,value:n,...s}=e;return(0,t.jsx)(a.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:l}),children:(0,t.jsx)(Z,{...s,children:null!=n?n:"-"})},l)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(Z,{children:c})}),j&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(Z,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(Z,{children:"Type "}),(0,t.jsx)(Z,{strong:!0,type:"danger",children:j}),(0,t.jsx)(Z,{children:" to confirm deletion:"})]}),(0,t.jsx)(d.default,{value:f,onChange:e=>y(e.target.value),placeholder:j,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,4546,7906,1602,8049,2971,2117,1744],function(){return e(e.s=54501)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5649],{50373:function(e,l,n){Promise.resolve().then(n.bind(n,78858))},78858:function(e,l,n){"use strict";n.r(l);var t=n(57437),s=n(49104),i=n(39760);l.default=()=>{let{accessToken:e}=(0,i.Z)();return(0,t.jsx)(s.Z,{accessToken:e})}},39760:function(e,l,n){"use strict";var t=n(2265),s=n(99376),i=n(14474),r=n(3914),a=n(19250);l.Z=()=>{var e,l,n,d,o,u;let c=(0,s.useRouter)(),m="undefined"!=typeof document?(0,r.e)("token"):null;(0,t.useEffect)(()=>{m||c.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[m,c]);let h=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,i.o)(m)}catch(e){return(0,r.b)(),c.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[m,c]);return{token:m,accessToken:null!==(e=null==h?void 0:h.key)&&void 0!==e?e:null,userId:null!==(l=null==h?void 0:h.user_id)&&void 0!==l?l:null,userEmail:null!==(n=null==h?void 0:h.user_email)&&void 0!==n?n:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(d=null==h?void 0:h.user_role)&&void 0!==d?d:null),premiumUser:null!==(o=null==h?void 0:h.premium_user)&&void 0!==o?o:null,disabledPersonalKeyCreation:null!==(u=null==h?void 0:h.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==h?void 0:h.login_method)==="username_password"}}},49104:function(e,l,n){"use strict";n.d(l,{Z:function(){return S}});var t=n(57437),s=n(53410),i=n(74998),r=n(78489),a=n(12514),d=n(47323),o=n(12485),u=n(18135),c=n(35242),m=n(29706),h=n(77991),x=n(21626),p=n(97214),g=n(28241),j=n(58834),b=n(69552),Z=n(71876),f=n(84264),y=n(2265),_=n(17906),v=n(21609),k=n(9114),w=n(19250),B=n(87452),C=n(88829),I=n(72208),T=n(49566),D=n(10032),O=n(22116),A=n(19015),N=n(37592),E=n(5545),M=e=>{let{isModalVisible:l,accessToken:n,setIsModalVisible:s,setBudgetList:i}=e,[r]=D.Z.useForm(),a=async e=>{if(null!=n&&void 0!=n)try{k.Z.info("Making API Call");let l=await (0,w.budgetCreateCall)(n,e);console.log("key create Response:",l),i(e=>e?[...e,l]:[l]),k.Z.success("Budget Created"),r.resetFields()}catch(e){console.error("Error creating the key:",e),k.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,t.jsx)(O.Z,{title:"Create Budget",visible:l,width:800,footer:null,onOk:()=>{s(!1),r.resetFields()},onCancel:()=>{s(!1),r.resetFields()},children:(0,t.jsxs)(D.Z,{form:r,onFinish:a,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,t.jsx)(T.Z,{placeholder:""})}),(0,t.jsx)(D.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsxs)(B.Z,{className:"mt-20 mb-8",children:[(0,t.jsx)(I.Z,{children:(0,t.jsx)("b",{children:"Optional Settings"})}),(0,t.jsxs)(C.Z,{children:[(0,t.jsx)(D.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(A.Z,{step:.01,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(N.default,{defaultValue:null,placeholder:"n/a",children:[(0,t.jsx)(N.default.Option,{value:"24h",children:"daily"}),(0,t.jsx)(N.default.Option,{value:"7d",children:"weekly"}),(0,t.jsx)(N.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,t.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,t.jsx)(E.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},P=e=>{let{isModalVisible:l,accessToken:n,setIsModalVisible:s,setBudgetList:i,existingBudget:r,handleUpdateCall:a}=e;console.log("existingBudget",r);let[d]=D.Z.useForm();(0,y.useEffect)(()=>{d.setFieldsValue(r)},[r,d]);let o=async e=>{if(null!=n&&void 0!=n)try{k.Z.info("Making API Call"),s(!0);let l=await (0,w.budgetUpdateCall)(n,e);i(e=>e?[...e,l]:[l]),k.Z.success("Budget Updated"),d.resetFields(),a()}catch(e){console.error("Error creating the key:",e),k.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,t.jsx)(O.Z,{title:"Edit Budget",visible:l,width:800,footer:null,onOk:()=>{s(!1),d.resetFields()},onCancel:()=>{s(!1),d.resetFields()},children:(0,t.jsxs)(D.Z,{form:d,onFinish:o,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:r,children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,t.jsx)(T.Z,{placeholder:""})}),(0,t.jsx)(D.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,t.jsx)(A.Z,{step:1,precision:2,width:200})}),(0,t.jsxs)(B.Z,{className:"mt-20 mb-8",children:[(0,t.jsx)(I.Z,{children:(0,t.jsx)("b",{children:"Optional Settings"})}),(0,t.jsxs)(C.Z,{children:[(0,t.jsx)(D.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,t.jsx)(A.Z,{step:.01,precision:2,width:200})}),(0,t.jsx)(D.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,t.jsxs)(N.default,{defaultValue:null,placeholder:"n/a",children:[(0,t.jsx)(N.default.Option,{value:"24h",children:"daily"}),(0,t.jsx)(N.default.Option,{value:"7d",children:"weekly"}),(0,t.jsx)(N.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,t.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,t.jsx)(E.ZP,{htmlType:"submit",children:"Save"})})]})})},S=e=>{let{accessToken:l}=e,[n,B]=(0,y.useState)(!1),[C,I]=(0,y.useState)(!1),[T,D]=(0,y.useState)(null),[O,A]=(0,y.useState)([]),[N,E]=(0,y.useState)(!1),[S,F]=(0,y.useState)(!1);(0,y.useEffect)(()=>{l&&(0,w.getBudgetList)(l).then(e=>{A(e)})},[l]);let U=async e=>{null!=l&&(D(e),I(!0))},R=e=>{D(e),F(!0)},V=async()=>{if(T&&null!=l){E(!0);try{await (0,w.budgetDeleteCall)(l,T.budget_id),k.Z.success("Budget deleted."),await H()}catch(e){console.error("Error deleting budget:",e),"function"==typeof k.Z.fromBackend?k.Z.fromBackend("Failed to delete budget"):k.Z.info("Failed to delete budget")}finally{E(!1),F(!1),D(null)}}},H=async()=>{null!=l&&(0,w.getBudgetList)(l).then(e=>{A(e)})};return(0,t.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,t.jsx)(r.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>B(!0),children:"+ Create Budget"}),(0,t.jsx)(M,{accessToken:l,isModalVisible:n,setIsModalVisible:B,setBudgetList:A}),T&&(0,t.jsx)(P,{accessToken:l,isModalVisible:C,setIsModalVisible:I,setBudgetList:A,existingBudget:T,handleUpdateCall:H}),(0,t.jsxs)(a.Z,{children:[(0,t.jsx)(f.Z,{children:"Create a budget to assign to customers."}),(0,t.jsxs)(x.Z,{children:[(0,t.jsx)(j.Z,{children:(0,t.jsxs)(Z.Z,{children:[(0,t.jsx)(b.Z,{children:"Budget ID"}),(0,t.jsx)(b.Z,{children:"Max Budget"}),(0,t.jsx)(b.Z,{children:"TPM"}),(0,t.jsx)(b.Z,{children:"RPM"})]})}),(0,t.jsx)(p.Z,{children:O.slice().sort((e,l)=>new Date(l.updated_at).getTime()-new Date(e.updated_at).getTime()).map((e,l)=>(0,t.jsxs)(Z.Z,{children:[(0,t.jsx)(g.Z,{children:e.budget_id}),(0,t.jsx)(g.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,t.jsx)(g.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,t.jsx)(g.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,t.jsx)(d.Z,{icon:s.Z,size:"sm",className:"cursor-pointer",onClick:()=>U(e)}),(0,t.jsx)(d.Z,{icon:i.Z,size:"sm",className:"cursor-pointer hover:text-red-500",onClick:()=>R(e)})]},l))})]})]}),(0,t.jsx)(v.Z,{isOpen:S,title:"Delete Budget?",message:"Are you sure you want to delete this budget? This action cannot be undone.",resourceInformationTitle:"Budget Information",resourceInformation:[{label:"Budget ID",value:null==T?void 0:T.budget_id,code:!0},{label:"Max Budget",value:null==T?void 0:T.max_budget},{label:"TPM",value:null==T?void 0:T.tpm_limit},{label:"RPM",value:null==T?void 0:T.rpm_limit}],onCancel:()=>{F(!1)},onOk:V,confirmLoading:N}),(0,t.jsxs)("div",{className:"mt-5",children:[(0,t.jsx)(f.Z,{className:"text-base",children:"How to use budget id"}),(0,t.jsxs)(u.Z,{children:[(0,t.jsxs)(c.Z,{children:[(0,t.jsx)(o.Z,{children:"Assign Budget to Customer"}),(0,t.jsx)(o.Z,{children:"Test it (Curl)"}),(0,t.jsx)(o.Z,{children:"Test it (OpenAI SDK)"})]}),(0,t.jsxs)(h.Z,{children:[(0,t.jsx)(m.Z,{children:(0,t.jsx)(_.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,t.jsx)(m.Z,{children:(0,t.jsx)(_.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,t.jsx)(m.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})}},21609:function(e,l,n){"use strict";n.d(l,{Z:function(){return u}});var t=n(57437),s=n(57840),i=n(22116),r=n(51653),a=n(76188),d=n(4260),o=n(2265);function u(e){let{isOpen:l,title:n,alertMessage:u,message:c,resourceInformationTitle:m,resourceInformation:h,onCancel:x,onOk:p,confirmLoading:g,requiredConfirmation:j}=e,{Title:b,Text:Z}=s.default,[f,y]=(0,o.useState)("");return(0,o.useEffect)(()=>{l&&y("")},[l]),(0,t.jsx)(i.Z,{title:n,open:l,onOk:p,onCancel:x,confirmLoading:g,okText:g?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!j&&f!==j||g},cancelButtonProps:{disabled:g},children:(0,t.jsxs)("div",{className:"space-y-4",children:[u&&(0,t.jsx)(r.Z,{message:u,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(b,{level:5,className:"mb-3 text-gray-900",children:m}),(0,t.jsx)(a.Z,{column:1,size:"small",children:h&&h.map(e=>{let{label:l,value:n,...s}=e;return(0,t.jsx)(a.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:l}),children:(0,t.jsx)(Z,{...s,children:null!=n?n:"-"})},l)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(Z,{children:c})}),j&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(Z,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(Z,{children:"Type "}),(0,t.jsx)(Z,{strong:!0,type:"danger",children:j}),(0,t.jsx)(Z,{children:" to confirm deletion:"})]}),(0,t.jsx)(d.default,{value:f,onChange:e=>y(e.target.value),placeholder:j,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,4546,7906,1602,8049,2971,2117,1744],function(){return e(e.s=50373)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/caching/page-af292c7e3fe771c1.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/caching/page-ca262d771187d2cb.js similarity index 97% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/caching/page-af292c7e3fe771c1.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/caching/page-ca262d771187d2cb.js index a1f7bc36cd..0052ce95e5 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/caching/page-af292c7e3fe771c1.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/caching/page-ca262d771187d2cb.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1979],{90286:function(e,n,r){Promise.resolve().then(r.bind(r,37492))},25512:function(e,n,r){"use strict";r.d(n,{P:function(){return t.Z},Q:function(){return l.Z}});var t=r(27281),l=r(57365)},37492:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(66600),o=r(39760);n.default=()=>{let{token:e,accessToken:n,userRole:r,userId:a,premiumUser:i}=(0,o.Z)();return(0,t.jsx)(l.Z,{accessToken:n,token:e,userRole:r,userID:a,premiumUser:i})}},39760:function(e,n,r){"use strict";var t=r(2265),l=r(99376),o=r(14474),a=r(3914),i=r(19250);n.Z=()=>{var e,n,r,u,s,c;let d=(0,l.useRouter)(),m="undefined"!=typeof document?(0,a.e)("token"):null;(0,t.useEffect)(()=>{m||d.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let f=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,o.o)(m)}catch(e){return(0,a.b)(),d.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(n=null==f?void 0:f.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==f?void 0:f.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(u=null==f?void 0:f.user_role)&&void 0!==u?u:null),premiumUser:null!==(s=null==f?void 0:f.premium_user)&&void 0!==s?s:null,disabledPersonalKeyCreation:null!==(c=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return l}});var t=r(19250);let l=async e=>{try{let n=await (0,t.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return o}});var t=r(57437);r(2265);var l=r(30150),o=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:o="Enter a numerical value",min:a,max:i,onChange:u,...s}=e;return(0,t.jsx)(l.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:o,min:a,max:i,onChange:u,...s})}},39789:function(e,n,r){"use strict";r.d(n,{Z:function(){return i}});var t=r(57437),l=r(2265),o=r(88237),a=r(84264),i=e=>{let{value:n,onValueChange:r,label:i="Select Time Range",className:u="",showTimeRange:s=!0}=e,[c,d]=(0,l.useState)(!1),m=(0,l.useRef)(null),f=(0,l.useCallback)(e=>{d(!0),setTimeout(()=>d(!1),1500),r(e),requestIdleCallback(()=>{if(e.from){let n;let t={...e},l=new Date(e.from);n=new Date(e.to?e.to:e.from),l.toDateString(),n.toDateString(),l.setHours(0,0,0,0),n.setHours(23,59,59,999),t.from=l,t.to=n,r(t)}},{timeout:100})},[r]),h=(0,l.useCallback)((e,n)=>{if(!e||!n)return"";let r=e=>e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});if(e.toDateString()!==n.toDateString())return"".concat(r(e)," - ").concat(r(n));{let r=e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),t=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),l=n.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});return"".concat(r,": ").concat(t," - ").concat(l)}},[]);return(0,t.jsxs)("div",{className:u,children:[i&&(0,t.jsx)(a.Z,{className:"mb-2",children:i}),(0,t.jsxs)("div",{className:"relative w-fit",children:[(0,t.jsx)("div",{ref:m,children:(0,t.jsx)(o.Z,{enableSelect:!0,value:n,onValueChange:f,placeholder:"Select date range",enableClear:!1,style:{zIndex:100}})}),c&&(0,t.jsx)("div",{className:"absolute top-1/2 animate-pulse",style:{left:"calc(100% + 8px)",transform:"translateY(-50%)",zIndex:110},children:(0,t.jsxs)("div",{className:"flex items-center gap-1 text-green-600 text-sm font-medium bg-white px-2 py-1 rounded-full border border-green-200 shadow-sm whitespace-nowrap",children:[(0,t.jsx)("div",{className:"w-3 h-3 bg-green-500 text-white rounded-full flex items-center justify-center text-xs",children:"✓"}),(0,t.jsx)("span",{className:"text-xs",children:"Selected"})]})})]}),s&&n.from&&n.to&&(0,t.jsx)(a.Z,{className:"mt-2 text-xs text-gray-500",children:h(n.from,n.to)})]})}}},function(e){e.O(0,[1047,9028,9409,4865,1442,2926,5333,7996,9611,8237,2377,8049,6600,2971,2117,1744],function(){return e(e.s=90286)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1979],{15143:function(e,n,r){Promise.resolve().then(r.bind(r,37492))},25512:function(e,n,r){"use strict";r.d(n,{P:function(){return t.Z},Q:function(){return l.Z}});var t=r(27281),l=r(57365)},37492:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(66600),o=r(39760);n.default=()=>{let{token:e,accessToken:n,userRole:r,userId:a,premiumUser:i}=(0,o.Z)();return(0,t.jsx)(l.Z,{accessToken:n,token:e,userRole:r,userID:a,premiumUser:i})}},39760:function(e,n,r){"use strict";var t=r(2265),l=r(99376),o=r(14474),a=r(3914),i=r(19250);n.Z=()=>{var e,n,r,u,s,c;let d=(0,l.useRouter)(),m="undefined"!=typeof document?(0,a.e)("token"):null;(0,t.useEffect)(()=>{m||d.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let f=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,o.o)(m)}catch(e){return(0,a.b)(),d.replace("".concat((0,i.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(n=null==f?void 0:f.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==f?void 0:f.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(u=null==f?void 0:f.user_role)&&void 0!==u?u:null),premiumUser:null!==(s=null==f?void 0:f.premium_user)&&void 0!==s?s:null,disabledPersonalKeyCreation:null!==(c=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return l}});var t=r(19250);let l=async e=>{try{let n=await (0,t.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return o}});var t=r(57437);r(2265);var l=r(30150),o=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:o="Enter a numerical value",min:a,max:i,onChange:u,...s}=e;return(0,t.jsx)(l.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:o,min:a,max:i,onChange:u,...s})}},39789:function(e,n,r){"use strict";r.d(n,{Z:function(){return i}});var t=r(57437),l=r(2265),o=r(88237),a=r(84264),i=e=>{let{value:n,onValueChange:r,label:i="Select Time Range",className:u="",showTimeRange:s=!0}=e,[c,d]=(0,l.useState)(!1),m=(0,l.useRef)(null),f=(0,l.useCallback)(e=>{d(!0),setTimeout(()=>d(!1),1500),r(e),requestIdleCallback(()=>{if(e.from){let n;let t={...e},l=new Date(e.from);n=new Date(e.to?e.to:e.from),l.toDateString(),n.toDateString(),l.setHours(0,0,0,0),n.setHours(23,59,59,999),t.from=l,t.to=n,r(t)}},{timeout:100})},[r]),h=(0,l.useCallback)((e,n)=>{if(!e||!n)return"";let r=e=>e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});if(e.toDateString()!==n.toDateString())return"".concat(r(e)," - ").concat(r(n));{let r=e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),t=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),l=n.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});return"".concat(r,": ").concat(t," - ").concat(l)}},[]);return(0,t.jsxs)("div",{className:u,children:[i&&(0,t.jsx)(a.Z,{className:"mb-2",children:i}),(0,t.jsxs)("div",{className:"relative w-fit",children:[(0,t.jsx)("div",{ref:m,children:(0,t.jsx)(o.Z,{enableSelect:!0,value:n,onValueChange:f,placeholder:"Select date range",enableClear:!1,style:{zIndex:100}})}),c&&(0,t.jsx)("div",{className:"absolute top-1/2 animate-pulse",style:{left:"calc(100% + 8px)",transform:"translateY(-50%)",zIndex:110},children:(0,t.jsxs)("div",{className:"flex items-center gap-1 text-green-600 text-sm font-medium bg-white px-2 py-1 rounded-full border border-green-200 shadow-sm whitespace-nowrap",children:[(0,t.jsx)("div",{className:"w-3 h-3 bg-green-500 text-white rounded-full flex items-center justify-center text-xs",children:"✓"}),(0,t.jsx)("span",{className:"text-xs",children:"Selected"})]})})]}),s&&n.from&&n.to&&(0,t.jsx)(a.Z,{className:"mt-2 text-xs text-gray-500",children:h(n.from,n.to)})]})}}},function(e){e.O(0,[1047,9028,9409,4865,1442,2926,5333,7996,9611,8237,2377,8049,6600,2971,2117,1744],function(){return e(e.s=15143)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/old-usage/page-095a440396c1287c.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/old-usage/page-095a440396c1287c.js deleted file mode 100644 index 0de8e7aff5..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/old-usage/page-095a440396c1287c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[813],{59898:function(e,t,r){Promise.resolve().then(r.bind(r,42954))},69993:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var a=r(1119),n=r(2265),l={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},o=r(55015),s=n.forwardRef(function(e,t){return n.createElement(o.Z,(0,a.Z)({},e,{ref:t,icon:l}))})},47323:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var a=r(5853),n=r(2265),l=r(47187),o=r(7084),s=r(13241),d=r(1153),c=r(26898);let i={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},u={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},m={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},x=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,d.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,d.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,d.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,d.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,d.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,d.bM)(t,c.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,s.q)((0,d.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,d.bM)(t,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,d.bM)(t,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,d.bM)(t,c.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,s.q)((0,d.bM)(t,c.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},g=(0,d.fn)("Icon"),h=n.forwardRef((e,t)=>{let{icon:r,variant:c="simple",tooltip:h,size:b=o.u8.SM,color:p,className:f}=e,v=(0,a._T)(e,["icon","variant","tooltip","size","color","className"]),k=x(c,p),{tooltipProps:w,getReferenceProps:y}=(0,l.l)();return n.createElement("span",Object.assign({ref:(0,d.lq)([t,w.refs.setReference]),className:(0,s.q)(g("root"),"inline-flex shrink-0 items-center justify-center",k.bgColor,k.textColor,k.borderColor,k.ringColor,m[c].rounded,m[c].border,m[c].shadow,m[c].ring,i[b].paddingX,i[b].paddingY,f)},y,v),n.createElement(l.Z,Object.assign({text:h},w)),n.createElement(r,{className:(0,s.q)(g("icon"),"shrink-0",u[b].height,u[b].width)}))});h.displayName="Icon"},92414:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var a=r(5853),n=r(2265);r(42698),r(64016),r(8710);var l=r(33232),o=r(44140),s=r(58747);let d=e=>{var t=(0,a._T)(e,[]);return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),n.createElement("path",{d:"M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z"}))};var c=r(4537);let i=e=>{var t=(0,a._T)(e,[]);return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t),n.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))};var u=r(13241),m=r(1153),x=r(96398),g=r(51975),h=r(85238);let b=(0,m.fn)("MultiSelect"),p=n.forwardRef((e,t)=>{let{defaultValue:r=[],value:m,onValueChange:p,placeholder:f="Select...",placeholderSearch:v="Search",disabled:k=!1,icon:w,children:y,className:N,required:j,name:C,error:E=!1,errorMessage:S,id:_}=e,q=(0,a._T)(e,["defaultValue","value","onValueChange","placeholder","placeholderSearch","disabled","icon","children","className","required","name","error","errorMessage","id"]),M=(0,n.useRef)(null),[Z,V]=(0,o.Z)(r,m),{reactElementChildren:D,optionsAvailable:I}=(0,n.useMemo)(()=>{let e=n.Children.toArray(y).filter(n.isValidElement);return{reactElementChildren:e,optionsAvailable:(0,x.n0)("",e)}},[y]),[T,R]=(0,n.useState)(""),L=(null!=Z?Z:[]).length>0,K=(0,n.useMemo)(()=>T?(0,x.n0)(T,D):I,[T,D,I]),z=()=>{R("")};return n.createElement("div",{className:(0,u.q)("w-full min-w-[10rem] text-tremor-default",N)},n.createElement("div",{className:"relative"},n.createElement("select",{title:"multi-select-hidden",required:j,className:(0,u.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:Z,onChange:e=>{e.preventDefault()},name:C,disabled:k,multiple:!0,id:_,onFocus:()=>{let e=M.current;e&&e.focus()}},n.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},f),K.map(e=>{let t=e.props.value,r=e.props.children;return n.createElement("option",{className:"hidden",key:t,value:t},r)})),n.createElement(g.Ri,Object.assign({as:"div",ref:t,defaultValue:Z,value:Z,onChange:e=>{null==p||p(e),V(e)},disabled:k,id:_,multiple:!0},q),e=>{let{value:t}=e;return n.createElement(n.Fragment,null,n.createElement(g.Y4,{className:(0,u.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-1.5","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",w?"pl-11 -ml-0.5":"pl-3",(0,x.um)(t.length>0,k,E)),ref:M},w&&n.createElement("span",{className:(0,u.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},n.createElement(w,{className:(0,u.q)(b("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),n.createElement("div",{className:"h-6 flex items-center"},t.length>0?n.createElement("div",{className:"flex flex-nowrap overflow-x-scroll [&::-webkit-scrollbar]:hidden [scrollbar-width:none] gap-x-1 mr-5 -ml-1.5 relative"},I.filter(e=>t.includes(e.props.value)).map((e,r)=>{var a;return n.createElement("div",{key:r,className:(0,u.q)("max-w-[100px] lg:max-w-[200px] flex justify-center items-center pl-2 pr-1.5 py-1 font-medium","rounded-tremor-small","bg-tremor-background-muted dark:bg-dark-tremor-background-muted","bg-tremor-background-subtle dark:bg-dark-tremor-background-subtle","text-tremor-content-default dark:text-dark-tremor-content-default","text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis")},n.createElement("div",{className:"text-xs truncate "},null!==(a=e.props.children)&&void 0!==a?a:e.props.value),n.createElement("div",{onClick:r=>{r.preventDefault();let a=t.filter(t=>t!==e.props.value);null==p||p(a),V(a)}},n.createElement(i,{className:(0,u.q)(b("clearIconItem"),"cursor-pointer rounded-tremor-full w-3.5 h-3.5 ml-2","text-tremor-content-subtle hover:text-tremor-content","dark:text-dark-tremor-content-subtle dark:hover:text-tremor-content")})))})):n.createElement("span",null,f)),n.createElement("span",{className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-2.5")},n.createElement(s.Z,{className:(0,u.q)(b("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),L&&!k?n.createElement("button",{type:"button",className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),V([]),null==p||p([])}},n.createElement(c.Z,{className:(0,u.q)(b("clearIconAllItems"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,n.createElement(h.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},n.createElement(g.O_,{anchor:"bottom start",className:(0,u.q)("z-10 divide-y w-[var(--button-width)] overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},n.createElement("div",{className:(0,u.q)("flex items-center w-full px-2.5","bg-tremor-background-muted","dark:bg-dark-tremor-background-muted")},n.createElement("span",null,n.createElement(d,{className:(0,u.q)("flex-none w-4 h-4 mr-2","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),n.createElement("input",{name:"search",type:"input",autoComplete:"off",placeholder:v,className:(0,u.q)("w-full focus:outline-none focus:ring-none bg-transparent text-tremor-default py-2","text-tremor-content-emphasis","dark:text-dark-tremor-content-subtle"),onKeyDown:e=>{"Space"===e.code&&""!==e.target.value&&e.stopPropagation()},onChange:e=>R(e.target.value),value:T})),n.createElement(l.Z.Provider,Object.assign({},{onBlur:{handleResetSearch:z}},{value:{selectedValue:t}}),K))))})),E&&S?n.createElement("p",{className:(0,u.q)("errorMessage","text-sm text-rose-500 mt-1")},S):null)});p.displayName="MultiSelect"},46030:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var a=r(5853);r(42698),r(64016),r(8710);var n=r(33232),l=r(2265),o=r(13241),s=r(1153),d=r(51975);let c=(0,s.fn)("MultiSelectItem"),i=l.forwardRef((e,t)=>{let{value:r,className:i,children:u}=e,m=(0,a._T)(e,["value","className","children"]),{selectedValue:x}=(0,l.useContext)(n.Z),g=(0,s.NZ)(r,x);return l.createElement(d.wt,Object.assign({className:(0,o.q)(c("root"),"flex justify-start items-center cursor-default text-tremor-default p-2.5","data-[focus]:bg-tremor-background-muted data-[focus]:text-tremor-content-strong data-[select]ed:text-tremor-content-strong text-tremor-content-emphasis","dark:data-[focus]:bg-dark-tremor-background-muted dark:data-[focus]:text-dark-tremor-content-strong dark:data-[select]ed:text-dark-tremor-content-strong dark:data-[select]ed:bg-dark-tremor-background-muted dark:text-dark-tremor-content-emphasis",i),ref:t,key:r,value:r},m),l.createElement("input",{type:"checkbox",className:(0,o.q)(c("checkbox"),"flex-none focus:ring-none focus:outline-none cursor-pointer mr-2.5","accent-tremor-brand","dark:accent-dark-tremor-brand"),checked:g,readOnly:!0}),l.createElement("span",{className:"whitespace-nowrap truncate"},null!=u?u:r))});i.displayName="MultiSelectItem"},96889:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var a=r(5853),n=r(2265),l=r(26898),o=r(13241),s=r(1153);let d=(0,s.fn)("BarList");function c(e,t){let{data:r=[],color:c,valueFormatter:i=s.Cj,showAnimation:u=!1,onValueChange:m,sortOrder:x="descending",className:g}=e,h=(0,a._T)(e,["data","color","valueFormatter","showAnimation","onValueChange","sortOrder","className"]),b=m?"button":"div",p=n.useMemo(()=>"none"===x?r:[...r].sort((e,t)=>"ascending"===x?e.value-t.value:t.value-e.value),[r,x]),f=n.useMemo(()=>{let e=Math.max(...p.map(e=>e.value),0);return p.map(t=>0===t.value?0:Math.max(t.value/e*100,2))},[p]);return n.createElement("div",Object.assign({ref:t,className:(0,o.q)(d("root"),"flex justify-between space-x-6",g),"aria-sort":x},h),n.createElement("div",{className:(0,o.q)(d("bars"),"relative w-full space-y-1.5")},p.map((e,t)=>{var r,a,i;let x=e.icon;return n.createElement(b,{key:null!==(r=e.key)&&void 0!==r?r:t,onClick:()=>{null==m||m(e)},className:(0,o.q)(d("bar"),"group w-full flex items-center rounded-tremor-small",m?["cursor-pointer","hover:bg-tremor-background-muted dark:hover:bg-dark-tremor-background-subtle/40"]:"")},n.createElement("div",{className:(0,o.q)("flex items-center rounded transition-all bg-opacity-40","h-8",e.color||c?[(0,s.bM)(null!==(a=e.color)&&void 0!==a?a:c,l.K.background).bgColor,m?"group-hover:bg-opacity-30":""]:"bg-tremor-brand-subtle dark:bg-dark-tremor-brand-subtle/60",!m||e.color||c?"":"group-hover:bg-tremor-brand-subtle/30 group-hover:dark:bg-dark-tremor-brand-subtle/70",t===p.length-1?"mb-0":"",u?"duration-500":""),style:{width:"".concat(f[t],"%"),transition:u?"all 1s":""}},n.createElement("div",{className:(0,o.q)("absolute left-2 pr-4 flex max-w-full")},x?n.createElement(x,{className:(0,o.q)(d("barIcon"),"flex-none h-5 w-5 mr-2","text-tremor-content","dark:text-dark-tremor-content")}):null,e.href?n.createElement("a",{href:e.href,target:null!==(i=e.target)&&void 0!==i?i:"_blank",rel:"noreferrer",className:(0,o.q)(d("barLink"),"whitespace-nowrap hover:underline truncate text-tremor-default",m?"cursor-pointer":"","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis"),onClick:e=>e.stopPropagation()},e.name):n.createElement("p",{className:(0,o.q)(d("barText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name))))})),n.createElement("div",{className:d("labels")},p.map((e,t)=>{var r;return n.createElement("div",{key:null!==(r=e.key)&&void 0!==r?r:t,className:(0,o.q)(d("labelWrapper"),"flex justify-end items-center","h-8",t===p.length-1?"mb-0":"mb-1.5")},n.createElement("p",{className:(0,o.q)(d("labelText"),"whitespace-nowrap leading-none truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},i(e.value)))})))}c.displayName="BarList";let i=n.forwardRef(c)},62338:function(e,t,r){"use strict";r.d(t,{v:function(){return a.Z}});var a=r(40278)},16312:function(e,t,r){"use strict";r.d(t,{z:function(){return a.Z}});var a=r(78489)},19130:function(e,t,r){"use strict";r.d(t,{RM:function(){return n.Z},SC:function(){return d.Z},iA:function(){return a.Z},pj:function(){return l.Z},ss:function(){return o.Z},xs:function(){return s.Z}});var a=r(21626),n=r(97214),l=r(28241),o=r(58834),s=r(69552),d=r(71876)},42954:function(e,t,r){"use strict";r.r(t);var a=r(57437),n=r(18143),l=r(39760),o=r(2265);t.default=()=>{let{accessToken:e,token:t,userRole:r,userId:s,premiumUser:d}=(0,l.Z)(),[c,i]=(0,o.useState)([]);return(0,a.jsx)(n.Z,{accessToken:e,token:t,userRole:r,userID:s,keys:c,premiumUser:d})}},32176:function(e,t,r){"use strict";r.d(t,{Z:function(){return b}});var a=r(57437),n=r(2265),l=r(62338),o=r(94292),s=r(19250);let d=e=>{let{key:t,info:r}=e;return{token:t,...r}};var c=r(12322),i=r(99981),u=r(16312),m=r(59872),x=r(44633),g=r(86462),h=r(39760),b=e=>{let{topKeys:t,teams:r,showTags:b=!1}=e,{accessToken:p,userRole:f,userId:v,premiumUser:k}=(0,h.Z)(),[w,y]=(0,n.useState)(!1),[N,j]=(0,n.useState)(null),[C,E]=(0,n.useState)(void 0),[S,_]=(0,n.useState)("table"),[q,M]=(0,n.useState)(new Set),Z=e=>{M(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},V=async e=>{if(p)try{let t=await (0,s.keyInfoV1Call)(p,e.api_key),r=d(t);E(r),j(e.api_key),y(!0)}catch(e){console.error("Error fetching key info:",e)}},D=()=>{y(!1),j(null),E(void 0)};n.useEffect(()=>{let e=e=>{"Escape"===e.key&&w&&D()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[w]);let I=[{header:"Key ID",accessorKey:"api_key",cell:e=>(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsx)(i.Z,{title:e.getValue(),children:(0,a.jsx)(u.z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>V(e.row.original),children:e.getValue()?"".concat(e.getValue().slice(0,7),"..."):"-"})})})},{header:"Key Alias",accessorKey:"key_alias",cell:e=>e.getValue()||"-"}],T={header:"Spend (USD)",accessorKey:"spend",cell:e=>{let t=e.getValue();return t>0&&t<.01?"<$0.01":"$".concat((0,m.pw)(t,2))}},R=b?[...I,{header:"Tags",accessorKey:"tags",cell:e=>{let t=e.getValue(),r=e.row.original.api_key,n=q.has(r);if(!t||0===t.length)return"-";let l=t.sort((e,t)=>t.usage-e.usage),o=n?l:l.slice(0,2),s=t.length>2;return(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[o.map((e,t)=>(0,a.jsx)(i.Z,{title:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Tag Name:"})," ",e.tag]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend:"})," ",e.usage>0&&e.usage<.01?"<$0.01":"$".concat((0,m.pw)(e.usage,2))]})]}),children:(0,a.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[e.tag.slice(0,7),"..."]})},t)),s&&(0,a.jsx)("button",{onClick:()=>Z(r),className:"ml-1 p-1 hover:bg-gray-200 rounded-full transition-colors",title:n?"Show fewer tags":"Show all tags",children:n?(0,a.jsx)(x.Z,{className:"h-3 w-3 text-gray-500"}):(0,a.jsx)(g.Z,{className:"h-3 w-3 text-gray-500"})})]})})}},T]:[...I,T],L=t.map(e=>({...e,display_key_alias:e.key_alias&&e.key_alias.length>10?"".concat(e.key_alias.slice(0,10),"..."):e.key_alias||"-"}));return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end items-center",children:(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>_("table"),className:"px-3 py-1 text-sm rounded-md ".concat("table"===S?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Table View"}),(0,a.jsx)("button",{onClick:()=>_("chart"),className:"px-3 py-1 text-sm rounded-md ".concat("chart"===S?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Chart View"})]})}),"chart"===S?(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(l.v,{className:"mt-4 h-40 cursor-pointer hover:opacity-90",data:L,index:"display_key_alias",categories:["spend"],colors:["cyan"],yAxisWidth:120,tickGap:5,layout:"vertical",showLegend:!1,valueFormatter:e=>"$".concat((0,m.pw)(e,2)),onValueChange:e=>V(e),showTooltip:!0,customTooltip:e=>{var t,r;let n=null===(r=e.payload)||void 0===r?void 0:null===(t=r[0])||void 0===t?void 0:t.payload;return(0,a.jsx)("div",{className:"relative z-50 p-3 bg-black/90 shadow-lg rounded-lg text-white max-w-xs",children:(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key Alias: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==n?void 0:n.key_alias})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key ID: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==n?void 0:n.api_key})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend: "}),(0,a.jsxs)("span",{className:"text-white font-medium",children:["$",(0,m.pw)(null==n?void 0:n.spend,2)]})]})]})})}})}):(0,a.jsx)("div",{className:"border rounded-lg overflow-hidden",children:(0,a.jsx)(c.w,{columns:R,data:t,renderSubComponent:()=>(0,a.jsx)(a.Fragment,{}),getRowCanExpand:()=>!1,isLoading:!1})}),w&&N&&C&&(console.log("Rendering modal with:",{isModalOpen:w,selectedKey:N,keyData:C}),(0,a.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",onClick:e=>{e.target===e.currentTarget&&D()},children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl relative w-11/12 max-w-6xl max-h-[90vh] overflow-y-auto min-h-[750px]",children:[(0,a.jsx)("button",{onClick:D,className:"absolute top-4 right-4 text-gray-500 hover:text-gray-700 focus:outline-none","aria-label":"Close",children:(0,a.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})}),(0,a.jsx)("div",{className:"p-6 h-full",children:(0,a.jsx)(o.Z,{keyId:N,onClose:D,keyData:C,accessToken:p,userID:v,userRole:f,teams:r,premiumUser:k})})]})}))]})}},39789:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var a=r(57437),n=r(2265),l=r(88237),o=r(84264),s=e=>{let{value:t,onValueChange:r,label:s="Select Time Range",className:d="",showTimeRange:c=!0}=e,[i,u]=(0,n.useState)(!1),m=(0,n.useRef)(null),x=(0,n.useCallback)(e=>{u(!0),setTimeout(()=>u(!1),1500),r(e),requestIdleCallback(()=>{if(e.from){let t;let a={...e},n=new Date(e.from);t=new Date(e.to?e.to:e.from),n.toDateString(),t.toDateString(),n.setHours(0,0,0,0),t.setHours(23,59,59,999),a.from=n,a.to=t,r(a)}},{timeout:100})},[r]),g=(0,n.useCallback)((e,t)=>{if(!e||!t)return"";let r=e=>e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});if(e.toDateString()!==t.toDateString())return"".concat(r(e)," - ").concat(r(t));{let r=e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),a=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),n=t.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});return"".concat(r,": ").concat(a," - ").concat(n)}},[]);return(0,a.jsxs)("div",{className:d,children:[s&&(0,a.jsx)(o.Z,{className:"mb-2",children:s}),(0,a.jsxs)("div",{className:"relative w-fit",children:[(0,a.jsx)("div",{ref:m,children:(0,a.jsx)(l.Z,{enableSelect:!0,value:t,onValueChange:x,placeholder:"Select date range",enableClear:!1,style:{zIndex:100}})}),i&&(0,a.jsx)("div",{className:"absolute top-1/2 animate-pulse",style:{left:"calc(100% + 8px)",transform:"translateY(-50%)",zIndex:110},children:(0,a.jsxs)("div",{className:"flex items-center gap-1 text-green-600 text-sm font-medium bg-white px-2 py-1 rounded-full border border-green-200 shadow-sm whitespace-nowrap",children:[(0,a.jsx)("div",{className:"w-3 h-3 bg-green-500 text-white rounded-full flex items-center justify-center text-xs",children:"✓"}),(0,a.jsx)("span",{className:"text-xs",children:"Selected"})]})})]}),c&&t.from&&t.to&&(0,a.jsx)(o.Z,{className:"mt-2 text-xs text-gray-500",children:g(t.from,t.to)})]})}},12322:function(e,t,r){"use strict";r.d(t,{w:function(){return d}});var a=r(57437),n=r(2265),l=r(71594),o=r(24525),s=r(19130);function d(e){let{data:t=[],columns:r,getRowCanExpand:d,renderSubComponent:c,isLoading:i=!1,loadingMessage:u="\uD83D\uDE85 Loading logs...",noDataMessage:m="No logs found"}=e,x=(0,l.b7)({data:t,columns:r,getRowCanExpand:d,getRowId:(e,t)=>{var r;return null!==(r=null==e?void 0:e.request_id)&&void 0!==r?r:String(t)},getCoreRowModel:(0,o.sC)(),getExpandedRowModel:(0,o.rV)()});return(0,a.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,a.jsxs)(s.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,a.jsx)(s.ss,{children:x.getHeaderGroups().map(e=>(0,a.jsx)(s.SC,{children:e.headers.map(e=>(0,a.jsx)(s.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,l.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,a.jsx)(s.RM,{children:i?(0,a.jsx)(s.SC,{children:(0,a.jsx)(s.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:u})})})}):x.getRowModel().rows.length>0?x.getRowModel().rows.map(e=>(0,a.jsxs)(n.Fragment,{children:[(0,a.jsx)(s.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,a.jsx)(s.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,l.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,a.jsx)(s.SC,{children:(0,a.jsx)(s.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,a.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:c({row:e})})})})]},e.id)):(0,a.jsx)(s.SC,{children:(0,a.jsx)(s.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:m})})})})})]})})}},47375:function(e,t,r){"use strict";var a=r(57437),n=r(2265),l=r(19250),o=r(59872),s=r(39760);t.Z=e=>{let{userSpend:t,userMaxBudget:r,selectedTeam:d}=e,{accessToken:c,userRole:i,userId:u}=(0,s.Z)();console.log("userSpend: ".concat(t));let[m,x]=(0,n.useState)(null!==t?t:0),[g,h]=(0,n.useState)(d?Number((0,o.pw)(d.max_budget,4)):null);(0,n.useEffect)(()=>{if(d){if("Default Team"===d.team_alias)h(r);else{let e=!1;if(d.team_memberships)for(let t of d.team_memberships)t.user_id===u&&"max_budget"in t.litellm_budget_table&&null!==t.litellm_budget_table.max_budget&&(h(t.litellm_budget_table.max_budget),e=!0);e||h(d.max_budget)}}},[d,r]);let[b,p]=(0,n.useState)([]);(0,n.useEffect)(()=>{let e=async()=>{if(!c||!u||!i)return};(async()=>{try{if(null===u||null===i)return;if(null!==c){let e=(await (0,l.modelAvailableCall)(c,u,i)).data.map(e=>e.id);console.log("available_model_names:",e),p(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[i,c,u]),(0,n.useEffect)(()=>{null!==t&&x(t)},[t]);let f=[];d&&d.models&&(f=d.models),f&&f.includes("all-proxy-models")?(console.log("user models:",b),f=b):f&&f.includes("all-team-models")?f=d.models:f&&0===f.length&&(f=b);let v=null!==g?"$".concat((0,o.pw)(Number(g),4)," limit"):"No limit",k=void 0!==m?(0,o.pw)(m,4):null;return console.log("spend in view user spend: ".concat(m)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",k]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:v})]})]})})}},29827:function(e,t,r){"use strict";r.d(t,{NL:function(){return o},aH:function(){return s}});var a=r(2265),n=r(57437),l=a.createContext(void 0),o=e=>{let t=a.useContext(l);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},s=e=>{let{client:t,children:r}=e;return a.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,n.jsx)(l.Provider,{value:t,children:r})}}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,525,6609,7996,4623,9611,8237,9349,849,8049,4679,2202,874,4292,8143,2971,2117,1744],function(){return e(e.s=59898)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/old-usage/page-7e320ce6c2f7252e.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/old-usage/page-7e320ce6c2f7252e.js new file mode 100644 index 0000000000..d063ebbcad --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/old-usage/page-7e320ce6c2f7252e.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[813],{38502:function(e,t,r){Promise.resolve().then(r.bind(r,42954))},47323:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var a=r(5853),n=r(2265),l=r(47187),o=r(7084),s=r(13241),d=r(1153),i=r(26898);let c={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},u={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},m={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},x=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,d.bM)(t,i.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,d.bM)(t,i.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,d.bM)(t,i.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,d.bM)(t,i.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,d.bM)(t,i.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,d.bM)(t,i.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,s.q)((0,d.bM)(t,i.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,d.bM)(t,i.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,s.q)((0,d.bM)(t,i.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,d.bM)(t,i.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,s.q)((0,d.bM)(t,i.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},g=(0,d.fn)("Icon"),h=n.forwardRef((e,t)=>{let{icon:r,variant:i="simple",tooltip:h,size:b=o.u8.SM,color:p,className:f}=e,k=(0,a._T)(e,["icon","variant","tooltip","size","color","className"]),v=x(i,p),{tooltipProps:w,getReferenceProps:y}=(0,l.l)();return n.createElement("span",Object.assign({ref:(0,d.lq)([t,w.refs.setReference]),className:(0,s.q)(g("root"),"inline-flex shrink-0 items-center justify-center",v.bgColor,v.textColor,v.borderColor,v.ringColor,m[i].rounded,m[i].border,m[i].shadow,m[i].ring,c[b].paddingX,c[b].paddingY,f)},y,k),n.createElement(l.Z,Object.assign({text:h},w)),n.createElement(r,{className:(0,s.q)(g("icon"),"shrink-0",u[b].height,u[b].width)}))});h.displayName="Icon"},92414:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var a=r(5853),n=r(2265);r(42698),r(64016),r(8710);var l=r(33232),o=r(44140),s=r(58747);let d=e=>{var t=(0,a._T)(e,[]);return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},t),n.createElement("path",{d:"M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z"}))};var i=r(4537);let c=e=>{var t=(0,a._T)(e,[]);return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t),n.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))};var u=r(13241),m=r(1153),x=r(96398),g=r(51975),h=r(85238);let b=(0,m.fn)("MultiSelect"),p=n.forwardRef((e,t)=>{let{defaultValue:r=[],value:m,onValueChange:p,placeholder:f="Select...",placeholderSearch:k="Search",disabled:v=!1,icon:w,children:y,className:N,required:j,name:C,error:E=!1,errorMessage:S,id:_}=e,q=(0,a._T)(e,["defaultValue","value","onValueChange","placeholder","placeholderSearch","disabled","icon","children","className","required","name","error","errorMessage","id"]),Z=(0,n.useRef)(null),[M,D]=(0,o.Z)(r,m),{reactElementChildren:I,optionsAvailable:L}=(0,n.useMemo)(()=>{let e=n.Children.toArray(y).filter(n.isValidElement);return{reactElementChildren:e,optionsAvailable:(0,x.n0)("",e)}},[y]),[T,V]=(0,n.useState)(""),R=(null!=M?M:[]).length>0,K=(0,n.useMemo)(()=>T?(0,x.n0)(T,I):L,[T,I,L]),O=()=>{V("")};return n.createElement("div",{className:(0,u.q)("w-full min-w-[10rem] text-tremor-default",N)},n.createElement("div",{className:"relative"},n.createElement("select",{title:"multi-select-hidden",required:j,className:(0,u.q)("h-full w-full absolute left-0 top-0 -z-10 opacity-0"),value:M,onChange:e=>{e.preventDefault()},name:C,disabled:v,multiple:!0,id:_,onFocus:()=>{let e=Z.current;e&&e.focus()}},n.createElement("option",{className:"hidden",value:"",disabled:!0,hidden:!0},f),K.map(e=>{let t=e.props.value,r=e.props.children;return n.createElement("option",{className:"hidden",key:t,value:t},r)})),n.createElement(g.Ri,Object.assign({as:"div",ref:t,defaultValue:M,value:M,onChange:e=>{null==p||p(e),D(e)},disabled:v,id:_,multiple:!0},q),e=>{let{value:t}=e;return n.createElement(n.Fragment,null,n.createElement(g.Y4,{className:(0,u.q)("w-full outline-none text-left whitespace-nowrap truncate rounded-tremor-default focus:ring-2 transition duration-100 border pr-8 py-1.5","border-tremor-border shadow-tremor-input focus:border-tremor-brand-subtle focus:ring-tremor-brand-muted","dark:border-dark-tremor-border dark:shadow-dark-tremor-input dark:focus:border-dark-tremor-brand-subtle dark:focus:ring-dark-tremor-brand-muted",w?"pl-11 -ml-0.5":"pl-3",(0,x.um)(t.length>0,v,E)),ref:Z},w&&n.createElement("span",{className:(0,u.q)("absolute inset-y-0 left-0 flex items-center ml-px pl-2.5")},n.createElement(w,{className:(0,u.q)(b("Icon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),n.createElement("div",{className:"h-6 flex items-center"},t.length>0?n.createElement("div",{className:"flex flex-nowrap overflow-x-scroll [&::-webkit-scrollbar]:hidden [scrollbar-width:none] gap-x-1 mr-5 -ml-1.5 relative"},L.filter(e=>t.includes(e.props.value)).map((e,r)=>{var a;return n.createElement("div",{key:r,className:(0,u.q)("max-w-[100px] lg:max-w-[200px] flex justify-center items-center pl-2 pr-1.5 py-1 font-medium","rounded-tremor-small","bg-tremor-background-muted dark:bg-dark-tremor-background-muted","bg-tremor-background-subtle dark:bg-dark-tremor-background-subtle","text-tremor-content-default dark:text-dark-tremor-content-default","text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis")},n.createElement("div",{className:"text-xs truncate "},null!==(a=e.props.children)&&void 0!==a?a:e.props.value),n.createElement("div",{onClick:r=>{r.preventDefault();let a=t.filter(t=>t!==e.props.value);null==p||p(a),D(a)}},n.createElement(c,{className:(0,u.q)(b("clearIconItem"),"cursor-pointer rounded-tremor-full w-3.5 h-3.5 ml-2","text-tremor-content-subtle hover:text-tremor-content","dark:text-dark-tremor-content-subtle dark:hover:text-tremor-content")})))})):n.createElement("span",null,f)),n.createElement("span",{className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-2.5")},n.createElement(s.Z,{className:(0,u.q)(b("arrowDownIcon"),"flex-none h-5 w-5","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")}))),R&&!v?n.createElement("button",{type:"button",className:(0,u.q)("absolute inset-y-0 right-0 flex items-center mr-8"),onClick:e=>{e.preventDefault(),D([]),null==p||p([])}},n.createElement(i.Z,{className:(0,u.q)(b("clearIconAllItems"),"flex-none h-4 w-4","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})):null,n.createElement(h.u,{enter:"transition ease duration-100 transform",enterFrom:"opacity-0 -translate-y-4",enterTo:"opacity-100 translate-y-0",leave:"transition ease duration-100 transform",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-4"},n.createElement(g.O_,{anchor:"bottom start",className:(0,u.q)("z-10 divide-y w-[var(--button-width)] overflow-y-auto outline-none rounded-tremor-default max-h-[228px] border [--anchor-gap:4px]","bg-tremor-background border-tremor-border divide-tremor-border shadow-tremor-dropdown","dark:bg-dark-tremor-background dark:border-dark-tremor-border dark:divide-dark-tremor-border dark:shadow-dark-tremor-dropdown")},n.createElement("div",{className:(0,u.q)("flex items-center w-full px-2.5","bg-tremor-background-muted","dark:bg-dark-tremor-background-muted")},n.createElement("span",null,n.createElement(d,{className:(0,u.q)("flex-none w-4 h-4 mr-2","text-tremor-content-subtle","dark:text-dark-tremor-content-subtle")})),n.createElement("input",{name:"search",type:"input",autoComplete:"off",placeholder:k,className:(0,u.q)("w-full focus:outline-none focus:ring-none bg-transparent text-tremor-default py-2","text-tremor-content-emphasis","dark:text-dark-tremor-content-subtle"),onKeyDown:e=>{"Space"===e.code&&""!==e.target.value&&e.stopPropagation()},onChange:e=>V(e.target.value),value:T})),n.createElement(l.Z.Provider,Object.assign({},{onBlur:{handleResetSearch:O}},{value:{selectedValue:t}}),K))))})),E&&S?n.createElement("p",{className:(0,u.q)("errorMessage","text-sm text-rose-500 mt-1")},S):null)});p.displayName="MultiSelect"},46030:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var a=r(5853);r(42698),r(64016),r(8710);var n=r(33232),l=r(2265),o=r(13241),s=r(1153),d=r(51975);let i=(0,s.fn)("MultiSelectItem"),c=l.forwardRef((e,t)=>{let{value:r,className:c,children:u}=e,m=(0,a._T)(e,["value","className","children"]),{selectedValue:x}=(0,l.useContext)(n.Z),g=(0,s.NZ)(r,x);return l.createElement(d.wt,Object.assign({className:(0,o.q)(i("root"),"flex justify-start items-center cursor-default text-tremor-default p-2.5","data-[focus]:bg-tremor-background-muted data-[focus]:text-tremor-content-strong data-[select]ed:text-tremor-content-strong text-tremor-content-emphasis","dark:data-[focus]:bg-dark-tremor-background-muted dark:data-[focus]:text-dark-tremor-content-strong dark:data-[select]ed:text-dark-tremor-content-strong dark:data-[select]ed:bg-dark-tremor-background-muted dark:text-dark-tremor-content-emphasis",c),ref:t,key:r,value:r},m),l.createElement("input",{type:"checkbox",className:(0,o.q)(i("checkbox"),"flex-none focus:ring-none focus:outline-none cursor-pointer mr-2.5","accent-tremor-brand","dark:accent-dark-tremor-brand"),checked:g,readOnly:!0}),l.createElement("span",{className:"whitespace-nowrap truncate"},null!=u?u:r))});c.displayName="MultiSelectItem"},96889:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var a=r(5853),n=r(2265),l=r(26898),o=r(13241),s=r(1153);let d=(0,s.fn)("BarList");function i(e,t){let{data:r=[],color:i,valueFormatter:c=s.Cj,showAnimation:u=!1,onValueChange:m,sortOrder:x="descending",className:g}=e,h=(0,a._T)(e,["data","color","valueFormatter","showAnimation","onValueChange","sortOrder","className"]),b=m?"button":"div",p=n.useMemo(()=>"none"===x?r:[...r].sort((e,t)=>"ascending"===x?e.value-t.value:t.value-e.value),[r,x]),f=n.useMemo(()=>{let e=Math.max(...p.map(e=>e.value),0);return p.map(t=>0===t.value?0:Math.max(t.value/e*100,2))},[p]);return n.createElement("div",Object.assign({ref:t,className:(0,o.q)(d("root"),"flex justify-between space-x-6",g),"aria-sort":x},h),n.createElement("div",{className:(0,o.q)(d("bars"),"relative w-full space-y-1.5")},p.map((e,t)=>{var r,a,c;let x=e.icon;return n.createElement(b,{key:null!==(r=e.key)&&void 0!==r?r:t,onClick:()=>{null==m||m(e)},className:(0,o.q)(d("bar"),"group w-full flex items-center rounded-tremor-small",m?["cursor-pointer","hover:bg-tremor-background-muted dark:hover:bg-dark-tremor-background-subtle/40"]:"")},n.createElement("div",{className:(0,o.q)("flex items-center rounded transition-all bg-opacity-40","h-8",e.color||i?[(0,s.bM)(null!==(a=e.color)&&void 0!==a?a:i,l.K.background).bgColor,m?"group-hover:bg-opacity-30":""]:"bg-tremor-brand-subtle dark:bg-dark-tremor-brand-subtle/60",!m||e.color||i?"":"group-hover:bg-tremor-brand-subtle/30 group-hover:dark:bg-dark-tremor-brand-subtle/70",t===p.length-1?"mb-0":"",u?"duration-500":""),style:{width:"".concat(f[t],"%"),transition:u?"all 1s":""}},n.createElement("div",{className:(0,o.q)("absolute left-2 pr-4 flex max-w-full")},x?n.createElement(x,{className:(0,o.q)(d("barIcon"),"flex-none h-5 w-5 mr-2","text-tremor-content","dark:text-dark-tremor-content")}):null,e.href?n.createElement("a",{href:e.href,target:null!==(c=e.target)&&void 0!==c?c:"_blank",rel:"noreferrer",className:(0,o.q)(d("barLink"),"whitespace-nowrap hover:underline truncate text-tremor-default",m?"cursor-pointer":"","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis"),onClick:e=>e.stopPropagation()},e.name):n.createElement("p",{className:(0,o.q)(d("barText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name))))})),n.createElement("div",{className:d("labels")},p.map((e,t)=>{var r;return n.createElement("div",{key:null!==(r=e.key)&&void 0!==r?r:t,className:(0,o.q)(d("labelWrapper"),"flex justify-end items-center","h-8",t===p.length-1?"mb-0":"mb-1.5")},n.createElement("p",{className:(0,o.q)(d("labelText"),"whitespace-nowrap leading-none truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},c(e.value)))})))}i.displayName="BarList";let c=n.forwardRef(i)},62338:function(e,t,r){"use strict";r.d(t,{v:function(){return a.Z}});var a=r(40278)},16312:function(e,t,r){"use strict";r.d(t,{z:function(){return a.Z}});var a=r(78489)},19130:function(e,t,r){"use strict";r.d(t,{RM:function(){return n.Z},SC:function(){return d.Z},iA:function(){return a.Z},pj:function(){return l.Z},ss:function(){return o.Z},xs:function(){return s.Z}});var a=r(21626),n=r(97214),l=r(28241),o=r(58834),s=r(69552),d=r(71876)},42954:function(e,t,r){"use strict";r.r(t);var a=r(57437),n=r(18143),l=r(39760),o=r(2265);t.default=()=>{let{accessToken:e,token:t,userRole:r,userId:s,premiumUser:d}=(0,l.Z)(),[i,c]=(0,o.useState)([]);return(0,a.jsx)(n.Z,{accessToken:e,token:t,userRole:r,userID:s,keys:i,premiumUser:d})}},32176:function(e,t,r){"use strict";r.d(t,{Z:function(){return b}});var a=r(57437),n=r(2265),l=r(62338),o=r(94292),s=r(19250);let d=e=>{let{key:t,info:r}=e;return{token:t,...r}};var i=r(12322),c=r(99981),u=r(16312),m=r(59872),x=r(44633),g=r(86462),h=r(39760),b=e=>{let{topKeys:t,teams:r,showTags:b=!1}=e,{accessToken:p,userRole:f,userId:k,premiumUser:v}=(0,h.Z)(),[w,y]=(0,n.useState)(!1),[N,j]=(0,n.useState)(null),[C,E]=(0,n.useState)(void 0),[S,_]=(0,n.useState)("table"),[q,Z]=(0,n.useState)(new Set),M=e=>{Z(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},D=async e=>{if(p)try{let t=await (0,s.keyInfoV1Call)(p,e.api_key),r=d(t);E(r),j(e.api_key),y(!0)}catch(e){console.error("Error fetching key info:",e)}},I=()=>{y(!1),j(null),E(void 0)};n.useEffect(()=>{let e=e=>{"Escape"===e.key&&w&&I()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[w]);let L=[{header:"Key ID",accessorKey:"api_key",cell:e=>(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsx)(c.Z,{title:e.getValue(),children:(0,a.jsx)(u.z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>D(e.row.original),children:e.getValue()?"".concat(e.getValue().slice(0,7),"..."):"-"})})})},{header:"Key Alias",accessorKey:"key_alias",cell:e=>e.getValue()||"-"}],T={header:"Spend (USD)",accessorKey:"spend",cell:e=>{let t=e.getValue();return t>0&&t<.01?"<$0.01":"$".concat((0,m.pw)(t,2))}},V=b?[...L,{header:"Tags",accessorKey:"tags",cell:e=>{let t=e.getValue(),r=e.row.original.api_key,n=q.has(r);if(!t||0===t.length)return"-";let l=t.sort((e,t)=>t.usage-e.usage),o=n?l:l.slice(0,2),s=t.length>2;return(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[o.map((e,t)=>(0,a.jsx)(c.Z,{title:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Tag Name:"})," ",e.tag]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend:"})," ",e.usage>0&&e.usage<.01?"<$0.01":"$".concat((0,m.pw)(e.usage,2))]})]}),children:(0,a.jsxs)("span",{className:"px-2 py-1 bg-gray-100 rounded-full text-xs",children:[e.tag.slice(0,7),"..."]})},t)),s&&(0,a.jsx)("button",{onClick:()=>M(r),className:"ml-1 p-1 hover:bg-gray-200 rounded-full transition-colors",title:n?"Show fewer tags":"Show all tags",children:n?(0,a.jsx)(x.Z,{className:"h-3 w-3 text-gray-500"}):(0,a.jsx)(g.Z,{className:"h-3 w-3 text-gray-500"})})]})})}},T]:[...L,T],R=t.map(e=>({...e,display_key_alias:e.key_alias&&e.key_alias.length>10?"".concat(e.key_alias.slice(0,10),"..."):e.key_alias||"-"}));return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end items-center",children:(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>_("table"),className:"px-3 py-1 text-sm rounded-md ".concat("table"===S?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Table View"}),(0,a.jsx)("button",{onClick:()=>_("chart"),className:"px-3 py-1 text-sm rounded-md ".concat("chart"===S?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"),children:"Chart View"})]})}),"chart"===S?(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(l.v,{className:"mt-4 h-40 cursor-pointer hover:opacity-90",data:R,index:"display_key_alias",categories:["spend"],colors:["cyan"],yAxisWidth:120,tickGap:5,layout:"vertical",showLegend:!1,valueFormatter:e=>"$".concat((0,m.pw)(e,2)),onValueChange:e=>D(e),showTooltip:!0,customTooltip:e=>{var t,r;let n=null===(r=e.payload)||void 0===r?void 0:null===(t=r[0])||void 0===t?void 0:t.payload;return(0,a.jsx)("div",{className:"relative z-50 p-3 bg-black/90 shadow-lg rounded-lg text-white max-w-xs",children:(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key Alias: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==n?void 0:n.key_alias})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Key ID: "}),(0,a.jsx)("span",{className:"font-mono text-gray-100 break-all",children:null==n?void 0:n.api_key})]}),(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("span",{className:"text-gray-300",children:"Spend: "}),(0,a.jsxs)("span",{className:"text-white font-medium",children:["$",(0,m.pw)(null==n?void 0:n.spend,2)]})]})]})})}})}):(0,a.jsx)("div",{className:"border rounded-lg overflow-hidden",children:(0,a.jsx)(i.w,{columns:V,data:t,renderSubComponent:()=>(0,a.jsx)(a.Fragment,{}),getRowCanExpand:()=>!1,isLoading:!1})}),w&&N&&C&&(console.log("Rendering modal with:",{isModalOpen:w,selectedKey:N,keyData:C}),(0,a.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",onClick:e=>{e.target===e.currentTarget&&I()},children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl relative w-11/12 max-w-6xl max-h-[90vh] overflow-y-auto min-h-[750px]",children:[(0,a.jsx)("button",{onClick:I,className:"absolute top-4 right-4 text-gray-500 hover:text-gray-700 focus:outline-none","aria-label":"Close",children:(0,a.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})}),(0,a.jsx)("div",{className:"p-6 h-full",children:(0,a.jsx)(o.Z,{keyId:N,onClose:I,keyData:C,accessToken:p,userID:k,userRole:f,teams:r,premiumUser:v})})]})}))]})}},39789:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var a=r(57437),n=r(2265),l=r(88237),o=r(84264),s=e=>{let{value:t,onValueChange:r,label:s="Select Time Range",className:d="",showTimeRange:i=!0}=e,[c,u]=(0,n.useState)(!1),m=(0,n.useRef)(null),x=(0,n.useCallback)(e=>{u(!0),setTimeout(()=>u(!1),1500),r(e),requestIdleCallback(()=>{if(e.from){let t;let a={...e},n=new Date(e.from);t=new Date(e.to?e.to:e.from),n.toDateString(),t.toDateString(),n.setHours(0,0,0,0),t.setHours(23,59,59,999),a.from=n,a.to=t,r(a)}},{timeout:100})},[r]),g=(0,n.useCallback)((e,t)=>{if(!e||!t)return"";let r=e=>e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});if(e.toDateString()!==t.toDateString())return"".concat(r(e)," - ").concat(r(t));{let r=e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),a=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),n=t.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"});return"".concat(r,": ").concat(a," - ").concat(n)}},[]);return(0,a.jsxs)("div",{className:d,children:[s&&(0,a.jsx)(o.Z,{className:"mb-2",children:s}),(0,a.jsxs)("div",{className:"relative w-fit",children:[(0,a.jsx)("div",{ref:m,children:(0,a.jsx)(l.Z,{enableSelect:!0,value:t,onValueChange:x,placeholder:"Select date range",enableClear:!1,style:{zIndex:100}})}),c&&(0,a.jsx)("div",{className:"absolute top-1/2 animate-pulse",style:{left:"calc(100% + 8px)",transform:"translateY(-50%)",zIndex:110},children:(0,a.jsxs)("div",{className:"flex items-center gap-1 text-green-600 text-sm font-medium bg-white px-2 py-1 rounded-full border border-green-200 shadow-sm whitespace-nowrap",children:[(0,a.jsx)("div",{className:"w-3 h-3 bg-green-500 text-white rounded-full flex items-center justify-center text-xs",children:"✓"}),(0,a.jsx)("span",{className:"text-xs",children:"Selected"})]})})]}),i&&t.from&&t.to&&(0,a.jsx)(o.Z,{className:"mt-2 text-xs text-gray-500",children:g(t.from,t.to)})]})}},12322:function(e,t,r){"use strict";r.d(t,{w:function(){return d}});var a=r(57437),n=r(2265),l=r(71594),o=r(24525),s=r(19130);function d(e){let{data:t=[],columns:r,getRowCanExpand:d,renderSubComponent:i,isLoading:c=!1,loadingMessage:u="\uD83D\uDE85 Loading logs...",noDataMessage:m="No logs found"}=e,x=(0,l.b7)({data:t,columns:r,getRowCanExpand:d,getRowId:(e,t)=>{var r;return null!==(r=null==e?void 0:e.request_id)&&void 0!==r?r:String(t)},getCoreRowModel:(0,o.sC)(),getExpandedRowModel:(0,o.rV)()});return(0,a.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,a.jsxs)(s.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,a.jsx)(s.ss,{children:x.getHeaderGroups().map(e=>(0,a.jsx)(s.SC,{children:e.headers.map(e=>(0,a.jsx)(s.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,l.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,a.jsx)(s.RM,{children:c?(0,a.jsx)(s.SC,{children:(0,a.jsx)(s.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:u})})})}):x.getRowModel().rows.length>0?x.getRowModel().rows.map(e=>(0,a.jsxs)(n.Fragment,{children:[(0,a.jsx)(s.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,a.jsx)(s.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,l.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,a.jsx)(s.SC,{children:(0,a.jsx)(s.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,a.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:i({row:e})})})})]},e.id)):(0,a.jsx)(s.SC,{children:(0,a.jsx)(s.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:m})})})})})]})})}},47375:function(e,t,r){"use strict";var a=r(57437),n=r(2265),l=r(19250),o=r(59872),s=r(39760);t.Z=e=>{let{userSpend:t,userMaxBudget:r,selectedTeam:d}=e,{accessToken:i,userRole:c,userId:u}=(0,s.Z)();console.log("userSpend: ".concat(t));let[m,x]=(0,n.useState)(null!==t?t:0),[g,h]=(0,n.useState)(d?Number((0,o.pw)(d.max_budget,4)):null);(0,n.useEffect)(()=>{if(d){if("Default Team"===d.team_alias)h(r);else{let e=!1;if(d.team_memberships)for(let t of d.team_memberships)t.user_id===u&&"max_budget"in t.litellm_budget_table&&null!==t.litellm_budget_table.max_budget&&(h(t.litellm_budget_table.max_budget),e=!0);e||h(d.max_budget)}}},[d,r]);let[b,p]=(0,n.useState)([]);(0,n.useEffect)(()=>{let e=async()=>{if(!i||!u||!c)return};(async()=>{try{if(null===u||null===c)return;if(null!==i){let e=(await (0,l.modelAvailableCall)(i,u,c)).data.map(e=>e.id);console.log("available_model_names:",e),p(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[c,i,u]),(0,n.useEffect)(()=>{null!==t&&x(t)},[t]);let f=[];d&&d.models&&(f=d.models),f&&f.includes("all-proxy-models")?(console.log("user models:",b),f=b):f&&f.includes("all-team-models")?f=d.models:f&&0===f.length&&(f=b);let k=null!==g?"$".concat((0,o.pw)(Number(g),4)," limit"):"No limit",v=void 0!==m?(0,o.pw)(m,4):null;return console.log("spend in view user spend: ".concat(m)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",v]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:k})]})]})})}},44633:function(e,t,r){"use strict";var a=r(2265);let n=a.forwardRef(function(e,t){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=n},29827:function(e,t,r){"use strict";r.d(t,{NL:function(){return o},aH:function(){return s}});var a=r(2265),n=r(57437),l=a.createContext(void 0),o=e=>{let t=a.useContext(l);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},s=e=>{let{client:t,children:r}=e;return a.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,n.jsx)(l.Provider,{value:t,children:r})}}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5319,5333,525,6609,7996,9611,1130,8237,5105,4042,8049,4679,2202,874,4292,8143,2971,2117,1744],function(){return e(e.s=38502)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/prompts/page-02d87f60b52093a6.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/prompts/page-02d87f60b52093a6.js new file mode 100644 index 0000000000..d040da7cc2 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/prompts/page-02d87f60b52093a6.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2099],{2498:function(e,n,t){Promise.resolve().then(t.bind(t,51599))},84717:function(e,n,t){"use strict";t.d(n,{Ct:function(){return r.Z},Dx:function(){return p.Z},OK:function(){return l.Z},Zb:function(){return a.Z},nP:function(){return d.Z},rj:function(){return i.Z},td:function(){return c.Z},v0:function(){return s.Z},x4:function(){return u.Z},xv:function(){return m.Z},zx:function(){return o.Z}});var r=t(41649),o=t(78489),a=t(12514),i=t(67101),l=t(12485),s=t(18135),c=t(35242),u=t(29706),d=t(77991),m=t(84264),p=t(96761)},16312:function(e,n,t){"use strict";t.d(n,{z:function(){return r.Z}});var r=t(78489)},19431:function(e,n,t){"use strict";t.d(n,{x:function(){return o.Z},z:function(){return r.Z}});var r=t(78489),o=t(84264)},78801:function(e,n,t){"use strict";t.d(n,{Z:function(){return r.Z},x:function(){return o.Z}});var r=t(12514),o=t(84264)},92280:function(e,n,t){"use strict";t.d(n,{x:function(){return r.Z}});var r=t(84264)},56522:function(e,n,t){"use strict";t.d(n,{o:function(){return o.Z},x:function(){return r.Z}});var r=t(84264),o=t(49566)},51599:function(e,n,t){"use strict";t.r(n);var r=t(57437),o=t(56399),a=t(39760);n.default=()=>{let{accessToken:e}=(0,a.Z)();return(0,r.jsx)(o.Z,{accessToken:e})}},39760:function(e,n,t){"use strict";var r=t(2265),o=t(99376),a=t(14474),i=t(3914),l=t(19250);n.Z=()=>{var e,n,t,s,c,u;let d=(0,o.useRouter)(),m="undefined"!=typeof document?(0,i.e)("token"):null;(0,r.useEffect)(()=>{m||d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let p=(0,r.useMemo)(()=>{if(!m)return null;try{return(0,a.o)(m)}catch(e){return(0,i.b)(),d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==p?void 0:p.key)&&void 0!==e?e:null,userId:null!==(n=null==p?void 0:p.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==p?void 0:p.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==p?void 0:p.user_role)&&void 0!==s?s:null),premiumUser:null!==(c=null==p?void 0:p.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(u=null==p?void 0:p.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==p?void 0:p.login_method)==="username_password"}}},76593:function(e,n,t){"use strict";var r=t(57437),o=t(2265),a=t(56522),i=t(37592),l=t(69993),s=t(10703);n.Z=e=>{let{accessToken:n,value:t,placeholder:c="Select a Model",onChange:u,disabled:d=!1,style:m,className:p,showLabel:f=!0,labelText:g="Select Model"}=e,[v,A]=(0,o.useState)(t),[x,h]=(0,o.useState)(!1),[I,_]=(0,o.useState)([]),y=(0,o.useRef)(null);return(0,o.useEffect)(()=>{A(t)},[t]),(0,o.useEffect)(()=>{n&&(async()=>{try{let e=await (0,s.p)(n);console.log("Fetched models for selector:",e),e.length>0&&_(e)}catch(e){console.error("Error fetching model info:",e)}})()},[n]),(0,r.jsxs)("div",{children:[f&&(0,r.jsxs)(a.x,{className:"font-medium block mb-2 text-gray-700 flex items-center",children:[(0,r.jsx)(l.Z,{className:"mr-2"})," ",g]}),(0,r.jsx)(i.default,{value:v,placeholder:c,onChange:e=>{"custom"===e?(h(!0),A(void 0)):(h(!1),A(e),u&&u(e))},options:[...Array.from(new Set(I.map(e=>e.model_group))).map((e,n)=>({value:e,label:e,key:n})),{value:"custom",label:"Enter custom model",key:"custom"}],style:{width:"100%",...m},showSearch:!0,className:"rounded-md ".concat(p||""),disabled:d}),x&&(0,r.jsx)(a.o,{className:"mt-2",placeholder:"Enter custom model name",onValueChange:e=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{A(e),u&&u(e)},500)},disabled:d})]})}},38398:function(e,n,t){"use strict";var r=t(57437);t(2265);var o=t(99981),a=t(5540),i=t(71282),l=t(11741),s=t(83322),c=t(16601),u=t(62670),d=t(58630);n.Z=e=>{let{timeToFirstToken:n,totalLatency:t,usage:m,toolName:p}=e;return n||t||m?(0,r.jsxs)("div",{className:"response-metrics mt-2 pt-2 border-t border-gray-100 text-xs text-gray-500 flex flex-wrap gap-3",children:[void 0!==n&&(0,r.jsx)(o.Z,{title:"Time to first token",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(a.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["TTFT: ",(n/1e3).toFixed(2),"s"]})]})}),void 0!==t&&(0,r.jsx)(o.Z,{title:"Total latency",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(a.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Total Latency: ",(t/1e3).toFixed(2),"s"]})]})}),(null==m?void 0:m.promptTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Prompt tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(i.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["In: ",m.promptTokens]})]})}),(null==m?void 0:m.completionTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Completion tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(l.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Out: ",m.completionTokens]})]})}),(null==m?void 0:m.reasoningTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Reasoning tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(s.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Reasoning: ",m.reasoningTokens]})]})}),(null==m?void 0:m.totalTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Total tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(c.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Total: ",m.totalTokens]})]})}),(null==m?void 0:m.cost)!==void 0&&(0,r.jsx)(o.Z,{title:"Cost",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(u.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["$",m.cost.toFixed(6)]})]})}),p&&(0,r.jsx)(o.Z,{title:"Tool used",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(d.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Tool: ",p]})]})})]}):null}},10703:function(e,n,t){"use strict";t.d(n,{p:function(){return o}});var r=t(19250);let o=async e=>{try{let n=await (0,r.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},42673:function(e,n,t){"use strict";var r,o;t.d(n,{Cl:function(){return r},bK:function(){return u},cd:function(){return l},dr:function(){return s},fK:function(){return a},ph:function(){return c}}),(o=r||(r={})).A2A_Agent="A2A Agent",o.AIML="AI/ML API",o.Bedrock="Amazon Bedrock",o.Anthropic="Anthropic",o.AssemblyAI="AssemblyAI",o.SageMaker="AWS SageMaker",o.Azure="Azure",o.Azure_AI_Studio="Azure AI Foundry (Studio)",o.Cerebras="Cerebras",o.Cohere="Cohere",o.Dashscope="Dashscope",o.Databricks="Databricks (Qwen API)",o.DeepInfra="DeepInfra",o.Deepgram="Deepgram",o.Deepseek="Deepseek",o.ElevenLabs="ElevenLabs",o.FalAI="Fal AI",o.FireworksAI="Fireworks AI",o.Google_AI_Studio="Google AI Studio",o.GradientAI="GradientAI",o.Groq="Groq",o.Hosted_Vllm="vllm",o.Infinity="Infinity",o.JinaAI="Jina AI",o.MistralAI="Mistral AI",o.Ollama="Ollama",o.OpenAI="OpenAI",o.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",o.OpenAI_Text="OpenAI Text Completion",o.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",o.Openrouter="Openrouter",o.Oracle="Oracle Cloud Infrastructure (OCI)",o.Perplexity="Perplexity",o.RunwayML="RunwayML",o.Sambanova="Sambanova",o.Snowflake="Snowflake",o.TogetherAI="TogetherAI",o.Triton="Triton",o.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",o.VolcEngine="VolcEngine",o.Voyage="Voyage AI",o.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},i="../ui/assets/logos/",l={"A2A Agent":"".concat(i,"a2a_agent.png"),"AI/ML API":"".concat(i,"aiml_api.svg"),Anthropic:"".concat(i,"anthropic.svg"),AssemblyAI:"".concat(i,"assemblyai_small.png"),Azure:"".concat(i,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(i,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(i,"bedrock.svg"),"AWS SageMaker":"".concat(i,"bedrock.svg"),Cerebras:"".concat(i,"cerebras.svg"),Cohere:"".concat(i,"cohere.svg"),"Databricks (Qwen API)":"".concat(i,"databricks.svg"),Dashscope:"".concat(i,"dashscope.svg"),Deepseek:"".concat(i,"deepseek.svg"),"Fireworks AI":"".concat(i,"fireworks.svg"),Groq:"".concat(i,"groq.svg"),"Google AI Studio":"".concat(i,"google.svg"),vllm:"".concat(i,"vllm.png"),Infinity:"".concat(i,"infinity.png"),"Mistral AI":"".concat(i,"mistral.svg"),Ollama:"".concat(i,"ollama.svg"),OpenAI:"".concat(i,"openai_small.svg"),"OpenAI Text Completion":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(i,"openai_small.svg"),Openrouter:"".concat(i,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(i,"oracle.svg"),Perplexity:"".concat(i,"perplexity-ai.svg"),RunwayML:"".concat(i,"runwayml.png"),Sambanova:"".concat(i,"sambanova.svg"),Snowflake:"".concat(i,"snowflake.svg"),TogetherAI:"".concat(i,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(i,"google.svg"),xAI:"".concat(i,"xai.svg"),GradientAI:"".concat(i,"gradientai.svg"),Triton:"".concat(i,"nvidia_triton.png"),Deepgram:"".concat(i,"deepgram.png"),ElevenLabs:"".concat(i,"elevenlabs.png"),"Fal AI":"".concat(i,"fal_ai.jpg"),"Voyage AI":"".concat(i,"voyage.webp"),"Jina AI":"".concat(i,"jina.png"),VolcEngine:"".concat(i,"volcengine.png"),DeepInfra:"".concat(i,"deepinfra.png")},s=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:l[e],displayName:e}}let n=Object.keys(a).find(n=>a[n].toLowerCase()===e.toLowerCase());if(!n)return{logo:"",displayName:e};let t=r[n];return{logo:l[t],displayName:t}},c=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},u=(e,n)=>{console.log("Provider key: ".concat(e));let t=a[e];console.log("Provider mapped to: ".concat(t));let r=[];return e&&"object"==typeof n&&(Object.entries(n).forEach(e=>{let[n,o]=e;null!==o&&"object"==typeof o&&"litellm_provider"in o&&(o.litellm_provider===t||o.litellm_provider.includes(t))&&r.push(n)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"cohere_chat"===t.litellm_provider&&r.push(n)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"sagemaker_chat"===t.litellm_provider&&r.push(n)}))),r}},59872:function(e,n,t){"use strict";t.d(n,{GS:function(){return i},nl:function(){return o},pw:function(){return a},vQ:function(){return l}});var r=t(9114);function o(e,n){let t=structuredClone(e);for(let[e,r]of Object.entries(n))e in t&&(t[e]=r);return t}let a=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!r)return"-";let o={minimumFractionDigits:n,maximumFractionDigits:n};if(!t)return e.toLocaleString("en-US",o);let a=Math.abs(e),i=a,l="";return a>=1e6?(i=a/1e6,l="M"):a>=1e3&&(i=a/1e3,l="K"),"".concat(e<0?"-":"").concat(i.toLocaleString("en-US",o)).concat(l)},i=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let t=a(e,n,!1,!1);if(0===Number(t.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(t)},l=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return s(e,n);try{return await navigator.clipboard.writeText(e),r.Z.success(n),!0}catch(t){return console.error("Clipboard API failed: ",t),s(e,n)}},s=(e,n)=>{try{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",t.setAttribute("readonly",""),document.body.appendChild(t),t.focus(),t.select();let o=document.execCommand("copy");if(document.body.removeChild(t),o)return r.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return r.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,t){"use strict";t.d(n,{LQ:function(){return a},P4:function(){return l},ZL:function(){return r},_p:function(){return c},lo:function(){return o},tY:function(){return i},yV:function(){return s}});let r=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],o=["Internal User","Internal Viewer"],a=["Internal User","Admin","proxy_admin"],i=e=>r.includes(e),l=e=>"proxy_admin"===e||"Admin"===e,s=(e,n)=>null!=e&&e.some(e=>c(e,n)),c=(e,n)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===n&&"admin"===e.role)}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,7318,8565,5869,5319,525,7906,4804,605,656,8049,6399,2971,2117,1744],function(){return e(e.s=2498)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/prompts/page-74e17f2cf383a907.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/prompts/page-74e17f2cf383a907.js deleted file mode 100644 index eb29334788..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/prompts/page-74e17f2cf383a907.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2099],{71620:function(e,n,t){Promise.resolve().then(t.bind(t,51599))},84717:function(e,n,t){"use strict";t.d(n,{Ct:function(){return r.Z},Dx:function(){return p.Z},OK:function(){return l.Z},Zb:function(){return a.Z},nP:function(){return d.Z},rj:function(){return i.Z},td:function(){return c.Z},v0:function(){return s.Z},x4:function(){return u.Z},xv:function(){return m.Z},zx:function(){return o.Z}});var r=t(41649),o=t(78489),a=t(12514),i=t(67101),l=t(12485),s=t(18135),c=t(35242),u=t(29706),d=t(77991),m=t(84264),p=t(96761)},16312:function(e,n,t){"use strict";t.d(n,{z:function(){return r.Z}});var r=t(78489)},19431:function(e,n,t){"use strict";t.d(n,{x:function(){return o.Z},z:function(){return r.Z}});var r=t(78489),o=t(84264)},78801:function(e,n,t){"use strict";t.d(n,{Z:function(){return r.Z},x:function(){return o.Z}});var r=t(12514),o=t(84264)},92280:function(e,n,t){"use strict";t.d(n,{x:function(){return r.Z}});var r=t(84264)},56522:function(e,n,t){"use strict";t.d(n,{o:function(){return o.Z},x:function(){return r.Z}});var r=t(84264),o=t(49566)},51599:function(e,n,t){"use strict";t.r(n);var r=t(57437),o=t(56399),a=t(39760);n.default=()=>{let{accessToken:e}=(0,a.Z)();return(0,r.jsx)(o.Z,{accessToken:e})}},39760:function(e,n,t){"use strict";var r=t(2265),o=t(99376),a=t(14474),i=t(3914),l=t(19250);n.Z=()=>{var e,n,t,s,c,u;let d=(0,o.useRouter)(),m="undefined"!=typeof document?(0,i.e)("token"):null;(0,r.useEffect)(()=>{m||d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let p=(0,r.useMemo)(()=>{if(!m)return null;try{return(0,a.o)(m)}catch(e){return(0,i.b)(),d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==p?void 0:p.key)&&void 0!==e?e:null,userId:null!==(n=null==p?void 0:p.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==p?void 0:p.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==p?void 0:p.user_role)&&void 0!==s?s:null),premiumUser:null!==(c=null==p?void 0:p.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(u=null==p?void 0:p.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==p?void 0:p.login_method)==="username_password"}}},76593:function(e,n,t){"use strict";var r=t(57437),o=t(2265),a=t(56522),i=t(37592),l=t(69993),s=t(10703);n.Z=e=>{let{accessToken:n,value:t,placeholder:c="Select a Model",onChange:u,disabled:d=!1,style:m,className:p,showLabel:f=!0,labelText:g="Select Model"}=e,[v,A]=(0,o.useState)(t),[x,h]=(0,o.useState)(!1),[I,_]=(0,o.useState)([]),y=(0,o.useRef)(null);return(0,o.useEffect)(()=>{A(t)},[t]),(0,o.useEffect)(()=>{n&&(async()=>{try{let e=await (0,s.p)(n);console.log("Fetched models for selector:",e),e.length>0&&_(e)}catch(e){console.error("Error fetching model info:",e)}})()},[n]),(0,r.jsxs)("div",{children:[f&&(0,r.jsxs)(a.x,{className:"font-medium block mb-2 text-gray-700 flex items-center",children:[(0,r.jsx)(l.Z,{className:"mr-2"})," ",g]}),(0,r.jsx)(i.default,{value:v,placeholder:c,onChange:e=>{"custom"===e?(h(!0),A(void 0)):(h(!1),A(e),u&&u(e))},options:[...Array.from(new Set(I.map(e=>e.model_group))).map((e,n)=>({value:e,label:e,key:n})),{value:"custom",label:"Enter custom model",key:"custom"}],style:{width:"100%",...m},showSearch:!0,className:"rounded-md ".concat(p||""),disabled:d}),x&&(0,r.jsx)(a.o,{className:"mt-2",placeholder:"Enter custom model name",onValueChange:e=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{A(e),u&&u(e)},500)},disabled:d})]})}},38398:function(e,n,t){"use strict";var r=t(57437);t(2265);var o=t(99981),a=t(5540),i=t(71282),l=t(11741),s=t(83322),c=t(16601),u=t(62670),d=t(58630);n.Z=e=>{let{timeToFirstToken:n,totalLatency:t,usage:m,toolName:p}=e;return n||t||m?(0,r.jsxs)("div",{className:"response-metrics mt-2 pt-2 border-t border-gray-100 text-xs text-gray-500 flex flex-wrap gap-3",children:[void 0!==n&&(0,r.jsx)(o.Z,{title:"Time to first token",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(a.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["TTFT: ",(n/1e3).toFixed(2),"s"]})]})}),void 0!==t&&(0,r.jsx)(o.Z,{title:"Total latency",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(a.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Total Latency: ",(t/1e3).toFixed(2),"s"]})]})}),(null==m?void 0:m.promptTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Prompt tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(i.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["In: ",m.promptTokens]})]})}),(null==m?void 0:m.completionTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Completion tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(l.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Out: ",m.completionTokens]})]})}),(null==m?void 0:m.reasoningTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Reasoning tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(s.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Reasoning: ",m.reasoningTokens]})]})}),(null==m?void 0:m.totalTokens)!==void 0&&(0,r.jsx)(o.Z,{title:"Total tokens",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(c.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Total: ",m.totalTokens]})]})}),(null==m?void 0:m.cost)!==void 0&&(0,r.jsx)(o.Z,{title:"Cost",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(u.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["$",m.cost.toFixed(6)]})]})}),p&&(0,r.jsx)(o.Z,{title:"Tool used",children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(d.Z,{className:"mr-1"}),(0,r.jsxs)("span",{children:["Tool: ",p]})]})})]}):null}},10703:function(e,n,t){"use strict";t.d(n,{p:function(){return o}});var r=t(19250);let o=async e=>{try{let n=await (0,r.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},42673:function(e,n,t){"use strict";var r,o;t.d(n,{Cl:function(){return r},bK:function(){return u},cd:function(){return l},dr:function(){return s},fK:function(){return a},ph:function(){return c}}),(o=r||(r={})).A2A_Agent="A2A Agent",o.AIML="AI/ML API",o.Bedrock="Amazon Bedrock",o.Anthropic="Anthropic",o.AssemblyAI="AssemblyAI",o.SageMaker="AWS SageMaker",o.Azure="Azure",o.Azure_AI_Studio="Azure AI Foundry (Studio)",o.Cerebras="Cerebras",o.Cohere="Cohere",o.Dashscope="Dashscope",o.Databricks="Databricks (Qwen API)",o.DeepInfra="DeepInfra",o.Deepgram="Deepgram",o.Deepseek="Deepseek",o.ElevenLabs="ElevenLabs",o.FalAI="Fal AI",o.FireworksAI="Fireworks AI",o.Google_AI_Studio="Google AI Studio",o.GradientAI="GradientAI",o.Groq="Groq",o.Hosted_Vllm="vllm",o.Infinity="Infinity",o.JinaAI="Jina AI",o.MistralAI="Mistral AI",o.Ollama="Ollama",o.OpenAI="OpenAI",o.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",o.OpenAI_Text="OpenAI Text Completion",o.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",o.Openrouter="Openrouter",o.Oracle="Oracle Cloud Infrastructure (OCI)",o.Perplexity="Perplexity",o.RunwayML="RunwayML",o.Sambanova="Sambanova",o.Snowflake="Snowflake",o.TogetherAI="TogetherAI",o.Triton="Triton",o.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",o.VolcEngine="VolcEngine",o.Voyage="Voyage AI",o.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},i="../ui/assets/logos/",l={"A2A Agent":"".concat(i,"a2a_agent.png"),"AI/ML API":"".concat(i,"aiml_api.svg"),Anthropic:"".concat(i,"anthropic.svg"),AssemblyAI:"".concat(i,"assemblyai_small.png"),Azure:"".concat(i,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(i,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(i,"bedrock.svg"),"AWS SageMaker":"".concat(i,"bedrock.svg"),Cerebras:"".concat(i,"cerebras.svg"),Cohere:"".concat(i,"cohere.svg"),"Databricks (Qwen API)":"".concat(i,"databricks.svg"),Dashscope:"".concat(i,"dashscope.svg"),Deepseek:"".concat(i,"deepseek.svg"),"Fireworks AI":"".concat(i,"fireworks.svg"),Groq:"".concat(i,"groq.svg"),"Google AI Studio":"".concat(i,"google.svg"),vllm:"".concat(i,"vllm.png"),Infinity:"".concat(i,"infinity.png"),"Mistral AI":"".concat(i,"mistral.svg"),Ollama:"".concat(i,"ollama.svg"),OpenAI:"".concat(i,"openai_small.svg"),"OpenAI Text Completion":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(i,"openai_small.svg"),Openrouter:"".concat(i,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(i,"oracle.svg"),Perplexity:"".concat(i,"perplexity-ai.svg"),RunwayML:"".concat(i,"runwayml.png"),Sambanova:"".concat(i,"sambanova.svg"),Snowflake:"".concat(i,"snowflake.svg"),TogetherAI:"".concat(i,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(i,"google.svg"),xAI:"".concat(i,"xai.svg"),GradientAI:"".concat(i,"gradientai.svg"),Triton:"".concat(i,"nvidia_triton.png"),Deepgram:"".concat(i,"deepgram.png"),ElevenLabs:"".concat(i,"elevenlabs.png"),"Fal AI":"".concat(i,"fal_ai.jpg"),"Voyage AI":"".concat(i,"voyage.webp"),"Jina AI":"".concat(i,"jina.png"),VolcEngine:"".concat(i,"volcengine.png"),DeepInfra:"".concat(i,"deepinfra.png")},s=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:l[e],displayName:e}}let n=Object.keys(a).find(n=>a[n].toLowerCase()===e.toLowerCase());if(!n)return{logo:"",displayName:e};let t=r[n];return{logo:l[t],displayName:t}},c=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},u=(e,n)=>{console.log("Provider key: ".concat(e));let t=a[e];console.log("Provider mapped to: ".concat(t));let r=[];return e&&"object"==typeof n&&(Object.entries(n).forEach(e=>{let[n,o]=e;null!==o&&"object"==typeof o&&"litellm_provider"in o&&(o.litellm_provider===t||o.litellm_provider.includes(t))&&r.push(n)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"cohere_chat"===t.litellm_provider&&r.push(n)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"sagemaker_chat"===t.litellm_provider&&r.push(n)}))),r}},59872:function(e,n,t){"use strict";t.d(n,{GS:function(){return i},nl:function(){return o},pw:function(){return a},vQ:function(){return l}});var r=t(9114);function o(e,n){let t=structuredClone(e);for(let[e,r]of Object.entries(n))e in t&&(t[e]=r);return t}let a=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!r)return"-";let o={minimumFractionDigits:n,maximumFractionDigits:n};if(!t)return e.toLocaleString("en-US",o);let a=Math.abs(e),i=a,l="";return a>=1e6?(i=a/1e6,l="M"):a>=1e3&&(i=a/1e3,l="K"),"".concat(e<0?"-":"").concat(i.toLocaleString("en-US",o)).concat(l)},i=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let t=a(e,n,!1,!1);if(0===Number(t.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(t)},l=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return s(e,n);try{return await navigator.clipboard.writeText(e),r.Z.success(n),!0}catch(t){return console.error("Clipboard API failed: ",t),s(e,n)}},s=(e,n)=>{try{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",t.setAttribute("readonly",""),document.body.appendChild(t),t.focus(),t.select();let o=document.execCommand("copy");if(document.body.removeChild(t),o)return r.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return r.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,t){"use strict";t.d(n,{LQ:function(){return a},P4:function(){return l},ZL:function(){return r},lo:function(){return o},tY:function(){return i}});let r=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],o=["Internal User","Internal Viewer"],a=["Internal User","Admin","proxy_admin"],i=e=>r.includes(e),l=e=>"proxy_admin"===e||"Admin"===e}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,7318,8565,5319,5869,525,7906,816,605,3163,8049,6399,2971,2117,1744],function(){return e(e.s=71620)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/tag-management/page-5a0e12e4e22b19fe.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/tag-management/page-5a0e12e4e22b19fe.js deleted file mode 100644 index ddbca0f8ef..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/tag-management/page-5a0e12e4e22b19fe.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6061],{86947:function(r,e,t){Promise.resolve().then(t.bind(t,21933))},69993:function(r,e,t){"use strict";t.d(e,{Z:function(){return i}});var o=t(1119),n=t(2265),d={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},a=t(55015),i=n.forwardRef(function(r,e){return n.createElement(a.Z,(0,o.Z)({},r,{ref:e,icon:d}))})},47323:function(r,e,t){"use strict";t.d(e,{Z:function(){return f}});var o=t(5853),n=t(2265),d=t(47187),a=t(7084),i=t(13241),s=t(1153),c=t(26898);let u={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},l={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},g={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},b=(r,e)=>{switch(r){case"simple":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,i.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,i.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:e?(0,i.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,i.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:e?(0,s.bM)(e,c.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:e?(0,i.q)((0,s.bM)(e,c.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},m=(0,s.fn)("Icon"),f=n.forwardRef((r,e)=>{let{icon:t,variant:c="simple",tooltip:f,size:h=a.u8.SM,color:k,className:w}=r,p=(0,o._T)(r,["icon","variant","tooltip","size","color","className"]),v=b(c,k),{tooltipProps:x,getReferenceProps:C}=(0,d.l)();return n.createElement("span",Object.assign({ref:(0,s.lq)([e,x.refs.setReference]),className:(0,i.q)(m("root"),"inline-flex shrink-0 items-center justify-center",v.bgColor,v.textColor,v.borderColor,v.ringColor,g[c].rounded,g[c].border,g[c].shadow,g[c].ring,u[h].paddingX,u[h].paddingY,w)},C,p),n.createElement(d.Z,Object.assign({text:f},x)),n.createElement(t,{className:(0,i.q)(m("icon"),"shrink-0",l[h].height,l[h].width)}))});f.displayName="Icon"},32489:function(r,e,t){"use strict";t.d(e,{Z:function(){return o}});let o=(0,t(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},45822:function(r,e,t){"use strict";t.d(e,{JO:function(){return a.Z},JX:function(){return n.Z},rj:function(){return d.Z},xv:function(){return i.Z},zx:function(){return o.Z}});var o=t(78489),n=t(49804),d=t(67101),a=t(47323),i=t(84264)},21933:function(r,e,t){"use strict";t.r(e);var o=t(57437),n=t(42273),d=t(39760);e.default=()=>{let{accessToken:r,userId:e,userRole:t}=(0,d.Z)();return(0,o.jsx)(n.Z,{accessToken:r,userID:e,userRole:t})}},91777:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"}))});e.Z=n},44633:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});e.Z=n},82182:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}))});e.Z=n},53410:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});e.Z=n},93416:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});e.Z=n},77355:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=n},22452:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"}))});e.Z=n},49084:function(r,e,t){"use strict";var o=t(2265);let n=o.forwardRef(function(r,e){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});e.Z=n},29827:function(r,e,t){"use strict";t.d(e,{NL:function(){return a},aH:function(){return i}});var o=t(2265),n=t(57437),d=o.createContext(void 0),a=r=>{let e=o.useContext(d);if(r)return r;if(!e)throw Error("No QueryClient set, use QueryClientProvider to set one");return e},i=r=>{let{client:e,children:t}=r;return o.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,n.jsx)(d.Provider,{value:e,children:t})}}},function(r){r.O(0,[1047,9028,9409,4865,337,8135,1442,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,525,6609,7996,4623,8049,4679,2202,874,2273,2971,2117,1744],function(){return r(r.s=86947)}),_N_E=r.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/tag-management/page-68f3deffb8e7d53b.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/tag-management/page-68f3deffb8e7d53b.js new file mode 100644 index 0000000000..cf28049855 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/experimental/tag-management/page-68f3deffb8e7d53b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6061],{38997:function(n,u,e){Promise.resolve().then(e.bind(e,21933))},45822:function(n,u,e){"use strict";e.d(u,{JO:function(){return s.Z},JX:function(){return t.Z},rj:function(){return c.Z},xv:function(){return i.Z},zx:function(){return r.Z}});var r=e(78489),t=e(49804),c=e(67101),s=e(47323),i=e(84264)},21933:function(n,u,e){"use strict";e.r(u);var r=e(57437),t=e(42273),c=e(39760);u.default=()=>{let{accessToken:n,userId:u,userRole:e}=(0,c.Z)();return(0,r.jsx)(t.Z,{accessToken:n,userID:u,userRole:e})}}},function(n){n.O(0,[1047,9028,9409,4865,337,8135,1442,2409,3367,353,1994,7318,7138,8565,3709,5319,5333,525,6609,7996,6561,8049,4679,2202,874,2273,2971,2117,1744],function(){return n(n.s=38997)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/guardrails/page-e7b3865d388441a0.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/guardrails/page-663e47e38e029360.js similarity index 60% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/guardrails/page-e7b3865d388441a0.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/guardrails/page-663e47e38e029360.js index 10ed0e82c9..a3f176974b 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/guardrails/page-e7b3865d388441a0.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/guardrails/page-663e47e38e029360.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6607],{91229:function(e,n,r){Promise.resolve().then(r.bind(r,49514))},30078:function(e,n,r){"use strict";r.d(n,{Ct:function(){return t.Z},Dx:function(){return p.Z},OK:function(){return l.Z},Zb:function(){return o.Z},nP:function(){return d.Z},oi:function(){return m.Z},rj:function(){return u.Z},td:function(){return a.Z},v0:function(){return c.Z},x4:function(){return s.Z},xv:function(){return f.Z},zx:function(){return i.Z}});var t=r(41649),i=r(78489),o=r(12514),u=r(67101),l=r(12485),c=r(18135),a=r(35242),s=r(29706),d=r(77991),f=r(84264),m=r(49566),p=r(96761)},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},64504:function(e,n,r){"use strict";r.d(n,{o:function(){return i.Z},z:function(){return t.Z}});var t=r(78489),i=r(49566)},78801:function(e,n,r){"use strict";r.d(n,{Z:function(){return t.Z},x:function(){return i.Z}});var t=r(12514),i=r(84264)},49514:function(e,n,r){"use strict";r.r(n);var t=r(57437),i=r(60170),o=r(39760);n.default=()=>{let{accessToken:e}=(0,o.Z)();return(0,t.jsx)(i.Z,{accessToken:e})}},39760:function(e,n,r){"use strict";var t=r(2265),i=r(99376),o=r(14474),u=r(3914),l=r(19250);n.Z=()=>{var e,n,r,c,a,s;let d=(0,i.useRouter)(),f="undefined"!=typeof document?(0,u.e)("token"):null;(0,t.useEffect)(()=>{f||d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let m=(0,t.useMemo)(()=>{if(!f)return null;try{return(0,o.o)(f)}catch(e){return(0,u.b)(),d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(n=null==m?void 0:m.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==m?void 0:m.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(c=null==m?void 0:m.user_role)&&void 0!==c?c:null),premiumUser:null!==(a=null==m?void 0:m.premium_user)&&void 0!==a?a:null,disabledPersonalKeyCreation:null!==(s=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==s?s:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return s}});var t=r(57437),i=r(57840),o=r(22116),u=r(51653),l=r(76188),c=r(4260),a=r(2265);function s(e){let{isOpen:n,title:r,alertMessage:s,message:d,resourceInformationTitle:f,resourceInformation:m,onCancel:p,onOk:v,confirmLoading:x,requiredConfirmation:g}=e,{Title:h,Text:b}=i.default,[_,y]=(0,a.useState)("");return(0,a.useEffect)(()=>{n&&y("")},[n]),(0,t.jsx)(o.Z,{title:r,open:n,onOk:v,onCancel:p,confirmLoading:x,okText:x?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!g&&_!==g||x},cancelButtonProps:{disabled:x},children:(0,t.jsxs)("div",{className:"space-y-4",children:[s&&(0,t.jsx)(u.Z,{message:s,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(h,{level:5,className:"mb-3 text-gray-900",children:f}),(0,t.jsx)(l.Z,{column:1,size:"small",children:m&&m.map(e=>{let{label:n,value:r,...i}=e;return(0,t.jsx)(l.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(b,{...i,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(b,{children:d})}),g&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(b,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(b,{children:"Type "}),(0,t.jsx)(b,{strong:!0,type:"danger",children:g}),(0,t.jsx)(b,{children:" to confirm deletion:"})]}),(0,t.jsx)(c.default,{value:_,onChange:e=>y(e.target.value),placeholder:g,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return o}});var t=r(57437);r(2265);var i=r(30150),o=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:o="Enter a numerical value",min:u,max:l,onChange:c,...a}=e;return(0,t.jsx)(i.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:o,min:u,max:l,onChange:c,...a})}},59872:function(e,n,r){"use strict";r.d(n,{GS:function(){return u},nl:function(){return i},pw:function(){return o},vQ:function(){return l}});var t=r(9114);function i(e,n){let r=structuredClone(e);for(let[e,t]of Object.entries(n))e in r&&(r[e]=t);return r}let o=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!t)return"-";let i={minimumFractionDigits:n,maximumFractionDigits:n};if(!r)return e.toLocaleString("en-US",i);let o=Math.abs(e),u=o,l="";return o>=1e6?(u=o/1e6,l="M"):o>=1e3&&(u=o/1e3,l="K"),"".concat(e<0?"-":"").concat(u.toLocaleString("en-US",i)).concat(l)},u=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let r=o(e,n,!1,!1);if(0===Number(r.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(r)},l=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return c(e,n);try{return await navigator.clipboard.writeText(e),t.Z.success(n),!0}catch(r){return console.error("Clipboard API failed: ",r),c(e,n)}},c=(e,n)=>{try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.left="-999999px",r.style.top="-999999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select();let i=document.execCommand("copy");if(document.body.removeChild(r),i)return t.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return t.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return o},P4:function(){return l},ZL:function(){return t},lo:function(){return i},tY:function(){return u}});let t=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],i=["Internal User","Internal Viewer"],o=["Internal User","Admin","proxy_admin"],u=e=>t.includes(e),l=e=>"proxy_admin"===e||"Admin"===e}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5869,525,6609,4546,5945,8468,5458,8049,170,2971,2117,1744],function(){return e(e.s=91229)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6607],{52080:function(e,n,r){Promise.resolve().then(r.bind(r,49514))},30078:function(e,n,r){"use strict";r.d(n,{Ct:function(){return t.Z},Dx:function(){return p.Z},OK:function(){return l.Z},Zb:function(){return u.Z},nP:function(){return d.Z},oi:function(){return m.Z},rj:function(){return o.Z},td:function(){return a.Z},v0:function(){return c.Z},x4:function(){return s.Z},xv:function(){return f.Z},zx:function(){return i.Z}});var t=r(41649),i=r(78489),u=r(12514),o=r(67101),l=r(12485),c=r(18135),a=r(35242),s=r(29706),d=r(77991),f=r(84264),m=r(49566),p=r(96761)},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},64504:function(e,n,r){"use strict";r.d(n,{o:function(){return i.Z},z:function(){return t.Z}});var t=r(78489),i=r(49566)},78801:function(e,n,r){"use strict";r.d(n,{Z:function(){return t.Z},x:function(){return i.Z}});var t=r(12514),i=r(84264)},49514:function(e,n,r){"use strict";r.r(n);var t=r(57437),i=r(10137),u=r(39760);n.default=()=>{let{accessToken:e}=(0,u.Z)();return(0,t.jsx)(i.Z,{accessToken:e})}},39760:function(e,n,r){"use strict";var t=r(2265),i=r(99376),u=r(14474),o=r(3914),l=r(19250);n.Z=()=>{var e,n,r,c,a,s;let d=(0,i.useRouter)(),f="undefined"!=typeof document?(0,o.e)("token"):null;(0,t.useEffect)(()=>{f||d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let m=(0,t.useMemo)(()=>{if(!f)return null;try{return(0,u.o)(f)}catch(e){return(0,o.b)(),d.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(n=null==m?void 0:m.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==m?void 0:m.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(c=null==m?void 0:m.user_role)&&void 0!==c?c:null),premiumUser:null!==(a=null==m?void 0:m.premium_user)&&void 0!==a?a:null,disabledPersonalKeyCreation:null!==(s=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==s?s:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return s}});var t=r(57437),i=r(57840),u=r(22116),o=r(51653),l=r(76188),c=r(4260),a=r(2265);function s(e){let{isOpen:n,title:r,alertMessage:s,message:d,resourceInformationTitle:f,resourceInformation:m,onCancel:p,onOk:v,confirmLoading:x,requiredConfirmation:h}=e,{Title:_,Text:b}=i.default,[g,y]=(0,a.useState)("");return(0,a.useEffect)(()=>{n&&y("")},[n]),(0,t.jsx)(u.Z,{title:r,open:n,onOk:v,onCancel:p,confirmLoading:x,okText:x?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!h&&g!==h||x},cancelButtonProps:{disabled:x},children:(0,t.jsxs)("div",{className:"space-y-4",children:[s&&(0,t.jsx)(o.Z,{message:s,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(_,{level:5,className:"mb-3 text-gray-900",children:f}),(0,t.jsx)(l.Z,{column:1,size:"small",children:m&&m.map(e=>{let{label:n,value:r,...i}=e;return(0,t.jsx)(l.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(b,{...i,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(b,{children:d})}),h&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(b,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(b,{children:"Type "}),(0,t.jsx)(b,{strong:!0,type:"danger",children:h}),(0,t.jsx)(b,{children:" to confirm deletion:"})]}),(0,t.jsx)(c.default,{value:g,onChange:e=>y(e.target.value),placeholder:h,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return u}});var t=r(57437);r(2265);var i=r(30150),u=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:u="Enter a numerical value",min:o,max:l,onChange:c,...a}=e;return(0,t.jsx)(i.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:u,min:o,max:l,onChange:c,...a})}},59872:function(e,n,r){"use strict";r.d(n,{GS:function(){return o},nl:function(){return i},pw:function(){return u},vQ:function(){return l}});var t=r(9114);function i(e,n){let r=structuredClone(e);for(let[e,t]of Object.entries(n))e in r&&(r[e]=t);return r}let u=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!t)return"-";let i={minimumFractionDigits:n,maximumFractionDigits:n};if(!r)return e.toLocaleString("en-US",i);let u=Math.abs(e),o=u,l="";return u>=1e6?(o=u/1e6,l="M"):u>=1e3&&(o=u/1e3,l="K"),"".concat(e<0?"-":"").concat(o.toLocaleString("en-US",i)).concat(l)},o=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let r=u(e,n,!1,!1);if(0===Number(r.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(r)},l=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return c(e,n);try{return await navigator.clipboard.writeText(e),t.Z.success(n),!0}catch(r){return console.error("Clipboard API failed: ",r),c(e,n)}},c=(e,n)=>{try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.left="-999999px",r.style.top="-999999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select();let i=document.execCommand("copy");if(document.body.removeChild(r),i)return t.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return t.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return u},P4:function(){return l},ZL:function(){return t},_p:function(){return a},lo:function(){return i},tY:function(){return o},yV:function(){return c}});let t=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],i=["Internal User","Internal Viewer"],u=["Internal User","Admin","proxy_admin"],o=e=>t.includes(e),l=e=>"proxy_admin"===e||"Admin"===e,c=(e,n)=>null!=e&&e.some(e=>a(e,n)),a=(e,n)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===n&&"admin"===e.role)}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5869,5319,525,6609,4546,5945,854,8614,8049,137,2971,2117,1744],function(){return e(e.s=52080)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js similarity index 97% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js index b2170810b0..618b52faf4 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5642],{77935:function(e,s,t){Promise.resolve().then(t.bind(t,53104))},1309:function(e,s,t){"use strict";t.d(s,{C:function(){return r.Z}});var r=t(41649)},39760:function(e,s,t){"use strict";var r=t(2265),a=t(99376),l=t(14474),i=t(3914),n=t(19250);s.Z=()=>{var e,s,t,o,c,d;let m=(0,a.useRouter)(),u="undefined"!=typeof document?(0,i.e)("token"):null;(0,r.useEffect)(()=>{u||m.replace("".concat((0,n.getProxyBaseUrl)(),"/ui/login"))},[u,m]);let x=(0,r.useMemo)(()=>{if(!u)return null;try{return(0,l.o)(u)}catch(e){return(0,i.b)(),m.replace("".concat((0,n.getProxyBaseUrl)(),"/ui/login")),null}},[u,m]);return{token:u,accessToken:null!==(e=null==x?void 0:x.key)&&void 0!==e?e:null,userId:null!==(s=null==x?void 0:x.user_id)&&void 0!==s?s:null,userEmail:null!==(t=null==x?void 0:x.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(o=null==x?void 0:x.user_role)&&void 0!==o?o:null),premiumUser:null!==(c=null==x?void 0:x.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==x?void 0:x.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==x?void 0:x.login_method)==="username_password"}}},53104:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return A}});var r=t(57437),a=t(2265),l=t(67325),i=t(69734),n=t(13817),o=t(18310),c=t(60985),d=t(92403),m=t(28595),u=t(68208),x=t(9775),g=t(41361),h=t(37527),p=t(15883),y=t(12660),f=t(88009),b=t(48231),j=t(57400),v=t(58630),N=t(44625),w=t(41169),_=t(38434),k=t(71891),L=t(55322),Z=t(99376),S=t(20347),P=t(79262),z=t(19250);let{Sider:O}=n.default,U=()=>{let e="ui/".replace(/^\/+|\/+$/g,""),s=e?"/".concat(e,"/"):"/";if(z.serverRootPath&&"/"!==z.serverRootPath){let e=z.serverRootPath.replace(/\/+$/,""),t=s.replace(/^\/+/,"");return"".concat(e,"/").concat(t)}return s},C=e=>{switch(e){case"api-keys":return"virtual-keys";case"llm-playground":return"test-key";case"models":return"models-and-endpoints";case"new_usage":return"usage";case"teams":return"teams";case"organizations":return"organizations";case"users":return"users";case"api_ref":return"api-reference";case"model-hub-table":return"model-hub";case"logs":return"logs";case"guardrails":return"guardrails";case"mcp-servers":return"tools/mcp-servers";case"vector-stores":return"tools/vector-stores";case"caching":return"experimental/caching";case"prompts":return"experimental/prompts";case"budgets":return"experimental/budgets";case"transform-request":return"experimental/api-playground";case"tag-management":return"experimental/tag-management";case"usage":return"experimental/old-usage";case"general-settings":return"settings/router-settings";case"settings":return"settings/logging-and-alerts";case"admin-panel":return"settings/admin-settings";case"ui-theme":return"settings/ui-theme";default:return e.replace(/^\/+/,"")}},M=e=>{let s=U(),t=C(e).replace(/^\/+|\/+$/g,"");return"".concat(s).concat(t)},R=[{key:"1",page:"api-keys",label:"Virtual Keys",icon:(0,r.jsx)(d.Z,{style:{fontSize:18}})},{key:"3",page:"llm-playground",label:"Test Key",icon:(0,r.jsx)(m.Z,{style:{fontSize:18}}),roles:S.LQ},{key:"2",page:"models",label:"Models + Endpoints",icon:(0,r.jsx)(u.Z,{style:{fontSize:18}}),roles:S.LQ},{key:"12",page:"new_usage",label:"Usage",icon:(0,r.jsx)(x.Z,{style:{fontSize:18}}),roles:[...S.ZL,...S.lo]},{key:"6",page:"teams",label:"Teams",icon:(0,r.jsx)(g.Z,{style:{fontSize:18}})},{key:"17",page:"organizations",label:"Organizations",icon:(0,r.jsx)(h.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"5",page:"users",label:"Internal Users",icon:(0,r.jsx)(p.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"14",page:"api_ref",label:"API Reference",icon:(0,r.jsx)(y.Z,{style:{fontSize:18}})},{key:"16",page:"model-hub-table",label:"Model Hub",icon:(0,r.jsx)(f.Z,{style:{fontSize:18}})},{key:"15",page:"logs",label:"Logs",icon:(0,r.jsx)(b.Z,{style:{fontSize:18}})},{key:"11",page:"guardrails",label:"Guardrails",icon:(0,r.jsx)(j.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"26",page:"tools",label:"Tools",icon:(0,r.jsx)(v.Z,{style:{fontSize:18}}),children:[{key:"18",page:"mcp-servers",label:"MCP Servers",icon:(0,r.jsx)(v.Z,{style:{fontSize:18}})},{key:"21",page:"vector-stores",label:"Vector Stores",icon:(0,r.jsx)(N.Z,{style:{fontSize:18}}),roles:S.ZL}]},{key:"experimental",page:"experimental",label:"Experimental",icon:(0,r.jsx)(w.Z,{style:{fontSize:18}}),children:[{key:"9",page:"caching",label:"Caching",icon:(0,r.jsx)(N.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"25",page:"prompts",label:"Prompts",icon:(0,r.jsx)(_.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"10",page:"budgets",label:"Budgets",icon:(0,r.jsx)(h.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"20",page:"transform-request",label:"API Playground",icon:(0,r.jsx)(y.Z,{style:{fontSize:18}}),roles:[...S.ZL,...S.lo]},{key:"19",page:"tag-management",label:"Tag Management",icon:(0,r.jsx)(k.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"4",page:"usage",label:"Old Usage",icon:(0,r.jsx)(x.Z,{style:{fontSize:18}})}]},{key:"settings",page:"settings",label:"Settings",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL,children:[{key:"11",page:"general-settings",label:"Router Settings",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"8",page:"settings",label:"Logging & Alerts",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"13",page:"admin-panel",label:"Admin Settings",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"14",page:"ui-theme",label:"UI Theme",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL}]}];var E=e=>{let{accessToken:s,userRole:t,defaultSelectedKey:l,collapsed:i=!1}=e,d=(0,Z.useRouter)(),m=(0,Z.usePathname)()||"/",u=a.useMemo(()=>R.filter(e=>!e.roles||e.roles.includes(t)).map(e=>({...e,children:e.children?e.children.filter(e=>!e.roles||e.roles.includes(t)):void 0})),[t]),x=a.useMemo(()=>{var e,s;let t=U(),r=(m.startsWith(t)?m.slice(t.length):m.replace(/^\/+/,"")).toLowerCase(),a=e=>{let s=C(e).toLowerCase();return r===s||r.startsWith("".concat(s,"/"))};for(let e of u){if(!e.children&&a(e.page))return e.key;if(e.children){for(let s of e.children)if(a(s.page))return s.key}}let i=null===(e=u.find(e=>e.page===l))||void 0===e?void 0:e.key;if(i)return i;for(let e of u)if(null===(s=e.children)||void 0===s?void 0:s.some(e=>e.page===l))return e.children.find(e=>e.page===l).key;return"1"},[m,u,l]),g=e=>{let s=M(e);d.push(s)};return(0,r.jsx)(n.default,{style:{minHeight:"100vh"},children:(0,r.jsxs)(O,{theme:"light",width:220,collapsed:i,collapsedWidth:80,collapsible:!0,trigger:null,style:{transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",position:"relative"},children:[(0,r.jsx)(o.ZP,{theme:{components:{Menu:{iconSize:18,fontSize:14}}},children:(0,r.jsx)(c.Z,{mode:"inline",selectedKeys:[x],defaultOpenKeys:i?[]:["llm-tools"],inlineCollapsed:i,className:"custom-sidebar-menu",style:{borderRight:0,backgroundColor:"transparent",fontSize:"14px"},items:u.map(e=>{var s;return{key:e.key,icon:e.icon,label:e.label,children:null===(s=e.children)||void 0===s?void 0:s.map(e=>({key:e.key,icon:e.icon,label:e.label,onClick:()=>g(e.page)})),onClick:e.children?void 0:()=>g(e.page)}})})}),(0,S.tY)(t)&&!i&&(0,r.jsx)(P.Z,{accessToken:s,width:220})]})})},T=t(39760);function A(e){let{children:s}=e;(0,Z.useRouter)();let t=(0,Z.useSearchParams)(),{accessToken:n,userRole:o,userId:c,userEmail:d,premiumUser:m}=(0,T.Z)(),[u,x]=a.useState(!1),[g,h]=(0,a.useState)(()=>t.get("page")||"api-keys");return(0,a.useEffect)(()=>{h(t.get("page")||"api-keys")},[t]),(0,r.jsx)(i.f,{accessToken:"",children:(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,r.jsx)(l.Z,{isPublicPage:!1,sidebarCollapsed:u,onToggleSidebar:()=>x(e=>!e),userID:c,userEmail:d,userRole:o,premiumUser:m,proxySettings:void 0,setProxySettings:()=>{},accessToken:n}),(0,r.jsxs)("div",{className:"flex flex-1 overflow-auto",children:[(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(E,{defaultSelectedKey:g,accessToken:n,userRole:o})}),(0,r.jsx)("main",{className:"flex-1",children:s})]})]})})}!function(e){let s="ui/".trim();if(s)s.replace(/^\/+/,"").replace(/\/+$/,"")}(0)},67325:function(e,s,t){"use strict";var r=t(57437),a=t(27648),l=t(2265),i=t(99981),n=t(73705),o=t(19250),c=t(15883),d=t(46346),m=t(57400),u=t(91870),x=t(40428),g=t(83884),h=t(45524),p=t(3914),y=t(91624),f=t(69734);s.Z=e=>{let{userID:s,userEmail:t,userRole:b,premiumUser:j,proxySettings:v,setProxySettings:N,accessToken:w,isPublicPage:_=!1,sidebarCollapsed:k=!1,onToggleSidebar:L}=e,Z=(0,o.getProxyBaseUrl)(),[S,P]=(0,l.useState)(""),[z,O]=(0,l.useState)(""),{logoUrl:U}=(0,f.F)(),C=U||"".concat(Z,"/get_image");(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch("".concat(Z,"/health/readiness")),s=await e.json();s.litellm_version&&O(s.litellm_version)}catch(e){console.error("Failed to fetch version:",e)}})()},[Z]),(0,l.useEffect)(()=>{(async()=>{if(w){let e=await (0,y.C)(w);console.log("response from fetchProxySettings",e),e&&N(e)}})()},[w]),(0,l.useEffect)(()=>{P((null==v?void 0:v.PROXY_LOGOUT_URL)||"")},[v]);let M=[{key:"user-info",onClick:e=>{var s;return null===(s=e.domEvent)||void 0===s?void 0:s.stopPropagation()},label:(0,r.jsxs)("div",{className:"px-3 py-3 border-b border-gray-100",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(c.Z,{className:"mr-2 text-gray-700"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-gray-900",children:s})]}),j?(0,r.jsx)(i.Z,{title:"Premium User",placement:"left",children:(0,r.jsxs)("div",{className:"flex items-center bg-gradient-to-r from-amber-500 to-yellow-500 text-white px-2 py-0.5 rounded-full cursor-help",children:[(0,r.jsx)(d.Z,{className:"mr-1 text-xs"}),(0,r.jsx)("span",{className:"text-xs font-medium",children:"Premium"})]})}):(0,r.jsx)(i.Z,{title:"Upgrade to Premium for advanced features",placement:"left",children:(0,r.jsxs)("div",{className:"flex items-center bg-gray-100 text-gray-500 px-2 py-0.5 rounded-full cursor-help",children:[(0,r.jsx)(d.Z,{className:"mr-1 text-xs"}),(0,r.jsx)("span",{className:"text-xs font-medium",children:"Standard"})]})})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center text-sm",children:[(0,r.jsx)(m.Z,{className:"mr-2 text-gray-400 text-xs"}),(0,r.jsx)("span",{className:"text-gray-500 text-xs",children:"Role"}),(0,r.jsx)("span",{className:"ml-auto text-gray-700 font-medium",children:b})]}),(0,r.jsxs)("div",{className:"flex items-center text-sm",children:[(0,r.jsx)(u.Z,{className:"mr-2 text-gray-400 text-xs"}),(0,r.jsx)("span",{className:"text-gray-500 text-xs",children:"Email"}),(0,r.jsx)("span",{className:"ml-auto text-gray-700 font-medium truncate max-w-[150px]",title:t||"Unknown",children:t||"Unknown"})]})]})]})},{key:"logout",label:(0,r.jsxs)("div",{className:"flex items-center py-2 px-3 hover:bg-gray-50 rounded-md mx-1 my-1",onClick:()=>{(0,p.b)(),window.location.href=S},children:[(0,r.jsx)(x.Z,{className:"mr-3 text-gray-600"}),(0,r.jsx)("span",{className:"text-gray-800",children:"Logout"})]})}];return(0,r.jsx)("nav",{className:"bg-white border-b border-gray-200 sticky top-0 z-10",children:(0,r.jsx)("div",{className:"w-full",children:(0,r.jsxs)("div",{className:"flex items-center h-14 px-4",children:[" ",(0,r.jsxs)("div",{className:"flex items-center flex-shrink-0",children:[L&&(0,r.jsx)("button",{onClick:L,className:"flex items-center justify-center w-10 h-10 mr-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded transition-colors",title:k?"Expand sidebar":"Collapse sidebar",children:(0,r.jsx)("span",{className:"text-lg",children:k?(0,r.jsx)(g.Z,{}):(0,r.jsx)(h.Z,{})})}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(a.default,{href:"/",className:"flex items-center",children:(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("img",{src:C,alt:"LiteLLM Brand",className:"h-10 w-auto"}),(0,r.jsx)("span",{className:"absolute -top-1 -right-2 text-lg animate-bounce",style:{animationDuration:"2s"},title:"Happy Holidays!",children:"\uD83C\uDF84"})]})}),z&&(0,r.jsxs)("a",{href:"https://docs.litellm.ai/release_notes",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-gray-500 border border-gray-200 rounded-lg px-2 py-0.5 bg-gray-50 font-medium -ml-2 hover:bg-gray-100 transition-colors cursor-pointer z-10",children:["v",z]})]})]}),(0,r.jsxs)("div",{className:"flex items-center space-x-5 ml-auto",children:[(0,r.jsx)("a",{href:"https://docs.litellm.ai/docs/",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-gray-600 hover:text-gray-900 transition-colors",children:"Docs"}),!_&&(0,r.jsx)(n.Z,{menu:{items:M,className:"min-w-[200px]",style:{padding:"8px",marginTop:"8px",borderRadius:"12px",boxShadow:"0 4px 24px rgba(0, 0, 0, 0.08)"}},overlayStyle:{minWidth:"200px"},children:(0,r.jsxs)("button",{className:"inline-flex items-center text-sm text-gray-600 hover:text-gray-900 transition-colors",children:["User",(0,r.jsx)("svg",{className:"ml-1 w-5 h-5 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M19 9l-7 7-7-7"})})]})})]})]})})})}},79262:function(e,s,t){"use strict";t.d(s,{Z:function(){return x}});var r=t(57437);t(1309);var a=t(76865),l=t(70525),i=t(95805),n=t(51817),o=t(21047);t(22135),t(40875);var c=t(49663),d=t(2265),m=t(19250);let u=function(){for(var e=arguments.length,s=Array(e),t=0;t{(async()=>{if(s){j(!0),N(null);try{let e=await (0,m.getRemainingUsers)(s);f(e)}catch(e){console.error("Failed to fetch usage data:",e),N("Failed to load usage data")}finally{j(!1)}}})()},[s]);let{isOverLimit:w,isNearLimit:_,usagePercentage:k,userMetrics:L,teamMetrics:Z}=(e=>{if(!e)return{isOverLimit:!1,isNearLimit:!1,usagePercentage:0,userMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0},teamMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0}};let s=e.total_users?e.total_users_used/e.total_users*100:0,t=s>100,r=s>=80&&s<=100,a=e.total_teams?e.total_teams_used/e.total_teams*100:0,l=a>100,i=a>=80&&a<=100,n=t||l;return{isOverLimit:n,isNearLimit:(r||i)&&!n,usagePercentage:Math.max(s,a),userMetrics:{isOverLimit:t,isNearLimit:r,usagePercentage:s},teamMetrics:{isOverLimit:l,isNearLimit:i,usagePercentage:a}}})(y),S=()=>w?(0,r.jsx)(a.Z,{className:"h-3 w-3"}):_?(0,r.jsx)(l.Z,{className:"h-3 w-3"}):null;return s&&((null==y?void 0:y.total_users)!==null||(null==y?void 0:y.total_teams)!==null)?(0,r.jsx)("div",{className:"fixed bottom-4 left-4 z-50",style:{width:"".concat(Math.min(t,220),"px")},children:(0,r.jsx)(()=>h?(0,r.jsx)("button",{onClick:()=>p(!1),className:u("bg-white border border-gray-200 rounded-lg shadow-sm p-3 hover:shadow-md transition-all w-full"),title:"Show usage details",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(w||_)&&(0,r.jsx)("span",{className:"flex-shrink-0",children:S()}),(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium truncate",children:[y&&null!==y.total_users&&(0,r.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",L.isOverLimit&&"bg-red-50 text-red-700 border-red-200",L.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!L.isOverLimit&&!L.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["U: ",y.total_users_used,"/",y.total_users]}),y&&null!==y.total_teams&&(0,r.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",Z.isOverLimit&&"bg-red-50 text-red-700 border-red-200",Z.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!Z.isOverLimit&&!Z.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["T: ",y.total_teams_used,"/",y.total_teams]}),!y||null===y.total_users&&null===y.total_teams&&(0,r.jsx)("span",{className:"truncate",children:"Usage"})]})]})}):b?(0,r.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 w-full",children:(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 py-2",children:[(0,r.jsx)(n.Z,{className:"h-4 w-4 animate-spin"}),(0,r.jsx)("span",{className:"text-sm text-gray-500 truncate",children:"Loading..."})]})}):v||!y?(0,r.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 group w-full",children:(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)("span",{className:"text-sm text-gray-500 truncate block",children:v||"No data"})}),(0,r.jsx)("button",{onClick:()=>p(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,r.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]})}):(0,r.jsxs)("div",{className:u("bg-white border rounded-lg shadow-sm p-3 transition-all duration-200 group w-full"),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,r.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(0,r.jsx)("span",{className:"font-medium text-sm truncate",children:"Usage"})]}),(0,r.jsx)("button",{onClick:()=>p(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,r.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]}),(0,r.jsxs)("div",{className:"space-y-3 text-sm",children:[null!==y.total_users&&(0,r.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",L.isOverLimit&&"border-red-200 bg-red-50",L.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,r.jsx)(i.Z,{className:"h-3 w-3"}),(0,r.jsx)("span",{className:"font-medium",children:"Users"}),(0,r.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",L.isOverLimit&&"bg-red-50 text-red-700 border-red-200",L.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!L.isOverLimit&&!L.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:L.isOverLimit?"Over limit":L.isNearLimit?"Near limit":"OK"})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[y.total_users_used,"/",y.total_users]})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,r.jsx)("span",{className:u("font-medium text-right",L.isOverLimit&&"text-red-600",L.isNearLimit&&"text-yellow-600"),children:y.total_users_remaining})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[Math.round(L.usagePercentage),"%"]})]}),(0,r.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,r.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",L.isOverLimit&&"bg-red-500",L.isNearLimit&&"bg-yellow-500",!L.isOverLimit&&!L.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(L.usagePercentage,100),"%")}})})]}),null!==y.total_teams&&(0,r.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",Z.isOverLimit&&"border-red-200 bg-red-50",Z.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,r.jsx)(c.Z,{className:"h-3 w-3"}),(0,r.jsx)("span",{className:"font-medium",children:"Teams"}),(0,r.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",Z.isOverLimit&&"bg-red-50 text-red-700 border-red-200",Z.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!Z.isOverLimit&&!Z.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:Z.isOverLimit?"Over limit":Z.isNearLimit?"Near limit":"OK"})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[y.total_teams_used,"/",y.total_teams]})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,r.jsx)("span",{className:u("font-medium text-right",Z.isOverLimit&&"text-red-600",Z.isNearLimit&&"text-yellow-600"),children:y.total_teams_remaining})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[Math.round(Z.usagePercentage),"%"]})]}),(0,r.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,r.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",Z.isOverLimit&&"bg-red-500",Z.isNearLimit&&"bg-yellow-500",!Z.isOverLimit&&!Z.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(Z.usagePercentage,100),"%")}})})]})]})]}),{})}):null}},69734:function(e,s,t){"use strict";t.d(s,{F:function(){return n},f:function(){return o}});var r=t(57437),a=t(2265),l=t(19250);let i=(0,a.createContext)(void 0),n=()=>{let e=(0,a.useContext)(i);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e},o=e=>{let{children:s,accessToken:t}=e,[n,o]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(async()=>{try{let s=(0,l.getProxyBaseUrl)(),t=await fetch(s?"".concat(s,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{"Content-Type":"application/json"}});if(t.ok){var e;let s=await t.json();(null===(e=s.values)||void 0===e?void 0:e.logo_url)&&o(s.values.logo_url)}}catch(e){console.warn("Failed to load logo settings from backend:",e)}})()},[]),(0,r.jsx)(i.Provider,{value:{logoUrl:n,setLogoUrl:o},children:s})}},91624:function(e,s,t){"use strict";t.d(s,{C:function(){return a}});var r=t(19250);let a=async e=>{if(!e)return null;try{return await (0,r.getProxyUISettings)(e)}catch(e){return console.error("Error fetching proxy settings:",e),null}}},20347:function(e,s,t){"use strict";t.d(s,{LQ:function(){return l},P4:function(){return n},ZL:function(){return r},lo:function(){return a},tY:function(){return i}});let r=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],a=["Internal User","Internal Viewer"],l=["Internal User","Admin","proxy_admin"],i=e=>r.includes(e),n=e=>"proxy_admin"===e||"Admin"===e}},function(e){e.O(0,[9028,9409,4865,3367,3705,7140,7941,8049,2971,2117,1744],function(){return e(e.s=77935)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5642],{69902:function(e,s,t){Promise.resolve().then(t.bind(t,53104))},1309:function(e,s,t){"use strict";t.d(s,{C:function(){return r.Z}});var r=t(41649)},39760:function(e,s,t){"use strict";var r=t(2265),a=t(99376),l=t(14474),i=t(3914),n=t(19250);s.Z=()=>{var e,s,t,o,c,d;let m=(0,a.useRouter)(),u="undefined"!=typeof document?(0,i.e)("token"):null;(0,r.useEffect)(()=>{u||m.replace("".concat((0,n.getProxyBaseUrl)(),"/ui/login"))},[u,m]);let x=(0,r.useMemo)(()=>{if(!u)return null;try{return(0,l.o)(u)}catch(e){return(0,i.b)(),m.replace("".concat((0,n.getProxyBaseUrl)(),"/ui/login")),null}},[u,m]);return{token:u,accessToken:null!==(e=null==x?void 0:x.key)&&void 0!==e?e:null,userId:null!==(s=null==x?void 0:x.user_id)&&void 0!==s?s:null,userEmail:null!==(t=null==x?void 0:x.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(o=null==x?void 0:x.user_role)&&void 0!==o?o:null),premiumUser:null!==(c=null==x?void 0:x.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==x?void 0:x.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==x?void 0:x.login_method)==="username_password"}}},53104:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return A}});var r=t(57437),a=t(2265),l=t(67325),i=t(69734),n=t(13817),o=t(18310),c=t(60985),d=t(92403),m=t(28595),u=t(68208),x=t(9775),g=t(41361),h=t(37527),p=t(15883),y=t(12660),f=t(88009),b=t(48231),j=t(57400),v=t(58630),N=t(44625),w=t(41169),_=t(38434),k=t(71891),L=t(55322),Z=t(99376),S=t(20347),P=t(79262),z=t(19250);let{Sider:O}=n.default,U=()=>{let e="ui/".replace(/^\/+|\/+$/g,""),s=e?"/".concat(e,"/"):"/";if(z.serverRootPath&&"/"!==z.serverRootPath){let e=z.serverRootPath.replace(/\/+$/,""),t=s.replace(/^\/+/,"");return"".concat(e,"/").concat(t)}return s},C=e=>{switch(e){case"api-keys":return"virtual-keys";case"llm-playground":return"test-key";case"models":return"models-and-endpoints";case"new_usage":return"usage";case"teams":return"teams";case"organizations":return"organizations";case"users":return"users";case"api_ref":return"api-reference";case"model-hub-table":return"model-hub";case"logs":return"logs";case"guardrails":return"guardrails";case"mcp-servers":return"tools/mcp-servers";case"vector-stores":return"tools/vector-stores";case"caching":return"experimental/caching";case"prompts":return"experimental/prompts";case"budgets":return"experimental/budgets";case"transform-request":return"experimental/api-playground";case"tag-management":return"experimental/tag-management";case"usage":return"experimental/old-usage";case"general-settings":return"settings/router-settings";case"settings":return"settings/logging-and-alerts";case"admin-panel":return"settings/admin-settings";case"ui-theme":return"settings/ui-theme";default:return e.replace(/^\/+/,"")}},M=e=>{let s=U(),t=C(e).replace(/^\/+|\/+$/g,"");return"".concat(s).concat(t)},R=[{key:"1",page:"api-keys",label:"Virtual Keys",icon:(0,r.jsx)(d.Z,{style:{fontSize:18}})},{key:"3",page:"llm-playground",label:"Test Key",icon:(0,r.jsx)(m.Z,{style:{fontSize:18}}),roles:S.LQ},{key:"2",page:"models",label:"Models + Endpoints",icon:(0,r.jsx)(u.Z,{style:{fontSize:18}}),roles:S.LQ},{key:"12",page:"new_usage",label:"Usage",icon:(0,r.jsx)(x.Z,{style:{fontSize:18}}),roles:[...S.ZL,...S.lo]},{key:"6",page:"teams",label:"Teams",icon:(0,r.jsx)(g.Z,{style:{fontSize:18}})},{key:"17",page:"organizations",label:"Organizations",icon:(0,r.jsx)(h.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"5",page:"users",label:"Internal Users",icon:(0,r.jsx)(p.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"14",page:"api_ref",label:"API Reference",icon:(0,r.jsx)(y.Z,{style:{fontSize:18}})},{key:"16",page:"model-hub-table",label:"Model Hub",icon:(0,r.jsx)(f.Z,{style:{fontSize:18}})},{key:"15",page:"logs",label:"Logs",icon:(0,r.jsx)(b.Z,{style:{fontSize:18}})},{key:"11",page:"guardrails",label:"Guardrails",icon:(0,r.jsx)(j.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"26",page:"tools",label:"Tools",icon:(0,r.jsx)(v.Z,{style:{fontSize:18}}),children:[{key:"18",page:"mcp-servers",label:"MCP Servers",icon:(0,r.jsx)(v.Z,{style:{fontSize:18}})},{key:"21",page:"vector-stores",label:"Vector Stores",icon:(0,r.jsx)(N.Z,{style:{fontSize:18}}),roles:S.ZL}]},{key:"experimental",page:"experimental",label:"Experimental",icon:(0,r.jsx)(w.Z,{style:{fontSize:18}}),children:[{key:"9",page:"caching",label:"Caching",icon:(0,r.jsx)(N.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"25",page:"prompts",label:"Prompts",icon:(0,r.jsx)(_.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"10",page:"budgets",label:"Budgets",icon:(0,r.jsx)(h.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"20",page:"transform-request",label:"API Playground",icon:(0,r.jsx)(y.Z,{style:{fontSize:18}}),roles:[...S.ZL,...S.lo]},{key:"19",page:"tag-management",label:"Tag Management",icon:(0,r.jsx)(k.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"4",page:"usage",label:"Old Usage",icon:(0,r.jsx)(x.Z,{style:{fontSize:18}})}]},{key:"settings",page:"settings",label:"Settings",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL,children:[{key:"11",page:"general-settings",label:"Router Settings",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"8",page:"settings",label:"Logging & Alerts",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"13",page:"admin-panel",label:"Admin Settings",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL},{key:"14",page:"ui-theme",label:"UI Theme",icon:(0,r.jsx)(L.Z,{style:{fontSize:18}}),roles:S.ZL}]}];var E=e=>{let{accessToken:s,userRole:t,defaultSelectedKey:l,collapsed:i=!1}=e,d=(0,Z.useRouter)(),m=(0,Z.usePathname)()||"/",u=a.useMemo(()=>R.filter(e=>!e.roles||e.roles.includes(t)).map(e=>({...e,children:e.children?e.children.filter(e=>!e.roles||e.roles.includes(t)):void 0})),[t]),x=a.useMemo(()=>{var e,s;let t=U(),r=(m.startsWith(t)?m.slice(t.length):m.replace(/^\/+/,"")).toLowerCase(),a=e=>{let s=C(e).toLowerCase();return r===s||r.startsWith("".concat(s,"/"))};for(let e of u){if(!e.children&&a(e.page))return e.key;if(e.children){for(let s of e.children)if(a(s.page))return s.key}}let i=null===(e=u.find(e=>e.page===l))||void 0===e?void 0:e.key;if(i)return i;for(let e of u)if(null===(s=e.children)||void 0===s?void 0:s.some(e=>e.page===l))return e.children.find(e=>e.page===l).key;return"1"},[m,u,l]),g=e=>{let s=M(e);d.push(s)};return(0,r.jsx)(n.default,{style:{minHeight:"100vh"},children:(0,r.jsxs)(O,{theme:"light",width:220,collapsed:i,collapsedWidth:80,collapsible:!0,trigger:null,style:{transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",position:"relative"},children:[(0,r.jsx)(o.ZP,{theme:{components:{Menu:{iconSize:18,fontSize:14}}},children:(0,r.jsx)(c.Z,{mode:"inline",selectedKeys:[x],defaultOpenKeys:i?[]:["llm-tools"],inlineCollapsed:i,className:"custom-sidebar-menu",style:{borderRight:0,backgroundColor:"transparent",fontSize:"14px"},items:u.map(e=>{var s;return{key:e.key,icon:e.icon,label:e.label,children:null===(s=e.children)||void 0===s?void 0:s.map(e=>({key:e.key,icon:e.icon,label:e.label,onClick:()=>g(e.page)})),onClick:e.children?void 0:()=>g(e.page)}})})}),(0,S.tY)(t)&&!i&&(0,r.jsx)(P.Z,{accessToken:s,width:220})]})})},T=t(39760);function A(e){let{children:s}=e;(0,Z.useRouter)();let t=(0,Z.useSearchParams)(),{accessToken:n,userRole:o,userId:c,userEmail:d,premiumUser:m}=(0,T.Z)(),[u,x]=a.useState(!1),[g,h]=(0,a.useState)(()=>t.get("page")||"api-keys");return(0,a.useEffect)(()=>{h(t.get("page")||"api-keys")},[t]),(0,r.jsx)(i.f,{accessToken:"",children:(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,r.jsx)(l.Z,{isPublicPage:!1,sidebarCollapsed:u,onToggleSidebar:()=>x(e=>!e),userID:c,userEmail:d,userRole:o,premiumUser:m,proxySettings:void 0,setProxySettings:()=>{},accessToken:n}),(0,r.jsxs)("div",{className:"flex flex-1 overflow-auto",children:[(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(E,{defaultSelectedKey:g,accessToken:n,userRole:o})}),(0,r.jsx)("main",{className:"flex-1",children:s})]})]})})}!function(e){let s="ui/".trim();if(s)s.replace(/^\/+/,"").replace(/\/+$/,"")}(0)},67325:function(e,s,t){"use strict";var r=t(57437),a=t(27648),l=t(2265),i=t(99981),n=t(73705),o=t(19250),c=t(15883),d=t(46346),m=t(57400),u=t(91870),x=t(40428),g=t(83884),h=t(45524),p=t(3914),y=t(91624),f=t(69734);s.Z=e=>{let{userID:s,userEmail:t,userRole:b,premiumUser:j,proxySettings:v,setProxySettings:N,accessToken:w,isPublicPage:_=!1,sidebarCollapsed:k=!1,onToggleSidebar:L}=e,Z=(0,o.getProxyBaseUrl)(),[S,P]=(0,l.useState)(""),[z,O]=(0,l.useState)(""),{logoUrl:U}=(0,f.F)(),C=U||"".concat(Z,"/get_image");(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch("".concat(Z,"/health/readiness")),s=await e.json();s.litellm_version&&O(s.litellm_version)}catch(e){console.error("Failed to fetch version:",e)}})()},[Z]),(0,l.useEffect)(()=>{(async()=>{if(w){let e=await (0,y.C)(w);console.log("response from fetchProxySettings",e),e&&N(e)}})()},[w]),(0,l.useEffect)(()=>{P((null==v?void 0:v.PROXY_LOGOUT_URL)||"")},[v]);let M=[{key:"user-info",onClick:e=>{var s;return null===(s=e.domEvent)||void 0===s?void 0:s.stopPropagation()},label:(0,r.jsxs)("div",{className:"px-3 py-3 border-b border-gray-100",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(c.Z,{className:"mr-2 text-gray-700"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-gray-900",children:s})]}),j?(0,r.jsx)(i.Z,{title:"Premium User",placement:"left",children:(0,r.jsxs)("div",{className:"flex items-center bg-gradient-to-r from-amber-500 to-yellow-500 text-white px-2 py-0.5 rounded-full cursor-help",children:[(0,r.jsx)(d.Z,{className:"mr-1 text-xs"}),(0,r.jsx)("span",{className:"text-xs font-medium",children:"Premium"})]})}):(0,r.jsx)(i.Z,{title:"Upgrade to Premium for advanced features",placement:"left",children:(0,r.jsxs)("div",{className:"flex items-center bg-gray-100 text-gray-500 px-2 py-0.5 rounded-full cursor-help",children:[(0,r.jsx)(d.Z,{className:"mr-1 text-xs"}),(0,r.jsx)("span",{className:"text-xs font-medium",children:"Standard"})]})})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center text-sm",children:[(0,r.jsx)(m.Z,{className:"mr-2 text-gray-400 text-xs"}),(0,r.jsx)("span",{className:"text-gray-500 text-xs",children:"Role"}),(0,r.jsx)("span",{className:"ml-auto text-gray-700 font-medium",children:b})]}),(0,r.jsxs)("div",{className:"flex items-center text-sm",children:[(0,r.jsx)(u.Z,{className:"mr-2 text-gray-400 text-xs"}),(0,r.jsx)("span",{className:"text-gray-500 text-xs",children:"Email"}),(0,r.jsx)("span",{className:"ml-auto text-gray-700 font-medium truncate max-w-[150px]",title:t||"Unknown",children:t||"Unknown"})]})]})]})},{key:"logout",label:(0,r.jsxs)("div",{className:"flex items-center py-2 px-3 hover:bg-gray-50 rounded-md mx-1 my-1",onClick:()=>{(0,p.b)(),window.location.href=S},children:[(0,r.jsx)(x.Z,{className:"mr-3 text-gray-600"}),(0,r.jsx)("span",{className:"text-gray-800",children:"Logout"})]})}];return(0,r.jsx)("nav",{className:"bg-white border-b border-gray-200 sticky top-0 z-10",children:(0,r.jsx)("div",{className:"w-full",children:(0,r.jsxs)("div",{className:"flex items-center h-14 px-4",children:[" ",(0,r.jsxs)("div",{className:"flex items-center flex-shrink-0",children:[L&&(0,r.jsx)("button",{onClick:L,className:"flex items-center justify-center w-10 h-10 mr-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded transition-colors",title:k?"Expand sidebar":"Collapse sidebar",children:(0,r.jsx)("span",{className:"text-lg",children:k?(0,r.jsx)(g.Z,{}):(0,r.jsx)(h.Z,{})})}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(a.default,{href:"/",className:"flex items-center",children:(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("img",{src:C,alt:"LiteLLM Brand",className:"h-10 w-auto"}),(0,r.jsx)("span",{className:"absolute -top-1 -right-2 text-lg animate-bounce",style:{animationDuration:"2s"},title:"Happy Holidays!",children:"\uD83C\uDF84"})]})}),z&&(0,r.jsxs)("a",{href:"https://docs.litellm.ai/release_notes",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-gray-500 border border-gray-200 rounded-lg px-2 py-0.5 bg-gray-50 font-medium -ml-2 hover:bg-gray-100 transition-colors cursor-pointer z-10",children:["v",z]})]})]}),(0,r.jsxs)("div",{className:"flex items-center space-x-5 ml-auto",children:[(0,r.jsx)("a",{href:"https://docs.litellm.ai/docs/",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-gray-600 hover:text-gray-900 transition-colors",children:"Docs"}),!_&&(0,r.jsx)(n.Z,{menu:{items:M,className:"min-w-[200px]",style:{padding:"8px",marginTop:"8px",borderRadius:"12px",boxShadow:"0 4px 24px rgba(0, 0, 0, 0.08)"}},overlayStyle:{minWidth:"200px"},children:(0,r.jsxs)("button",{className:"inline-flex items-center text-sm text-gray-600 hover:text-gray-900 transition-colors",children:["User",(0,r.jsx)("svg",{className:"ml-1 w-5 h-5 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M19 9l-7 7-7-7"})})]})})]})]})})})}},79262:function(e,s,t){"use strict";t.d(s,{Z:function(){return x}});var r=t(57437);t(1309);var a=t(76865),l=t(70525),i=t(95805),n=t(51817),o=t(21047);t(22135),t(40875);var c=t(49663),d=t(2265),m=t(19250);let u=function(){for(var e=arguments.length,s=Array(e),t=0;t{(async()=>{if(s){j(!0),N(null);try{let e=await (0,m.getRemainingUsers)(s);f(e)}catch(e){console.error("Failed to fetch usage data:",e),N("Failed to load usage data")}finally{j(!1)}}})()},[s]);let{isOverLimit:w,isNearLimit:_,usagePercentage:k,userMetrics:L,teamMetrics:Z}=(e=>{if(!e)return{isOverLimit:!1,isNearLimit:!1,usagePercentage:0,userMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0},teamMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0}};let s=e.total_users?e.total_users_used/e.total_users*100:0,t=s>100,r=s>=80&&s<=100,a=e.total_teams?e.total_teams_used/e.total_teams*100:0,l=a>100,i=a>=80&&a<=100,n=t||l;return{isOverLimit:n,isNearLimit:(r||i)&&!n,usagePercentage:Math.max(s,a),userMetrics:{isOverLimit:t,isNearLimit:r,usagePercentage:s},teamMetrics:{isOverLimit:l,isNearLimit:i,usagePercentage:a}}})(y),S=()=>w?(0,r.jsx)(a.Z,{className:"h-3 w-3"}):_?(0,r.jsx)(l.Z,{className:"h-3 w-3"}):null;return s&&((null==y?void 0:y.total_users)!==null||(null==y?void 0:y.total_teams)!==null)?(0,r.jsx)("div",{className:"fixed bottom-4 left-4 z-50",style:{width:"".concat(Math.min(t,220),"px")},children:(0,r.jsx)(()=>h?(0,r.jsx)("button",{onClick:()=>p(!1),className:u("bg-white border border-gray-200 rounded-lg shadow-sm p-3 hover:shadow-md transition-all w-full"),title:"Show usage details",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(w||_)&&(0,r.jsx)("span",{className:"flex-shrink-0",children:S()}),(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium truncate",children:[y&&null!==y.total_users&&(0,r.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",L.isOverLimit&&"bg-red-50 text-red-700 border-red-200",L.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!L.isOverLimit&&!L.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["U: ",y.total_users_used,"/",y.total_users]}),y&&null!==y.total_teams&&(0,r.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",Z.isOverLimit&&"bg-red-50 text-red-700 border-red-200",Z.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!Z.isOverLimit&&!Z.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["T: ",y.total_teams_used,"/",y.total_teams]}),!y||null===y.total_users&&null===y.total_teams&&(0,r.jsx)("span",{className:"truncate",children:"Usage"})]})]})}):b?(0,r.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 w-full",children:(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 py-2",children:[(0,r.jsx)(n.Z,{className:"h-4 w-4 animate-spin"}),(0,r.jsx)("span",{className:"text-sm text-gray-500 truncate",children:"Loading..."})]})}):v||!y?(0,r.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 group w-full",children:(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)("span",{className:"text-sm text-gray-500 truncate block",children:v||"No data"})}),(0,r.jsx)("button",{onClick:()=>p(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,r.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]})}):(0,r.jsxs)("div",{className:u("bg-white border rounded-lg shadow-sm p-3 transition-all duration-200 group w-full"),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,r.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(0,r.jsx)("span",{className:"font-medium text-sm truncate",children:"Usage"})]}),(0,r.jsx)("button",{onClick:()=>p(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,r.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]}),(0,r.jsxs)("div",{className:"space-y-3 text-sm",children:[null!==y.total_users&&(0,r.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",L.isOverLimit&&"border-red-200 bg-red-50",L.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,r.jsx)(i.Z,{className:"h-3 w-3"}),(0,r.jsx)("span",{className:"font-medium",children:"Users"}),(0,r.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",L.isOverLimit&&"bg-red-50 text-red-700 border-red-200",L.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!L.isOverLimit&&!L.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:L.isOverLimit?"Over limit":L.isNearLimit?"Near limit":"OK"})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[y.total_users_used,"/",y.total_users]})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,r.jsx)("span",{className:u("font-medium text-right",L.isOverLimit&&"text-red-600",L.isNearLimit&&"text-yellow-600"),children:y.total_users_remaining})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[Math.round(L.usagePercentage),"%"]})]}),(0,r.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,r.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",L.isOverLimit&&"bg-red-500",L.isNearLimit&&"bg-yellow-500",!L.isOverLimit&&!L.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(L.usagePercentage,100),"%")}})})]}),null!==y.total_teams&&(0,r.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",Z.isOverLimit&&"border-red-200 bg-red-50",Z.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,r.jsx)(c.Z,{className:"h-3 w-3"}),(0,r.jsx)("span",{className:"font-medium",children:"Teams"}),(0,r.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",Z.isOverLimit&&"bg-red-50 text-red-700 border-red-200",Z.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!Z.isOverLimit&&!Z.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:Z.isOverLimit?"Over limit":Z.isNearLimit?"Near limit":"OK"})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[y.total_teams_used,"/",y.total_teams]})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,r.jsx)("span",{className:u("font-medium text-right",Z.isOverLimit&&"text-red-600",Z.isNearLimit&&"text-yellow-600"),children:y.total_teams_remaining})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,r.jsxs)("span",{className:"font-medium text-right",children:[Math.round(Z.usagePercentage),"%"]})]}),(0,r.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,r.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",Z.isOverLimit&&"bg-red-500",Z.isNearLimit&&"bg-yellow-500",!Z.isOverLimit&&!Z.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(Z.usagePercentage,100),"%")}})})]})]})]}),{})}):null}},69734:function(e,s,t){"use strict";t.d(s,{F:function(){return n},f:function(){return o}});var r=t(57437),a=t(2265),l=t(19250);let i=(0,a.createContext)(void 0),n=()=>{let e=(0,a.useContext)(i);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e},o=e=>{let{children:s,accessToken:t}=e,[n,o]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(async()=>{try{let s=(0,l.getProxyBaseUrl)(),t=await fetch(s?"".concat(s,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{"Content-Type":"application/json"}});if(t.ok){var e;let s=await t.json();(null===(e=s.values)||void 0===e?void 0:e.logo_url)&&o(s.values.logo_url)}}catch(e){console.warn("Failed to load logo settings from backend:",e)}})()},[]),(0,r.jsx)(i.Provider,{value:{logoUrl:n,setLogoUrl:o},children:s})}},91624:function(e,s,t){"use strict";t.d(s,{C:function(){return a}});var r=t(19250);let a=async e=>{if(!e)return null;try{return await (0,r.getProxyUISettings)(e)}catch(e){return console.error("Error fetching proxy settings:",e),null}}},20347:function(e,s,t){"use strict";t.d(s,{LQ:function(){return l},P4:function(){return n},ZL:function(){return r},_p:function(){return c},lo:function(){return a},tY:function(){return i},yV:function(){return o}});let r=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],a=["Internal User","Internal Viewer"],l=["Internal User","Admin","proxy_admin"],i=e=>r.includes(e),n=e=>"proxy_admin"===e||"Admin"===e,o=(e,s)=>null!=e&&e.some(e=>c(e,s)),c=(e,s)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===s&&"admin"===e.role)}},function(e){e.O(0,[9028,9409,4865,3367,7138,9165,7941,8049,2971,2117,1744],function(){return e(e.s=69902)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/logs/page-3206b757a84d04dd.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/logs/page-3206b757a84d04dd.js deleted file mode 100644 index fe183acf17..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/logs/page-3206b757a84d04dd.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2100],{15956:function(e,t,r){Promise.resolve().then(r.bind(r,19056))},38434:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"},i=r(55015),c=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},69993:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(1119),o=r(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},i=r(55015),c=o.forwardRef(function(e,t){return o.createElement(i.Z,(0,n.Z)({},e,{ref:t,icon:a}))})},44140:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(2265);let o=(e,t)=>{let r=void 0!==t,[o,a]=(0,n.useState)(e);return[r?t:o,e=>{r||a(e)}]}},79205:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(2265);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),i=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},c=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let u=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:u="",children:d,iconNode:f,...g}=e;return(0,n.createElement)("svg",{ref:t,...s,width:o,height:o,stroke:r,strokeWidth:i?24*Number(a)/Number(o):a,className:c("lucide",u),...!d&&!l(g)&&{"aria-hidden":"true"},...g},[...f.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(d)?d:[d]])}),d=(e,t)=>{let r=(0,n.forwardRef)((r,a)=>{let{className:l,...s}=r;return(0,n.createElement)(u,{ref:a,iconNode:t,className:c("lucide-".concat(o(i(e))),"lucide-".concat(e),l),...s})});return r.displayName=i(e),r}},78867:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},32489:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},19130:function(e,t,r){"use strict";r.d(t,{RM:function(){return o.Z},SC:function(){return l.Z},iA:function(){return n.Z},pj:function(){return a.Z},ss:function(){return i.Z},xs:function(){return c.Z}});var n=r(21626),o=r(97214),a=r(28241),i=r(58834),c=r(69552),l=r(71876)},11318:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(2265),o=r(39760),a=r(19250);let i=async(e,t,r,n)=>"Admin"!=r&&"Admin Viewer"!=r?await (0,a.teamListCall)(e,(null==n?void 0:n.organization_id)||null,t):await (0,a.teamListCall)(e,(null==n?void 0:n.organization_id)||null);var c=()=>{let[e,t]=(0,n.useState)([]),{accessToken:r,userId:a,userRole:c}=(0,o.Z)();return(0,n.useEffect)(()=>{(async()=>{t(await i(r,a,c,null))})()},[r,a,c]),{teams:e,setTeams:t}}},19056:function(e,t,r){"use strict";r.r(t);var n=r(57437),o=r(33801),a=r(39760),i=r(11318),c=r(21623),l=r(29827);t.default=()=>{let{accessToken:e,token:t,userRole:r,userId:s,premiumUser:u}=(0,a.Z)(),{teams:d}=(0,i.Z)(),f=new c.S;return(0,n.jsx)(l.aH,{client:f,children:(0,n.jsx)(o.Z,{accessToken:e,token:t,userRole:r,userID:s,allTeams:d||[],premiumUser:u})})}},42673:function(e,t,r){"use strict";var n,o;r.d(t,{Cl:function(){return n},bK:function(){return u},cd:function(){return c},dr:function(){return l},fK:function(){return a},ph:function(){return s}}),(o=n||(n={})).A2A_Agent="A2A Agent",o.AIML="AI/ML API",o.Bedrock="Amazon Bedrock",o.Anthropic="Anthropic",o.AssemblyAI="AssemblyAI",o.SageMaker="AWS SageMaker",o.Azure="Azure",o.Azure_AI_Studio="Azure AI Foundry (Studio)",o.Cerebras="Cerebras",o.Cohere="Cohere",o.Dashscope="Dashscope",o.Databricks="Databricks (Qwen API)",o.DeepInfra="DeepInfra",o.Deepgram="Deepgram",o.Deepseek="Deepseek",o.ElevenLabs="ElevenLabs",o.FalAI="Fal AI",o.FireworksAI="Fireworks AI",o.Google_AI_Studio="Google AI Studio",o.GradientAI="GradientAI",o.Groq="Groq",o.Hosted_Vllm="vllm",o.Infinity="Infinity",o.JinaAI="Jina AI",o.MistralAI="Mistral AI",o.Ollama="Ollama",o.OpenAI="OpenAI",o.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",o.OpenAI_Text="OpenAI Text Completion",o.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",o.Openrouter="Openrouter",o.Oracle="Oracle Cloud Infrastructure (OCI)",o.Perplexity="Perplexity",o.RunwayML="RunwayML",o.Sambanova="Sambanova",o.Snowflake="Snowflake",o.TogetherAI="TogetherAI",o.Triton="Triton",o.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",o.VolcEngine="VolcEngine",o.Voyage="Voyage AI",o.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},i="../ui/assets/logos/",c={"A2A Agent":"".concat(i,"a2a_agent.png"),"AI/ML API":"".concat(i,"aiml_api.svg"),Anthropic:"".concat(i,"anthropic.svg"),AssemblyAI:"".concat(i,"assemblyai_small.png"),Azure:"".concat(i,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(i,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(i,"bedrock.svg"),"AWS SageMaker":"".concat(i,"bedrock.svg"),Cerebras:"".concat(i,"cerebras.svg"),Cohere:"".concat(i,"cohere.svg"),"Databricks (Qwen API)":"".concat(i,"databricks.svg"),Dashscope:"".concat(i,"dashscope.svg"),Deepseek:"".concat(i,"deepseek.svg"),"Fireworks AI":"".concat(i,"fireworks.svg"),Groq:"".concat(i,"groq.svg"),"Google AI Studio":"".concat(i,"google.svg"),vllm:"".concat(i,"vllm.png"),Infinity:"".concat(i,"infinity.png"),"Mistral AI":"".concat(i,"mistral.svg"),Ollama:"".concat(i,"ollama.svg"),OpenAI:"".concat(i,"openai_small.svg"),"OpenAI Text Completion":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(i,"openai_small.svg"),Openrouter:"".concat(i,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(i,"oracle.svg"),Perplexity:"".concat(i,"perplexity-ai.svg"),RunwayML:"".concat(i,"runwayml.png"),Sambanova:"".concat(i,"sambanova.svg"),Snowflake:"".concat(i,"snowflake.svg"),TogetherAI:"".concat(i,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(i,"google.svg"),xAI:"".concat(i,"xai.svg"),GradientAI:"".concat(i,"gradientai.svg"),Triton:"".concat(i,"nvidia_triton.png"),Deepgram:"".concat(i,"deepgram.png"),ElevenLabs:"".concat(i,"elevenlabs.png"),"Fal AI":"".concat(i,"fal_ai.jpg"),"Voyage AI":"".concat(i,"voyage.webp"),"Jina AI":"".concat(i,"jina.png"),VolcEngine:"".concat(i,"volcengine.png"),DeepInfra:"".concat(i,"deepinfra.png")},l=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:c[e],displayName:e}}let t=Object.keys(a).find(t=>a[t].toLowerCase()===e.toLowerCase());if(!t)return{logo:"",displayName:e};let r=n[t];return{logo:c[r],displayName:r}},s=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},u=(e,t)=>{console.log("Provider key: ".concat(e));let r=a[e];console.log("Provider mapped to: ".concat(r));let n=[];return e&&"object"==typeof t&&(Object.entries(t).forEach(e=>{let[t,o]=e;null!==o&&"object"==typeof o&&"litellm_provider"in o&&(o.litellm_provider===r||o.litellm_provider.includes(r))&&n.push(t)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(t).forEach(e=>{let[t,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&"cohere_chat"===r.litellm_provider&&n.push(t)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(t).forEach(e=>{let[t,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&"sagemaker_chat"===r.litellm_provider&&n.push(t)}))),n}},12322:function(e,t,r){"use strict";r.d(t,{w:function(){return l}});var n=r(57437),o=r(2265),a=r(71594),i=r(24525),c=r(19130);function l(e){let{data:t=[],columns:r,getRowCanExpand:l,renderSubComponent:s,isLoading:u=!1,loadingMessage:d="\uD83D\uDE85 Loading logs...",noDataMessage:f="No logs found"}=e,g=(0,a.b7)({data:t,columns:r,getRowCanExpand:l,getRowId:(e,t)=>{var r;return null!==(r=null==e?void 0:e.request_id)&&void 0!==r?r:String(t)},getCoreRowModel:(0,i.sC)(),getExpandedRowModel:(0,i.rV)()});return(0,n.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,n.jsxs)(c.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,n.jsx)(c.ss,{children:g.getHeaderGroups().map(e=>(0,n.jsx)(c.SC,{children:e.headers.map(e=>(0,n.jsx)(c.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,a.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,n.jsx)(c.RM,{children:u?(0,n.jsx)(c.SC,{children:(0,n.jsx)(c.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,n.jsx)("div",{className:"text-center text-gray-500",children:(0,n.jsx)("p",{children:d})})})}):g.getRowModel().rows.length>0?g.getRowModel().rows.map(e=>(0,n.jsxs)(o.Fragment,{children:[(0,n.jsx)(c.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,n.jsx)(c.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,a.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,n.jsx)(c.SC,{children:(0,n.jsx)(c.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,n.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:s({row:e})})})})]},e.id)):(0,n.jsx)(c.SC,{children:(0,n.jsx)(c.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,n.jsx)("div",{className:"text-center text-gray-500",children:(0,n.jsx)("p",{children:f})})})})})]})})}},10900:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=o},91777:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"}))});t.Z=o},86462:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});t.Z=o},47686:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});t.Z=o},58710:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},82182:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}))});t.Z=o},79814:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"}))});t.Z=o},93416:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});t.Z=o},77355:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=o},22452:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"}))});t.Z=o},25327:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"}))});t.Z=o},3497:function(e,t,r){"use strict";var n=r(2265);let o=n.forwardRef(function(e,t){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"}))});t.Z=o},92668:function(e,t,r){"use strict";r.d(t,{I:function(){return c}});var n=r(59121),o=r(31091),a=r(63497),i=r(99649);function c(e,t){let{years:r=0,months:c=0,weeks:l=0,days:s=0,hours:u=0,minutes:d=0,seconds:f=0}=t,g=(0,i.Q)(e),p=c||r?(0,o.z)(g,c+12*r):g,m=s||l?(0,n.E)(p,s+7*l):p;return(0,a.L)(e,m.getTime()+1e3*(f+60*(d+60*u)))}},59121:function(e,t,r){"use strict";r.d(t,{E:function(){return a}});var n=r(99649),o=r(63497);function a(e,t){let r=(0,n.Q)(e);return isNaN(t)?(0,o.L)(e,NaN):(t&&r.setDate(r.getDate()+t),r)}},31091:function(e,t,r){"use strict";r.d(t,{z:function(){return a}});var n=r(99649),o=r(63497);function a(e,t){let r=(0,n.Q)(e);if(isNaN(t))return(0,o.L)(e,NaN);if(!t)return r;let a=r.getDate(),i=(0,o.L)(e,r.getTime());return(i.setMonth(r.getMonth()+t+1,0),a>=i.getDate())?i:(r.setFullYear(i.getFullYear(),i.getMonth(),a),r)}},63497:function(e,t,r){"use strict";function n(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}r.d(t,{L:function(){return n}})},99649:function(e,t,r){"use strict";function n(e){let t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):new Date("number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?e:NaN)}r.d(t,{Q:function(){return n}})}},function(e){e.O(0,[9546,1047,6990,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,525,6609,1713,7996,6640,8049,4679,2202,874,4292,3801,2971,2117,1744],function(){return e(e.s=15956)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/logs/page-59393ea2ea19ffdd.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/logs/page-59393ea2ea19ffdd.js new file mode 100644 index 0000000000..605f1ddf2d --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/logs/page-59393ea2ea19ffdd.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2100],{89587:function(e,n,o){Promise.resolve().then(o.bind(o,19056))},19130:function(e,n,o){"use strict";o.d(n,{RM:function(){return t.Z},SC:function(){return c.Z},iA:function(){return r.Z},pj:function(){return a.Z},ss:function(){return l.Z},xs:function(){return i.Z}});var r=o(21626),t=o(97214),a=o(28241),l=o(58834),i=o(69552),c=o(71876)},19056:function(e,n,o){"use strict";o.r(n);var r=o(57437),t=o(33801),a=o(39760),l=o(11318),i=o(21623),c=o(29827);n.default=()=>{let{accessToken:e,token:n,userRole:o,userId:s,premiumUser:p}=(0,a.Z)(),{teams:u}=(0,l.Z)(),g=new i.S;return(0,r.jsx)(c.aH,{client:g,children:(0,r.jsx)(t.Z,{accessToken:e,token:n,userRole:o,userID:s,allTeams:u||[],premiumUser:p})})}},42673:function(e,n,o){"use strict";var r,t;o.d(n,{Cl:function(){return r},bK:function(){return p},cd:function(){return i},dr:function(){return c},fK:function(){return a},ph:function(){return s}}),(t=r||(r={})).A2A_Agent="A2A Agent",t.AIML="AI/ML API",t.Bedrock="Amazon Bedrock",t.Anthropic="Anthropic",t.AssemblyAI="AssemblyAI",t.SageMaker="AWS SageMaker",t.Azure="Azure",t.Azure_AI_Studio="Azure AI Foundry (Studio)",t.Cerebras="Cerebras",t.Cohere="Cohere",t.Dashscope="Dashscope",t.Databricks="Databricks (Qwen API)",t.DeepInfra="DeepInfra",t.Deepgram="Deepgram",t.Deepseek="Deepseek",t.ElevenLabs="ElevenLabs",t.FalAI="Fal AI",t.FireworksAI="Fireworks AI",t.Google_AI_Studio="Google AI Studio",t.GradientAI="GradientAI",t.Groq="Groq",t.Hosted_Vllm="vllm",t.Infinity="Infinity",t.JinaAI="Jina AI",t.MistralAI="Mistral AI",t.Ollama="Ollama",t.OpenAI="OpenAI",t.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",t.OpenAI_Text="OpenAI Text Completion",t.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",t.Openrouter="Openrouter",t.Oracle="Oracle Cloud Infrastructure (OCI)",t.Perplexity="Perplexity",t.RunwayML="RunwayML",t.Sambanova="Sambanova",t.Snowflake="Snowflake",t.TogetherAI="TogetherAI",t.Triton="Triton",t.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",t.VolcEngine="VolcEngine",t.Voyage="Voyage AI",t.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},l="../ui/assets/logos/",i={"A2A Agent":"".concat(l,"a2a_agent.png"),"AI/ML API":"".concat(l,"aiml_api.svg"),Anthropic:"".concat(l,"anthropic.svg"),AssemblyAI:"".concat(l,"assemblyai_small.png"),Azure:"".concat(l,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(l,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(l,"bedrock.svg"),"AWS SageMaker":"".concat(l,"bedrock.svg"),Cerebras:"".concat(l,"cerebras.svg"),Cohere:"".concat(l,"cohere.svg"),"Databricks (Qwen API)":"".concat(l,"databricks.svg"),Dashscope:"".concat(l,"dashscope.svg"),Deepseek:"".concat(l,"deepseek.svg"),"Fireworks AI":"".concat(l,"fireworks.svg"),Groq:"".concat(l,"groq.svg"),"Google AI Studio":"".concat(l,"google.svg"),vllm:"".concat(l,"vllm.png"),Infinity:"".concat(l,"infinity.png"),"Mistral AI":"".concat(l,"mistral.svg"),Ollama:"".concat(l,"ollama.svg"),OpenAI:"".concat(l,"openai_small.svg"),"OpenAI Text Completion":"".concat(l,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(l,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(l,"openai_small.svg"),Openrouter:"".concat(l,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(l,"oracle.svg"),Perplexity:"".concat(l,"perplexity-ai.svg"),RunwayML:"".concat(l,"runwayml.png"),Sambanova:"".concat(l,"sambanova.svg"),Snowflake:"".concat(l,"snowflake.svg"),TogetherAI:"".concat(l,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(l,"google.svg"),xAI:"".concat(l,"xai.svg"),GradientAI:"".concat(l,"gradientai.svg"),Triton:"".concat(l,"nvidia_triton.png"),Deepgram:"".concat(l,"deepgram.png"),ElevenLabs:"".concat(l,"elevenlabs.png"),"Fal AI":"".concat(l,"fal_ai.jpg"),"Voyage AI":"".concat(l,"voyage.webp"),"Jina AI":"".concat(l,"jina.png"),VolcEngine:"".concat(l,"volcengine.png"),DeepInfra:"".concat(l,"deepinfra.png")},c=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:i[e],displayName:e}}let n=Object.keys(a).find(n=>a[n].toLowerCase()===e.toLowerCase());if(!n)return{logo:"",displayName:e};let o=r[n];return{logo:i[o],displayName:o}},s=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},p=(e,n)=>{console.log("Provider key: ".concat(e));let o=a[e];console.log("Provider mapped to: ".concat(o));let r=[];return e&&"object"==typeof n&&(Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&(t.litellm_provider===o||t.litellm_provider.includes(o))&&r.push(n)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(n).forEach(e=>{let[n,o]=e;null!==o&&"object"==typeof o&&"litellm_provider"in o&&"cohere_chat"===o.litellm_provider&&r.push(n)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(n).forEach(e=>{let[n,o]=e;null!==o&&"object"==typeof o&&"litellm_provider"in o&&"sagemaker_chat"===o.litellm_provider&&r.push(n)}))),r}},12322:function(e,n,o){"use strict";o.d(n,{w:function(){return c}});var r=o(57437),t=o(2265),a=o(71594),l=o(24525),i=o(19130);function c(e){let{data:n=[],columns:o,getRowCanExpand:c,renderSubComponent:s,isLoading:p=!1,loadingMessage:u="\uD83D\uDE85 Loading logs...",noDataMessage:g="No logs found"}=e,d=(0,a.b7)({data:n,columns:o,getRowCanExpand:c,getRowId:(e,n)=>{var o;return null!==(o=null==e?void 0:e.request_id)&&void 0!==o?o:String(n)},getCoreRowModel:(0,l.sC)(),getExpandedRowModel:(0,l.rV)()});return(0,r.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,r.jsxs)(i.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,r.jsx)(i.ss,{children:d.getHeaderGroups().map(e=>(0,r.jsx)(i.SC,{children:e.headers.map(e=>(0,r.jsx)(i.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,a.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,r.jsx)(i.RM,{children:p?(0,r.jsx)(i.SC,{children:(0,r.jsx)(i.pj,{colSpan:o.length,className:"h-8 text-center",children:(0,r.jsx)("div",{className:"text-center text-gray-500",children:(0,r.jsx)("p",{children:u})})})}):d.getRowModel().rows.length>0?d.getRowModel().rows.map(e=>(0,r.jsxs)(t.Fragment,{children:[(0,r.jsx)(i.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,r.jsx)(i.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,a.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,r.jsx)(i.SC,{children:(0,r.jsx)(i.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,r.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:s({row:e})})})})]},e.id)):(0,r.jsx)(i.SC,{children:(0,r.jsx)(i.pj,{colSpan:o.length,className:"h-8 text-center",children:(0,r.jsx)("div",{className:"text-center text-gray-500",children:(0,r.jsx)("p",{children:g})})})})})]})})}}},function(e){e.O(0,[9546,1047,6990,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5319,5333,525,6609,1713,7996,1130,5191,8049,4679,2202,874,4292,3801,2971,2117,1744],function(){return e(e.s=89587)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/model-hub/page-2324ca3ad3bea48c.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/model-hub/page-2324ca3ad3bea48c.js deleted file mode 100644 index 2ce74786f1..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/model-hub/page-2324ca3ad3bea48c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2678],{24181:function(r,e,t){Promise.resolve().then(t.bind(t,30615))},23639:function(r,e,t){"use strict";t.d(e,{Z:function(){return d}});var n=t(1119),o=t(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},a=t(55015),d=o.forwardRef(function(r,e){return o.createElement(a.Z,(0,n.Z)({},r,{ref:e,icon:i}))})},41649:function(r,e,t){"use strict";t.d(e,{Z:function(){return m}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(26898),s=t(13241),l=t(1153);let u={xs:{paddingX:"px-2",paddingY:"py-0.5",fontSize:"text-xs"},sm:{paddingX:"px-2.5",paddingY:"py-0.5",fontSize:"text-sm"},md:{paddingX:"px-3",paddingY:"py-0.5",fontSize:"text-md"},lg:{paddingX:"px-3.5",paddingY:"py-0.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-1",fontSize:"text-xl"}},c={xs:{height:"h-4",width:"w-4"},sm:{height:"h-4",width:"w-4"},md:{height:"h-4",width:"w-4"},lg:{height:"h-5",width:"w-5"},xl:{height:"h-6",width:"w-6"}},g=(0,l.fn)("Badge"),m=o.forwardRef((r,e)=>{let{color:t,icon:m,size:f=a.u8.SM,tooltip:p,className:h,children:b}=r,w=(0,n._T)(r,["color","icon","size","tooltip","className","children"]),k=m||null,{tooltipProps:v,getReferenceProps:x}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,l.lq)([e,v.refs.setReference]),className:(0,s.q)(g("root"),"w-max shrink-0 inline-flex justify-center items-center cursor-default rounded-tremor-small ring-1 ring-inset",t?(0,s.q)((0,l.bM)(t,d.K.background).bgColor,(0,l.bM)(t,d.K.iconText).textColor,(0,l.bM)(t,d.K.iconRing).ringColor,"bg-opacity-10 ring-opacity-20","dark:bg-opacity-5 dark:ring-opacity-60"):(0,s.q)("bg-tremor-brand-faint text-tremor-brand-emphasis ring-tremor-brand/20","dark:bg-dark-tremor-brand-muted/50 dark:text-dark-tremor-brand dark:ring-dark-tremor-subtle/20"),u[f].paddingX,u[f].paddingY,u[f].fontSize,h)},x,w),o.createElement(i.Z,Object.assign({text:p},v)),k?o.createElement(k,{className:(0,s.q)(g("icon"),"shrink-0 -ml-1 mr-1.5",c[f].height,c[f].width)}):null,o.createElement("span",{className:(0,s.q)(g("text"),"whitespace-nowrap")},b))});m.displayName="Badge"},47323:function(r,e,t){"use strict";t.d(e,{Z:function(){return p}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(13241),s=t(1153),l=t(26898);let u={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},c={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},g={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},m=(r,e)=>{switch(r){case"simple":return{textColor:e?(0,s.bM)(e,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:e?(0,s.bM)(e,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:e?(0,s.bM)(e,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:e?(0,s.bM)(e,l.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:e?(0,d.q)((0,s.bM)(e,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:e?(0,s.bM)(e,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:e?(0,s.bM)(e,l.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:e?(0,d.q)((0,s.bM)(e,l.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},f=(0,s.fn)("Icon"),p=o.forwardRef((r,e)=>{let{icon:t,variant:l="simple",tooltip:p,size:h=a.u8.SM,color:b,className:w}=r,k=(0,n._T)(r,["icon","variant","tooltip","size","color","className"]),v=m(l,b),{tooltipProps:x,getReferenceProps:C}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,s.lq)([e,x.refs.setReference]),className:(0,d.q)(f("root"),"inline-flex shrink-0 items-center justify-center",v.bgColor,v.textColor,v.borderColor,v.ringColor,g[l].rounded,g[l].border,g[l].shadow,g[l].ring,u[h].paddingX,u[h].paddingY,w)},C,k),o.createElement(i.Z,Object.assign({text:p},x)),o.createElement(t,{className:(0,d.q)(f("icon"),"shrink-0",c[h].height,c[h].width)}))});p.displayName="Icon"},33245:function(r,e,t){"use strict";t.d(e,{Z:function(){return n}});let n=(0,t(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},95704:function(r,e,t){"use strict";t.d(e,{Dx:function(){return c.Z},RM:function(){return i.Z},SC:function(){return l.Z},Zb:function(){return n.Z},iA:function(){return o.Z},pj:function(){return a.Z},ss:function(){return d.Z},xs:function(){return s.Z},xv:function(){return u.Z}});var n=t(12514),o=t(21626),i=t(97214),a=t(28241),d=t(58834),s=t(69552),l=t(71876),u=t(84264),c=t(96761)},39760:function(r,e,t){"use strict";var n=t(2265),o=t(99376),i=t(14474),a=t(3914),d=t(19250);e.Z=()=>{var r,e,t,s,l,u;let c=(0,o.useRouter)(),g="undefined"!=typeof document?(0,a.e)("token"):null;(0,n.useEffect)(()=>{g||c.replace("".concat((0,d.getProxyBaseUrl)(),"/ui/login"))},[g,c]);let m=(0,n.useMemo)(()=>{if(!g)return null;try{return(0,i.o)(g)}catch(r){return(0,a.b)(),c.replace("".concat((0,d.getProxyBaseUrl)(),"/ui/login")),null}},[g,c]);return{token:g,accessToken:null!==(r=null==m?void 0:m.key)&&void 0!==r?r:null,userId:null!==(e=null==m?void 0:m.user_id)&&void 0!==e?e:null,userEmail:null!==(t=null==m?void 0:m.user_email)&&void 0!==t?t:null,userRole:function(r){if(!r)return"Undefined Role";switch(r.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==m?void 0:m.user_role)&&void 0!==s?s:null),premiumUser:null!==(l=null==m?void 0:m.premium_user)&&void 0!==l?l:null,disabledPersonalKeyCreation:null!==(u=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},30615:function(r,e,t){"use strict";t.r(e);var n=t(57437),o=t(92249),i=t(39760);e.default=()=>{let{accessToken:r,premiumUser:e,userRole:t}=(0,i.Z)();return(0,n.jsx)(o.Z,{accessToken:r,publicPage:!1,premiumUser:e,userRole:t})}},20347:function(r,e,t){"use strict";t.d(e,{LQ:function(){return i},P4:function(){return d},ZL:function(){return n},lo:function(){return o},tY:function(){return a}});let n=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],o=["Internal User","Internal Viewer"],i=["Internal User","Admin","proxy_admin"],a=r=>n.includes(r),d=r=>"proxy_admin"===r||"Admin"===r},47686:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});e.Z=o},44633:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});e.Z=o},3477:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});e.Z=o},53410:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});e.Z=o},91126:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=o},77355:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=o},23628:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});e.Z=o},17732:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});e.Z=o},74998:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"}))});e.Z=o},87602:function(r,e,t){"use strict";function n(){for(var r,e,t=0,n="",o=arguments.length;t{let t=e.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t="0"+t),"%"+t}))}catch(r){return atob(e)}}(i)}catch(r){throw new n(`Invalid token specified: invalid base64 for part #${o+1} (${r.message})`)}try{return JSON.parse(t)}catch(r){throw new n(`Invalid token specified: invalid json for part #${o+1} (${r.message})`)}}n.prototype.name="InvalidTokenError"}},function(r){r.O(0,[9028,9409,4865,337,8135,1442,2926,3367,1994,7318,3705,8565,5869,7906,2618,7140,8468,8049,7526,2249,2971,2117,1744],function(){return r(r.s=24181)}),_N_E=r.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/model-hub/page-4a9230b983f74198.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/model-hub/page-4a9230b983f74198.js new file mode 100644 index 0000000000..0767fe49a8 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/model-hub/page-4a9230b983f74198.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2678],{38278:function(e,r,t){Promise.resolve().then(t.bind(t,30615))},23639:function(e,r,t){"use strict";t.d(r,{Z:function(){return d}});var n=t(1119),o=t(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},a=t(55015),d=o.forwardRef(function(e,r){return o.createElement(a.Z,(0,n.Z)({},e,{ref:r,icon:i}))})},41649:function(e,r,t){"use strict";t.d(r,{Z:function(){return m}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(26898),s=t(13241),l=t(1153);let u={xs:{paddingX:"px-2",paddingY:"py-0.5",fontSize:"text-xs"},sm:{paddingX:"px-2.5",paddingY:"py-0.5",fontSize:"text-sm"},md:{paddingX:"px-3",paddingY:"py-0.5",fontSize:"text-md"},lg:{paddingX:"px-3.5",paddingY:"py-0.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-1",fontSize:"text-xl"}},c={xs:{height:"h-4",width:"w-4"},sm:{height:"h-4",width:"w-4"},md:{height:"h-4",width:"w-4"},lg:{height:"h-5",width:"w-5"},xl:{height:"h-6",width:"w-6"}},g=(0,l.fn)("Badge"),m=o.forwardRef((e,r)=>{let{color:t,icon:m,size:f=a.u8.SM,tooltip:p,className:h,children:b}=e,w=(0,n._T)(e,["color","icon","size","tooltip","className","children"]),k=m||null,{tooltipProps:v,getReferenceProps:x}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,l.lq)([r,v.refs.setReference]),className:(0,s.q)(g("root"),"w-max shrink-0 inline-flex justify-center items-center cursor-default rounded-tremor-small ring-1 ring-inset",t?(0,s.q)((0,l.bM)(t,d.K.background).bgColor,(0,l.bM)(t,d.K.iconText).textColor,(0,l.bM)(t,d.K.iconRing).ringColor,"bg-opacity-10 ring-opacity-20","dark:bg-opacity-5 dark:ring-opacity-60"):(0,s.q)("bg-tremor-brand-faint text-tremor-brand-emphasis ring-tremor-brand/20","dark:bg-dark-tremor-brand-muted/50 dark:text-dark-tremor-brand dark:ring-dark-tremor-subtle/20"),u[f].paddingX,u[f].paddingY,u[f].fontSize,h)},x,w),o.createElement(i.Z,Object.assign({text:p},v)),k?o.createElement(k,{className:(0,s.q)(g("icon"),"shrink-0 -ml-1 mr-1.5",c[f].height,c[f].width)}):null,o.createElement("span",{className:(0,s.q)(g("text"),"whitespace-nowrap")},b))});m.displayName="Badge"},47323:function(e,r,t){"use strict";t.d(r,{Z:function(){return p}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(13241),s=t(1153),l=t(26898);let u={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},c={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},g={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},m=(e,r)=>{switch(e){case"simple":return{textColor:r?(0,s.bM)(r,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:r?(0,s.bM)(r,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:r?(0,d.q)((0,s.bM)(r,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:r?(0,s.bM)(r,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:r?(0,d.q)((0,s.bM)(r,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:r?(0,s.bM)(r,l.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:r?(0,d.q)((0,s.bM)(r,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:r?(0,s.bM)(r,l.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:r?(0,d.q)((0,s.bM)(r,l.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:r?(0,s.bM)(r,l.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:r?(0,d.q)((0,s.bM)(r,l.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},f=(0,s.fn)("Icon"),p=o.forwardRef((e,r)=>{let{icon:t,variant:l="simple",tooltip:p,size:h=a.u8.SM,color:b,className:w}=e,k=(0,n._T)(e,["icon","variant","tooltip","size","color","className"]),v=m(l,b),{tooltipProps:x,getReferenceProps:y}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,s.lq)([r,x.refs.setReference]),className:(0,d.q)(f("root"),"inline-flex shrink-0 items-center justify-center",v.bgColor,v.textColor,v.borderColor,v.ringColor,g[l].rounded,g[l].border,g[l].shadow,g[l].ring,u[h].paddingX,u[h].paddingY,w)},y,k),o.createElement(i.Z,Object.assign({text:p},x)),o.createElement(t,{className:(0,d.q)(f("icon"),"shrink-0",c[h].height,c[h].width)}))});p.displayName="Icon"},78867:function(e,r,t){"use strict";t.d(r,{Z:function(){return n}});let n=(0,t(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},33245:function(e,r,t){"use strict";t.d(r,{Z:function(){return n}});let n=(0,t(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},95704:function(e,r,t){"use strict";t.d(r,{Dx:function(){return c.Z},RM:function(){return i.Z},SC:function(){return l.Z},Zb:function(){return n.Z},iA:function(){return o.Z},pj:function(){return a.Z},ss:function(){return d.Z},xs:function(){return s.Z},xv:function(){return u.Z}});var n=t(12514),o=t(21626),i=t(97214),a=t(28241),d=t(58834),s=t(69552),l=t(71876),u=t(84264),c=t(96761)},39760:function(e,r,t){"use strict";var n=t(2265),o=t(99376),i=t(14474),a=t(3914),d=t(19250);r.Z=()=>{var e,r,t,s,l,u;let c=(0,o.useRouter)(),g="undefined"!=typeof document?(0,a.e)("token"):null;(0,n.useEffect)(()=>{g||c.replace("".concat((0,d.getProxyBaseUrl)(),"/ui/login"))},[g,c]);let m=(0,n.useMemo)(()=>{if(!g)return null;try{return(0,i.o)(g)}catch(e){return(0,a.b)(),c.replace("".concat((0,d.getProxyBaseUrl)(),"/ui/login")),null}},[g,c]);return{token:g,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(r=null==m?void 0:m.user_id)&&void 0!==r?r:null,userEmail:null!==(t=null==m?void 0:m.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==m?void 0:m.user_role)&&void 0!==s?s:null),premiumUser:null!==(l=null==m?void 0:m.premium_user)&&void 0!==l?l:null,disabledPersonalKeyCreation:null!==(u=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},30615:function(e,r,t){"use strict";t.r(r);var n=t(57437),o=t(92249),i=t(39760);r.default=()=>{let{accessToken:e,premiumUser:r,userRole:t}=(0,i.Z)();return(0,n.jsx)(o.Z,{accessToken:e,publicPage:!1,premiumUser:r,userRole:t})}},20347:function(e,r,t){"use strict";t.d(r,{LQ:function(){return i},P4:function(){return d},ZL:function(){return n},_p:function(){return l},lo:function(){return o},tY:function(){return a},yV:function(){return s}});let n=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],o=["Internal User","Internal Viewer"],i=["Internal User","Admin","proxy_admin"],a=e=>n.includes(e),d=e=>"proxy_admin"===e||"Admin"===e,s=(e,r)=>null!=e&&e.some(e=>l(e,r)),l=(e,r)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===r&&"admin"===e.role)},86462:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});r.Z=o},47686:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});r.Z=o},3477:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});r.Z=o},53410:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});r.Z=o},91126:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});r.Z=o},77355:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});r.Z=o},23628:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});r.Z=o},17732:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});r.Z=o},74998:function(e,r,t){"use strict";var n=t(2265);let o=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"}))});r.Z=o},87602:function(e,r,t){"use strict";function n(){for(var e,r,t=0,n="",o=arguments.length;t{let t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t="0"+t),"%"+t}))}catch(e){return atob(r)}}(i)}catch(e){throw new n(`Invalid token specified: invalid base64 for part #${o+1} (${e.message})`)}try{return JSON.parse(t)}catch(e){throw new n(`Invalid token specified: invalid json for part #${o+1} (${e.message})`)}}n.prototype.name="InvalidTokenError"}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,3367,1994,7318,7138,8565,5869,7906,2618,9165,854,8049,7526,2249,2971,2117,1744],function(){return e(e.s=38278)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/models-and-endpoints/page-b7dab1a843c79137.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/models-and-endpoints/page-b7dab1a843c79137.js new file mode 100644 index 0000000000..d86b991758 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/models-and-endpoints/page-b7dab1a843c79137.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1664],{71135:function(e,a,t){Promise.resolve().then(t.bind(t,6121))},40728:function(e,a,t){"use strict";t.d(a,{C:function(){return s.Z},x:function(){return r.Z}});var s=t(41649),r=t(84264)},19130:function(e,a,t){"use strict";t.d(a,{RM:function(){return r.Z},SC:function(){return c.Z},iA:function(){return s.Z},pj:function(){return n.Z},ss:function(){return l.Z},xs:function(){return i.Z}});var s=t(21626),r=t(97214),n=t(28241),l=t(58834),i=t(69552),c=t(71876)},11318:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});var s=t(2265),r=t(39760),n=t(19250);let l=async(e,a,t,s)=>"Admin"!=t&&"Admin Viewer"!=t?await (0,n.teamListCall)(e,(null==s?void 0:s.organization_id)||null,a):await (0,n.teamListCall)(e,(null==s?void 0:s.organization_id)||null);var i=()=>{let[e,a]=(0,s.useState)([]),{accessToken:t,userId:n,userRole:i}=(0,r.Z)();return(0,s.useEffect)(()=>{(async()=>{a(await l(t,n,i,null))})()},[t,n,i]),{teams:e,setTeams:a}}},6121:function(e,a,t){"use strict";t.r(a);var s=t(57437),r=t(39760),n=t(11318),l=t(2265),i=t(31200);a.default=()=>{let{token:e,accessToken:a,userRole:t,userId:c,premiumUser:o}=(0,r.Z)(),[d,u]=(0,l.useState)([]),{teams:g}=(0,n.Z)();return(0,s.jsx)(i.Z,{accessToken:a,token:e,userRole:t,userID:c,modelData:{data:[]},keys:d,setModelData:()=>{},premiumUser:o,teams:g})}},84376:function(e,a,t){"use strict";var s=t(57437);t(2265);var r=t(37592);a.Z=e=>{let{teams:a,value:t,onChange:n,disabled:l}=e;return console.log("disabled",l),(0,s.jsx)(r.default,{showSearch:!0,placeholder:"Search or select a team",value:t,onChange:n,disabled:l,filterOption:(e,t)=>{if(!t)return!1;let s=null==a?void 0:a.find(e=>e.team_id===t.key);if(!s)return!1;let r=e.toLowerCase().trim(),n=(s.team_alias||"").toLowerCase(),l=(s.team_id||"").toLowerCase();return n.includes(r)||l.includes(r)},optionFilterProp:"children",children:null==a?void 0:a.map(e=>(0,s.jsxs)(r.default.Option,{value:e.team_id,children:[(0,s.jsx)("span",{className:"font-medium",children:e.team_alias})," ",(0,s.jsxs)("span",{className:"text-gray-500",children:["(",e.team_id,")"]})]},e.team_id))})}},67479:function(e,a,t){"use strict";var s=t(57437),r=t(2265),n=t(37592),l=t(19250);a.Z=e=>{let{onChange:a,value:t,className:i,accessToken:c,disabled:o}=e,[d,u]=(0,r.useState)([]),[g,m]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{(async()=>{if(c){m(!0);try{let e=await (0,l.getGuardrailsList)(c);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),u(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{m(!1)}}})()},[c]),(0,s.jsx)("div",{children:(0,s.jsx)(n.default,{mode:"multiple",disabled:o,placeholder:o?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),a(e)},value:t,loading:g,className:i,options:d.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},27799:function(e,a,t){"use strict";var s=t(57437);t(2265);var r=t(40728),n=t(82182),l=t(91777),i=t(97434);a.Z=function(e){let{loggingConfigs:a=[],disabledCallbacks:t=[],variant:c="card",className:o=""}=e,d=e=>{var a;return(null===(a=Object.entries(i.Lo).find(a=>{let[t,s]=a;return s===e}))||void 0===a?void 0:a[0])||e},u=e=>{switch(e){case"success":return"green";case"failure":return"red";case"success_and_failure":return"blue";default:return"gray"}},g=e=>{switch(e){case"success":return"Success Only";case"failure":return"Failure Only";case"success_and_failure":return"Success & Failure";default:return e}},m=(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.Z,{className:"h-4 w-4 text-blue-600"}),(0,s.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Logging Integrations"}),(0,s.jsx)(r.C,{color:"blue",size:"xs",children:a.length})]}),a.length>0?(0,s.jsx)("div",{className:"space-y-3",children:a.map((e,a)=>{var t;let l=d(e.callback_name),c=null===(t=i.Dg[l])||void 0===t?void 0:t.logo;return(0,s.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-blue-50 border border-blue-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[c?(0,s.jsx)("img",{src:c,alt:l,className:"w-5 h-5 object-contain"}):(0,s.jsx)(n.Z,{className:"h-5 w-5 text-gray-400"}),(0,s.jsxs)("div",{children:[(0,s.jsx)(r.x,{className:"font-medium text-blue-800",children:l}),(0,s.jsxs)(r.x,{className:"text-xs text-blue-600",children:[Object.keys(e.callback_vars).length," parameters configured"]})]})]}),(0,s.jsx)(r.C,{color:u(e.callback_type),size:"sm",children:g(e.callback_type)})]},a)})}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(n.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(r.x,{className:"text-gray-500 text-sm",children:"No logging integrations configured"})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l.Z,{className:"h-4 w-4 text-red-600"}),(0,s.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Disabled Callbacks"}),(0,s.jsx)(r.C,{color:"red",size:"xs",children:t.length})]}),t.length>0?(0,s.jsx)("div",{className:"space-y-3",children:t.map((e,a)=>{var t;let n=i.RD[e]||e,c=null===(t=i.Dg[n])||void 0===t?void 0:t.logo;return(0,s.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-red-50 border border-red-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[c?(0,s.jsx)("img",{src:c,alt:n,className:"w-5 h-5 object-contain"}):(0,s.jsx)(l.Z,{className:"h-5 w-5 text-gray-400"}),(0,s.jsxs)("div",{children:[(0,s.jsx)(r.x,{className:"font-medium text-red-800",children:n}),(0,s.jsx)(r.x,{className:"text-xs text-red-600",children:"Disabled for this key"})]})]}),(0,s.jsx)(r.C,{color:"red",size:"sm",children:"Disabled"})]},a)})}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(l.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(r.x,{className:"text-gray-500 text-sm",children:"No callbacks disabled"})]})]})]});return"card"===c?(0,s.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,s.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Logging Settings"}),(0,s.jsx)(r.x,{className:"text-xs text-gray-500",children:"Active logging integrations and disabled callbacks for this key"})]})}),m]}):(0,s.jsxs)("div",{className:"".concat(o),children:[(0,s.jsx)(r.x,{className:"font-medium text-gray-900 mb-3",children:"Logging Settings"}),m]})}},8048:function(e,a,t){"use strict";t.d(a,{C:function(){return u}});var s=t(57437),r=t(71594),n=t(24525),l=t(2265),i=t(19130),c=t(44633),o=t(86462),d=t(49084);function u(e){let{data:a=[],columns:t,isLoading:u=!1,table:g,defaultSorting:m=[]}=e,[x,p]=l.useState(m),[h]=l.useState("onChange"),[f,v]=l.useState({}),[b,y]=l.useState({}),j=(0,r.b7)({data:a,columns:t,state:{sorting:x,columnSizing:f,columnVisibility:b},columnResizeMode:h,onSortingChange:p,onColumnSizingChange:v,onColumnVisibilityChange:y,getCoreRowModel:(0,n.sC)(),getSortedRowModel:(0,n.tj)(),enableSorting:!0,enableColumnResizing:!0,defaultColumn:{minSize:40,maxSize:500}});return l.useEffect(()=>{g&&(g.current=j)},[j,g]),(0,s.jsx)("div",{className:"rounded-lg custom-border relative",children:(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsx)("div",{className:"relative min-w-full",children:(0,s.jsxs)(i.iA,{className:"[&_td]:py-2 [&_th]:py-2 w-full",children:[(0,s.jsx)(i.ss,{children:j.getHeaderGroups().map(e=>(0,s.jsx)(i.SC,{children:e.headers.map(e=>{var a;return(0,s.jsxs)(i.xs,{className:"py-1 h-8 relative ".concat("actions"===e.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)] w-[120px] ml-8":""," ").concat((null===(a=e.column.columnDef.meta)||void 0===a?void 0:a.className)||""),style:{width:"actions"===e.id?120:e.getSize(),position:"actions"===e.id?"sticky":"relative",right:"actions"===e.id?0:"auto"},onClick:e.column.getCanSort()?e.column.getToggleSortingHandler():void 0,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,r.ie)(e.column.columnDef.header,e.getContext())}),"actions"!==e.id&&e.column.getCanSort()&&(0,s.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,s.jsx)(c.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,s.jsx)(o.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,s.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"})})]}),e.column.getCanResize()&&(0,s.jsx)("div",{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:"absolute right-0 top-0 h-full w-2 cursor-col-resize select-none touch-none ".concat(e.column.getIsResizing()?"bg-blue-500":"hover:bg-blue-200")})]},e.id)})},e.id))}),(0,s.jsx)(i.RM,{children:u?(0,s.jsx)(i.SC,{children:(0,s.jsx)(i.pj,{colSpan:t.length,className:"h-8 text-center",children:(0,s.jsx)("div",{className:"text-center text-gray-500",children:(0,s.jsx)("p",{children:"\uD83D\uDE85 Loading models..."})})})}):j.getRowModel().rows.length>0?j.getRowModel().rows.map(e=>(0,s.jsx)(i.SC,{children:e.getVisibleCells().map(e=>{var a;return(0,s.jsx)(i.pj,{className:"py-0.5 ".concat("actions"===e.column.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)] w-[120px] ml-8":""," ").concat((null===(a=e.column.columnDef.meta)||void 0===a?void 0:a.className)||""),style:{width:"actions"===e.column.id?120:e.column.getSize(),position:"actions"===e.column.id?"sticky":"relative",right:"actions"===e.column.id?0:"auto"},children:(0,r.ie)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)):(0,s.jsx)(i.SC,{children:(0,s.jsx)(i.pj,{colSpan:t.length,className:"h-8 text-center",children:(0,s.jsx)("div",{className:"text-center text-gray-500",children:(0,s.jsx)("p",{children:"No models found"})})})})})]})})})})}},60131:function(e,a,t){"use strict";t.d(a,{Z:function(){return f}});var s=t(57437),r=t(2265),n=t(92280),l=t(40728),i=t(79814),c=t(19250),o=function(e){let{vectorStores:a,accessToken:t}=e,[n,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{if(t&&0!==a.length)try{let e=await (0,c.vectorStoreListCall)(t);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[t,a.length]);let d=e=>{let a=n.find(a=>a.vector_store_id===e);return a?"".concat(a.vector_store_name||a.vector_store_id," (").concat(a.vector_store_id,")"):e};return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(i.Z,{className:"h-4 w-4 text-blue-600"}),(0,s.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,s.jsx)(l.C,{color:"blue",size:"xs",children:a.length})]}),a.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:a.map((e,a)=>(0,s.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:d(e)},a))}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},d=t(25327),u=t(86462),g=t(47686),m=t(99981),x=function(e){let{mcpServers:a,mcpAccessGroups:n=[],mcpToolPermissions:i={},accessToken:o}=e,[x,p]=(0,r.useState)([]),[h,f]=(0,r.useState)([]),[v,b]=(0,r.useState)(new Set),y=e=>{b(a=>{let t=new Set(a);return t.has(e)?t.delete(e):t.add(e),t})};(0,r.useEffect)(()=>{(async()=>{if(o&&a.length>0)try{let e=await (0,c.fetchMCPServers)(o);e&&Array.isArray(e)?p(e):e.data&&Array.isArray(e.data)&&p(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,a.length]),(0,r.useEffect)(()=>{(async()=>{if(o&&n.length>0)try{let e=await Promise.resolve().then(t.bind(t,19250)).then(e=>e.fetchMCPAccessGroups(o));f(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,n.length]);let j=e=>{let a=x.find(a=>a.server_id===e);if(a){let t=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(a.alias," (").concat(t,")")}return e},A=e=>e,N=[...a.map(e=>({type:"server",value:e})),...n.map(e=>({type:"accessGroup",value:e}))],_=N.length;return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,s.jsx)(l.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,s.jsx)(l.C,{color:"blue",size:"xs",children:_})]}),_>0?(0,s.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:N.map((e,a)=>{let t="server"===e.type?i[e.value]:void 0,r=t&&t.length>0,n=v.has(e.value);return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{onClick:()=>r&&y(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(r?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,s.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,s.jsx)(m.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:j(e.value)})]})}):(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:A(e.value)}),(0,s.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),r&&(0,s.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-gray-600",children:t.length}),(0,s.jsx)("span",{className:"text-xs text-gray-500",children:1===t.length?"tool":"tools"}),n?(0,s.jsx)(u.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,s.jsx)(g.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),r&&n&&(0,s.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.map((e,a)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},a))})})]},a)})}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},p=t(3497),h=function(e){let{agents:a,agentAccessGroups:t=[],accessToken:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{if(n&&a.length>0)try{let e=await (0,c.getAgentsList)(n);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[n,a.length]);let d=e=>{let a=i.find(a=>a.agent_id===e);if(a){let t=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(a.agent_name," (").concat(t,")")}return e},u=[...a.map(e=>({type:"agent",value:e})),...t.map(e=>({type:"accessGroup",value:e}))],g=u.length;return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(p.Z,{className:"h-4 w-4 text-purple-600"}),(0,s.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,s.jsx)(l.C,{color:"purple",size:"xs",children:g})]}),g>0?(0,s.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:u.map((e,a)=>(0,s.jsx)("div",{className:"space-y-2",children:(0,s.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,s.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,s.jsx)(m.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:d(e.value)})]})}):(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,s.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},a))}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(p.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},f=function(e){let{objectPermission:a,variant:t="card",className:r="",accessToken:l}=e,i=(null==a?void 0:a.vector_stores)||[],c=(null==a?void 0:a.mcp_servers)||[],d=(null==a?void 0:a.mcp_access_groups)||[],u=(null==a?void 0:a.mcp_tool_permissions)||{},g=(null==a?void 0:a.agents)||[],m=(null==a?void 0:a.agent_access_groups)||[],p=(0,s.jsxs)("div",{className:"card"===t?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,s.jsx)(o,{vectorStores:i,accessToken:l}),(0,s.jsx)(x,{mcpServers:c,mcpAccessGroups:d,mcpToolPermissions:u,accessToken:l}),(0,s.jsx)(h,{agents:g,agentAccessGroups:m,accessToken:l})]});return"card"===t?(0,s.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(r),children:[(0,s.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,s.jsx)(n.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),p]}):(0,s.jsxs)("div",{className:"".concat(r),children:[(0,s.jsx)(n.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),p]})}},42673:function(e,a,t){"use strict";var s,r;t.d(a,{Cl:function(){return s},bK:function(){return d},cd:function(){return i},dr:function(){return c},fK:function(){return n},ph:function(){return o}}),(r=s||(s={})).A2A_Agent="A2A Agent",r.AIML="AI/ML API",r.Bedrock="Amazon Bedrock",r.Anthropic="Anthropic",r.AssemblyAI="AssemblyAI",r.SageMaker="AWS SageMaker",r.Azure="Azure",r.Azure_AI_Studio="Azure AI Foundry (Studio)",r.Cerebras="Cerebras",r.Cohere="Cohere",r.Dashscope="Dashscope",r.Databricks="Databricks (Qwen API)",r.DeepInfra="DeepInfra",r.Deepgram="Deepgram",r.Deepseek="Deepseek",r.ElevenLabs="ElevenLabs",r.FalAI="Fal AI",r.FireworksAI="Fireworks AI",r.Google_AI_Studio="Google AI Studio",r.GradientAI="GradientAI",r.Groq="Groq",r.Hosted_Vllm="vllm",r.Infinity="Infinity",r.JinaAI="Jina AI",r.MistralAI="Mistral AI",r.Ollama="Ollama",r.OpenAI="OpenAI",r.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",r.OpenAI_Text="OpenAI Text Completion",r.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",r.Openrouter="Openrouter",r.Oracle="Oracle Cloud Infrastructure (OCI)",r.Perplexity="Perplexity",r.RunwayML="RunwayML",r.Sambanova="Sambanova",r.Snowflake="Snowflake",r.TogetherAI="TogetherAI",r.Triton="Triton",r.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",r.VolcEngine="VolcEngine",r.Voyage="Voyage AI",r.xAI="xAI";let n={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},l="../ui/assets/logos/",i={"A2A Agent":"".concat(l,"a2a_agent.png"),"AI/ML API":"".concat(l,"aiml_api.svg"),Anthropic:"".concat(l,"anthropic.svg"),AssemblyAI:"".concat(l,"assemblyai_small.png"),Azure:"".concat(l,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(l,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(l,"bedrock.svg"),"AWS SageMaker":"".concat(l,"bedrock.svg"),Cerebras:"".concat(l,"cerebras.svg"),Cohere:"".concat(l,"cohere.svg"),"Databricks (Qwen API)":"".concat(l,"databricks.svg"),Dashscope:"".concat(l,"dashscope.svg"),Deepseek:"".concat(l,"deepseek.svg"),"Fireworks AI":"".concat(l,"fireworks.svg"),Groq:"".concat(l,"groq.svg"),"Google AI Studio":"".concat(l,"google.svg"),vllm:"".concat(l,"vllm.png"),Infinity:"".concat(l,"infinity.png"),"Mistral AI":"".concat(l,"mistral.svg"),Ollama:"".concat(l,"ollama.svg"),OpenAI:"".concat(l,"openai_small.svg"),"OpenAI Text Completion":"".concat(l,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(l,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(l,"openai_small.svg"),Openrouter:"".concat(l,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(l,"oracle.svg"),Perplexity:"".concat(l,"perplexity-ai.svg"),RunwayML:"".concat(l,"runwayml.png"),Sambanova:"".concat(l,"sambanova.svg"),Snowflake:"".concat(l,"snowflake.svg"),TogetherAI:"".concat(l,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(l,"google.svg"),xAI:"".concat(l,"xai.svg"),GradientAI:"".concat(l,"gradientai.svg"),Triton:"".concat(l,"nvidia_triton.png"),Deepgram:"".concat(l,"deepgram.png"),ElevenLabs:"".concat(l,"elevenlabs.png"),"Fal AI":"".concat(l,"fal_ai.jpg"),"Voyage AI":"".concat(l,"voyage.webp"),"Jina AI":"".concat(l,"jina.png"),VolcEngine:"".concat(l,"volcengine.png"),DeepInfra:"".concat(l,"deepinfra.png")},c=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:i[e],displayName:e}}let a=Object.keys(n).find(a=>n[a].toLowerCase()===e.toLowerCase());if(!a)return{logo:"",displayName:e};let t=s[a];return{logo:i[t],displayName:t}},o=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},d=(e,a)=>{console.log("Provider key: ".concat(e));let t=n[e];console.log("Provider mapped to: ".concat(t));let s=[];return e&&"object"==typeof a&&(Object.entries(a).forEach(e=>{let[a,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&(r.litellm_provider===t||r.litellm_provider.includes(t))&&s.push(a)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(a).forEach(e=>{let[a,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"cohere_chat"===t.litellm_provider&&s.push(a)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(a).forEach(e=>{let[a,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"sagemaker_chat"===t.litellm_provider&&s.push(a)}))),s}},21425:function(e,a,t){"use strict";var s=t(57437);t(2265);var r=t(54507);a.Z=e=>{let{value:a,onChange:t,disabledCallbacks:n=[],onDisabledCallbacksChange:l}=e;return(0,s.jsx)(r.Z,{value:a,onChange:t,disabledCallbacks:n,onDisabledCallbacksChange:l})}},33304:function(e,a,t){"use strict";function s(e){return""===e?null:e}t.d(a,{C:function(){return s}})}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5869,5319,5333,525,6609,1713,4546,7996,9611,8237,5105,2843,6892,143,8049,4679,5068,1200,2971,2117,1744],function(){return e(e.s=71135)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/models-and-endpoints/page-d2cc187caf42ae8a.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/models-and-endpoints/page-d2cc187caf42ae8a.js deleted file mode 100644 index 23b621d1f9..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/models-and-endpoints/page-d2cc187caf42ae8a.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1664],{18530:function(e,a,s){Promise.resolve().then(s.bind(s,6121))},40728:function(e,a,s){"use strict";s.d(a,{C:function(){return t.Z},x:function(){return r.Z}});var t=s(41649),r=s(84264)},19130:function(e,a,s){"use strict";s.d(a,{RM:function(){return r.Z},SC:function(){return i.Z},iA:function(){return t.Z},pj:function(){return n.Z},ss:function(){return l.Z},xs:function(){return c.Z}});var t=s(21626),r=s(97214),n=s(28241),l=s(58834),c=s(69552),i=s(71876)},6121:function(e,a,s){"use strict";s.r(a);var t=s(57437),r=s(39760),n=s(11318),l=s(2265),c=s(31200);a.default=()=>{let{token:e,accessToken:a,userRole:s,userId:i,premiumUser:o}=(0,r.Z)(),[d,u]=(0,l.useState)([]),{teams:g}=(0,n.Z)();return(0,t.jsx)(c.Z,{accessToken:a,token:e,userRole:s,userID:i,modelData:{data:[]},keys:d,setModelData:()=>{},premiumUser:o,teams:g})}},84376:function(e,a,s){"use strict";var t=s(57437);s(2265);var r=s(37592);a.Z=e=>{let{teams:a,value:s,onChange:n,disabled:l}=e;return console.log("disabled",l),(0,t.jsx)(r.default,{showSearch:!0,placeholder:"Search or select a team",value:s,onChange:n,disabled:l,filterOption:(e,s)=>{if(!s)return!1;let t=null==a?void 0:a.find(e=>e.team_id===s.key);if(!t)return!1;let r=e.toLowerCase().trim(),n=(t.team_alias||"").toLowerCase(),l=(t.team_id||"").toLowerCase();return n.includes(r)||l.includes(r)},optionFilterProp:"children",children:null==a?void 0:a.map(e=>(0,t.jsxs)(r.default.Option,{value:e.team_id,children:[(0,t.jsx)("span",{className:"font-medium",children:e.team_alias})," ",(0,t.jsxs)("span",{className:"text-gray-500",children:["(",e.team_id,")"]})]},e.team_id))})}},67479:function(e,a,s){"use strict";var t=s(57437),r=s(2265),n=s(37592),l=s(19250);a.Z=e=>{let{onChange:a,value:s,className:c,accessToken:i,disabled:o}=e,[d,u]=(0,r.useState)([]),[g,m]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{(async()=>{if(i){m(!0);try{let e=await (0,l.getGuardrailsList)(i);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),u(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{m(!1)}}})()},[i]),(0,t.jsx)("div",{children:(0,t.jsx)(n.default,{mode:"multiple",disabled:o,placeholder:o?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),a(e)},value:s,loading:g,className:c,options:d.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},27799:function(e,a,s){"use strict";var t=s(57437);s(2265);var r=s(40728),n=s(82182),l=s(91777),c=s(97434);a.Z=function(e){let{loggingConfigs:a=[],disabledCallbacks:s=[],variant:i="card",className:o=""}=e,d=e=>{var a;return(null===(a=Object.entries(c.Lo).find(a=>{let[s,t]=a;return t===e}))||void 0===a?void 0:a[0])||e},u=e=>{switch(e){case"success":return"green";case"failure":return"red";case"success_and_failure":return"blue";default:return"gray"}},g=e=>{switch(e){case"success":return"Success Only";case"failure":return"Failure Only";case"success_and_failure":return"Success & Failure";default:return e}},m=(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Logging Integrations"}),(0,t.jsx)(r.C,{color:"blue",size:"xs",children:a.length})]}),a.length>0?(0,t.jsx)("div",{className:"space-y-3",children:a.map((e,a)=>{var s;let l=d(e.callback_name),i=null===(s=c.Dg[l])||void 0===s?void 0:s.logo;return(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-blue-50 border border-blue-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[i?(0,t.jsx)("img",{src:i,alt:l,className:"w-5 h-5 object-contain"}):(0,t.jsx)(n.Z,{className:"h-5 w-5 text-gray-400"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(r.x,{className:"font-medium text-blue-800",children:l}),(0,t.jsxs)(r.x,{className:"text-xs text-blue-600",children:[Object.keys(e.callback_vars).length," parameters configured"]})]})]}),(0,t.jsx)(r.C,{color:u(e.callback_type),size:"sm",children:g(e.callback_type)})]},a)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(n.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(r.x,{className:"text-gray-500 text-sm",children:"No logging integrations configured"})]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.Z,{className:"h-4 w-4 text-red-600"}),(0,t.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Disabled Callbacks"}),(0,t.jsx)(r.C,{color:"red",size:"xs",children:s.length})]}),s.length>0?(0,t.jsx)("div",{className:"space-y-3",children:s.map((e,a)=>{var s;let n=c.RD[e]||e,i=null===(s=c.Dg[n])||void 0===s?void 0:s.logo;return(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-red-50 border border-red-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[i?(0,t.jsx)("img",{src:i,alt:n,className:"w-5 h-5 object-contain"}):(0,t.jsx)(l.Z,{className:"h-5 w-5 text-gray-400"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(r.x,{className:"font-medium text-red-800",children:n}),(0,t.jsx)(r.x,{className:"text-xs text-red-600",children:"Disabled for this key"})]})]}),(0,t.jsx)(r.C,{color:"red",size:"sm",children:"Disabled"})]},a)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(l.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(r.x,{className:"text-gray-500 text-sm",children:"No callbacks disabled"})]})]})]});return"card"===i?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Logging Settings"}),(0,t.jsx)(r.x,{className:"text-xs text-gray-500",children:"Active logging integrations and disabled callbacks for this key"})]})}),m]}):(0,t.jsxs)("div",{className:"".concat(o),children:[(0,t.jsx)(r.x,{className:"font-medium text-gray-900 mb-3",children:"Logging Settings"}),m]})}},8048:function(e,a,s){"use strict";s.d(a,{C:function(){return u}});var t=s(57437),r=s(71594),n=s(24525),l=s(2265),c=s(19130),i=s(44633),o=s(86462),d=s(49084);function u(e){let{data:a=[],columns:s,isLoading:u=!1,table:g,defaultSorting:m=[]}=e,[x,p]=l.useState(m),[h]=l.useState("onChange"),[f,v]=l.useState({}),[b,y]=l.useState({}),j=(0,r.b7)({data:a,columns:s,state:{sorting:x,columnSizing:f,columnVisibility:b},columnResizeMode:h,onSortingChange:p,onColumnSizingChange:v,onColumnVisibilityChange:y,getCoreRowModel:(0,n.sC)(),getSortedRowModel:(0,n.tj)(),enableSorting:!0,enableColumnResizing:!0,defaultColumn:{minSize:40,maxSize:500}});return l.useEffect(()=>{g&&(g.current=j)},[j,g]),(0,t.jsx)("div",{className:"rounded-lg custom-border relative",children:(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsx)("div",{className:"relative min-w-full",children:(0,t.jsxs)(c.iA,{className:"[&_td]:py-2 [&_th]:py-2 w-full",children:[(0,t.jsx)(c.ss,{children:j.getHeaderGroups().map(e=>(0,t.jsx)(c.SC,{children:e.headers.map(e=>{var a;return(0,t.jsxs)(c.xs,{className:"py-1 h-8 relative ".concat("actions"===e.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)] w-[120px] ml-8":""," ").concat((null===(a=e.column.columnDef.meta)||void 0===a?void 0:a.className)||""),style:{width:"actions"===e.id?120:e.getSize(),position:"actions"===e.id?"sticky":"relative",right:"actions"===e.id?0:"auto"},onClick:e.column.getCanSort()?e.column.getToggleSortingHandler():void 0,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,r.ie)(e.column.columnDef.header,e.getContext())}),"actions"!==e.id&&e.column.getCanSort()&&(0,t.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,t.jsx)(i.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,t.jsx)(o.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,t.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"})})]}),e.column.getCanResize()&&(0,t.jsx)("div",{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:"absolute right-0 top-0 h-full w-2 cursor-col-resize select-none touch-none ".concat(e.column.getIsResizing()?"bg-blue-500":"hover:bg-blue-200")})]},e.id)})},e.id))}),(0,t.jsx)(c.RM,{children:u?(0,t.jsx)(c.SC,{children:(0,t.jsx)(c.pj,{colSpan:s.length,className:"h-8 text-center",children:(0,t.jsx)("div",{className:"text-center text-gray-500",children:(0,t.jsx)("p",{children:"\uD83D\uDE85 Loading models..."})})})}):j.getRowModel().rows.length>0?j.getRowModel().rows.map(e=>(0,t.jsx)(c.SC,{children:e.getVisibleCells().map(e=>{var a;return(0,t.jsx)(c.pj,{className:"py-0.5 ".concat("actions"===e.column.id?"sticky right-0 bg-white shadow-[-4px_0_8px_-6px_rgba(0,0,0,0.1)] w-[120px] ml-8":""," ").concat((null===(a=e.column.columnDef.meta)||void 0===a?void 0:a.className)||""),style:{width:"actions"===e.column.id?120:e.column.getSize(),position:"actions"===e.column.id?"sticky":"relative",right:"actions"===e.column.id?0:"auto"},children:(0,r.ie)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)):(0,t.jsx)(c.SC,{children:(0,t.jsx)(c.pj,{colSpan:s.length,className:"h-8 text-center",children:(0,t.jsx)("div",{className:"text-center text-gray-500",children:(0,t.jsx)("p",{children:"No models found"})})})})})]})})})})}},60131:function(e,a,s){"use strict";s.d(a,{Z:function(){return f}});var t=s(57437),r=s(2265),n=s(92280),l=s(40728),c=s(79814),i=s(19250),o=function(e){let{vectorStores:a,accessToken:s}=e,[n,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{if(s&&0!==a.length)try{let e=await (0,i.vectorStoreListCall)(s);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[s,a.length]);let d=e=>{let a=n.find(a=>a.vector_store_id===e);return a?"".concat(a.vector_store_name||a.vector_store_id," (").concat(a.vector_store_id,")"):e};return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,t.jsx)(l.C,{color:"blue",size:"xs",children:a.length})]}),a.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:a.map((e,a)=>(0,t.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:d(e)},a))}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(c.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},d=s(25327),u=s(86462),g=s(47686),m=s(99981),x=function(e){let{mcpServers:a,mcpAccessGroups:n=[],mcpToolPermissions:c={},accessToken:o}=e,[x,p]=(0,r.useState)([]),[h,f]=(0,r.useState)([]),[v,b]=(0,r.useState)(new Set),y=e=>{b(a=>{let s=new Set(a);return s.has(e)?s.delete(e):s.add(e),s})};(0,r.useEffect)(()=>{(async()=>{if(o&&a.length>0)try{let e=await (0,i.fetchMCPServers)(o);e&&Array.isArray(e)?p(e):e.data&&Array.isArray(e.data)&&p(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,a.length]),(0,r.useEffect)(()=>{(async()=>{if(o&&n.length>0)try{let e=await Promise.resolve().then(s.bind(s,19250)).then(e=>e.fetchMCPAccessGroups(o));f(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,n.length]);let j=e=>{let a=x.find(a=>a.server_id===e);if(a){let s=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(a.alias," (").concat(s,")")}return e},A=e=>e,N=[...a.map(e=>({type:"server",value:e})),...n.map(e=>({type:"accessGroup",value:e}))],_=N.length;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,t.jsx)(l.C,{color:"blue",size:"xs",children:_})]}),_>0?(0,t.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:N.map((e,a)=>{let s="server"===e.type?c[e.value]:void 0,r=s&&s.length>0,n=v.has(e.value);return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{onClick:()=>r&&y(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(r?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,t.jsx)(m.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:j(e.value)})]})}):(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:A(e.value)}),(0,t.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),r&&(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-gray-600",children:s.length}),(0,t.jsx)("span",{className:"text-xs text-gray-500",children:1===s.length?"tool":"tools"}),n?(0,t.jsx)(u.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,t.jsx)(g.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),r&&n&&(0,t.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map((e,a)=>(0,t.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},a))})})]},a)})}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},p=s(3497),h=function(e){let{agents:a,agentAccessGroups:s=[],accessToken:n}=e,[c,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{if(n&&a.length>0)try{let e=await (0,i.getAgentsList)(n);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[n,a.length]);let d=e=>{let a=c.find(a=>a.agent_id===e);if(a){let s=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(a.agent_name," (").concat(s,")")}return e},u=[...a.map(e=>({type:"agent",value:e})),...s.map(e=>({type:"accessGroup",value:e}))],g=u.length;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.Z,{className:"h-4 w-4 text-purple-600"}),(0,t.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,t.jsx)(l.C,{color:"purple",size:"xs",children:g})]}),g>0?(0,t.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:u.map((e,a)=>(0,t.jsx)("div",{className:"space-y-2",children:(0,t.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,t.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,t.jsx)(m.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:d(e.value)})]})}):(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,t.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},a))}):(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,t.jsx)(p.Z,{className:"h-4 w-4 text-gray-400"}),(0,t.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},f=function(e){let{objectPermission:a,variant:s="card",className:r="",accessToken:l}=e,c=(null==a?void 0:a.vector_stores)||[],i=(null==a?void 0:a.mcp_servers)||[],d=(null==a?void 0:a.mcp_access_groups)||[],u=(null==a?void 0:a.mcp_tool_permissions)||{},g=(null==a?void 0:a.agents)||[],m=(null==a?void 0:a.agent_access_groups)||[],p=(0,t.jsxs)("div",{className:"card"===s?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,t.jsx)(o,{vectorStores:c,accessToken:l}),(0,t.jsx)(x,{mcpServers:i,mcpAccessGroups:d,mcpToolPermissions:u,accessToken:l}),(0,t.jsx)(h,{agents:g,agentAccessGroups:m,accessToken:l})]});return"card"===s?(0,t.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(r),children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,t.jsx)(n.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),p]}):(0,t.jsxs)("div",{className:"".concat(r),children:[(0,t.jsx)(n.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),p]})}},42673:function(e,a,s){"use strict";var t,r;s.d(a,{Cl:function(){return t},bK:function(){return d},cd:function(){return c},dr:function(){return i},fK:function(){return n},ph:function(){return o}}),(r=t||(t={})).A2A_Agent="A2A Agent",r.AIML="AI/ML API",r.Bedrock="Amazon Bedrock",r.Anthropic="Anthropic",r.AssemblyAI="AssemblyAI",r.SageMaker="AWS SageMaker",r.Azure="Azure",r.Azure_AI_Studio="Azure AI Foundry (Studio)",r.Cerebras="Cerebras",r.Cohere="Cohere",r.Dashscope="Dashscope",r.Databricks="Databricks (Qwen API)",r.DeepInfra="DeepInfra",r.Deepgram="Deepgram",r.Deepseek="Deepseek",r.ElevenLabs="ElevenLabs",r.FalAI="Fal AI",r.FireworksAI="Fireworks AI",r.Google_AI_Studio="Google AI Studio",r.GradientAI="GradientAI",r.Groq="Groq",r.Hosted_Vllm="vllm",r.Infinity="Infinity",r.JinaAI="Jina AI",r.MistralAI="Mistral AI",r.Ollama="Ollama",r.OpenAI="OpenAI",r.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",r.OpenAI_Text="OpenAI Text Completion",r.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",r.Openrouter="Openrouter",r.Oracle="Oracle Cloud Infrastructure (OCI)",r.Perplexity="Perplexity",r.RunwayML="RunwayML",r.Sambanova="Sambanova",r.Snowflake="Snowflake",r.TogetherAI="TogetherAI",r.Triton="Triton",r.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",r.VolcEngine="VolcEngine",r.Voyage="Voyage AI",r.xAI="xAI";let n={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},l="../ui/assets/logos/",c={"A2A Agent":"".concat(l,"a2a_agent.png"),"AI/ML API":"".concat(l,"aiml_api.svg"),Anthropic:"".concat(l,"anthropic.svg"),AssemblyAI:"".concat(l,"assemblyai_small.png"),Azure:"".concat(l,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(l,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(l,"bedrock.svg"),"AWS SageMaker":"".concat(l,"bedrock.svg"),Cerebras:"".concat(l,"cerebras.svg"),Cohere:"".concat(l,"cohere.svg"),"Databricks (Qwen API)":"".concat(l,"databricks.svg"),Dashscope:"".concat(l,"dashscope.svg"),Deepseek:"".concat(l,"deepseek.svg"),"Fireworks AI":"".concat(l,"fireworks.svg"),Groq:"".concat(l,"groq.svg"),"Google AI Studio":"".concat(l,"google.svg"),vllm:"".concat(l,"vllm.png"),Infinity:"".concat(l,"infinity.png"),"Mistral AI":"".concat(l,"mistral.svg"),Ollama:"".concat(l,"ollama.svg"),OpenAI:"".concat(l,"openai_small.svg"),"OpenAI Text Completion":"".concat(l,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(l,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(l,"openai_small.svg"),Openrouter:"".concat(l,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(l,"oracle.svg"),Perplexity:"".concat(l,"perplexity-ai.svg"),RunwayML:"".concat(l,"runwayml.png"),Sambanova:"".concat(l,"sambanova.svg"),Snowflake:"".concat(l,"snowflake.svg"),TogetherAI:"".concat(l,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(l,"google.svg"),xAI:"".concat(l,"xai.svg"),GradientAI:"".concat(l,"gradientai.svg"),Triton:"".concat(l,"nvidia_triton.png"),Deepgram:"".concat(l,"deepgram.png"),ElevenLabs:"".concat(l,"elevenlabs.png"),"Fal AI":"".concat(l,"fal_ai.jpg"),"Voyage AI":"".concat(l,"voyage.webp"),"Jina AI":"".concat(l,"jina.png"),VolcEngine:"".concat(l,"volcengine.png"),DeepInfra:"".concat(l,"deepinfra.png")},i=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:c[e],displayName:e}}let a=Object.keys(n).find(a=>n[a].toLowerCase()===e.toLowerCase());if(!a)return{logo:"",displayName:e};let s=t[a];return{logo:c[s],displayName:s}},o=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},d=(e,a)=>{console.log("Provider key: ".concat(e));let s=n[e];console.log("Provider mapped to: ".concat(s));let t=[];return e&&"object"==typeof a&&(Object.entries(a).forEach(e=>{let[a,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&(r.litellm_provider===s||r.litellm_provider.includes(s))&&t.push(a)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(a).forEach(e=>{let[a,s]=e;null!==s&&"object"==typeof s&&"litellm_provider"in s&&"cohere_chat"===s.litellm_provider&&t.push(a)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(a).forEach(e=>{let[a,s]=e;null!==s&&"object"==typeof s&&"litellm_provider"in s&&"sagemaker_chat"===s.litellm_provider&&t.push(a)}))),t}},21425:function(e,a,s){"use strict";var t=s(57437);s(2265);var r=s(54507);a.Z=e=>{let{value:a,onChange:s,disabledCallbacks:n=[],onDisabledCallbacksChange:l}=e;return(0,t.jsx)(r.Z,{value:a,onChange:s,disabledCallbacks:n,onDisabledCallbacksChange:l})}},33304:function(e,a,s){"use strict";function t(e){return""===e?null:e}s.d(a,{C:function(){return t}})}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,5869,525,6609,1713,4546,7996,9611,8237,9349,2843,3621,667,8049,4679,2012,1200,2971,2117,1744],function(){return e(e.s=18530)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/organizations/page-5751ac7914318f3a.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/organizations/page-5751ac7914318f3a.js deleted file mode 100644 index fee9d9d325..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/organizations/page-5751ac7914318f3a.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6459],{44243:function(e,t,r){Promise.resolve().then(r.bind(r,57616))},77565:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(1119),a=r(2265),n={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},l=r(55015),i=a.forwardRef(function(e,t){return a.createElement(l.Z,(0,s.Z)({},e,{ref:t,icon:n}))})},69993:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(1119),a=r(2265),n={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},l=r(55015),i=a.forwardRef(function(e,t){return a.createElement(l.Z,(0,s.Z)({},e,{ref:t,icon:n}))})},21626:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(5853),a=r(2265),n=r(13241);let l=(0,r(1153).fn)("Table"),i=a.forwardRef((e,t)=>{let{children:r,className:i}=e,c=(0,s._T)(e,["children","className"]);return a.createElement("div",{className:(0,n.q)(l("root"),"overflow-auto",i)},a.createElement("table",Object.assign({ref:t,className:(0,n.q)(l("table"),"w-full text-tremor-default","text-tremor-content","dark:text-dark-tremor-content")},c),r))});i.displayName="Table"},97214:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(5853),a=r(2265),n=r(13241);let l=(0,r(1153).fn)("TableBody"),i=a.forwardRef((e,t)=>{let{children:r,className:i}=e,c=(0,s._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("tbody",Object.assign({ref:t,className:(0,n.q)(l("root"),"align-top divide-y","divide-tremor-border","dark:divide-dark-tremor-border",i)},c),r))});i.displayName="TableBody"},28241:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(5853),a=r(2265),n=r(13241);let l=(0,r(1153).fn)("TableCell"),i=a.forwardRef((e,t)=>{let{children:r,className:i}=e,c=(0,s._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("td",Object.assign({ref:t,className:(0,n.q)(l("root"),"align-middle whitespace-nowrap text-left p-4",i)},c),r))});i.displayName="TableCell"},58834:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(5853),a=r(2265),n=r(13241);let l=(0,r(1153).fn)("TableHead"),i=a.forwardRef((e,t)=>{let{children:r,className:i}=e,c=(0,s._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("thead",Object.assign({ref:t,className:(0,n.q)(l("root"),"text-left","text-tremor-content","dark:text-dark-tremor-content",i)},c),r))});i.displayName="TableHead"},69552:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(5853),a=r(2265),n=r(13241);let l=(0,r(1153).fn)("TableHeaderCell"),i=a.forwardRef((e,t)=>{let{children:r,className:i}=e,c=(0,s._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("th",Object.assign({ref:t,className:(0,n.q)(l("root"),"whitespace-nowrap text-left font-semibold top-0 px-4 py-3.5","text-tremor-content-strong","dark:text-dark-tremor-content-strong",i)},c),r))});i.displayName="TableHeaderCell"},71876:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(5853),a=r(2265),n=r(13241);let l=(0,r(1153).fn)("TableRow"),i=a.forwardRef((e,t)=>{let{children:r,className:i}=e,c=(0,s._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("tr",Object.assign({ref:t,className:(0,n.q)(l("row"),i)},c),r))});i.displayName="TableRow"},96761:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var s=r(5853),a=r(26898),n=r(13241),l=r(1153),i=r(2265);let c=i.forwardRef((e,t)=>{let{color:r,children:c,className:o}=e,d=(0,s._T)(e,["color","children","className"]);return i.createElement("p",Object.assign({ref:t,className:(0,n.q)("font-medium text-tremor-title",r?(0,l.bM)(r,a.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",o)},d),c)});c.displayName="Title"},32489:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});let s=(0,r(79205).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},40728:function(e,t,r){"use strict";r.d(t,{C:function(){return s.Z},x:function(){return a.Z}});var s=r(41649),a=r(84264)},57616:function(e,t,r){"use strict";r.r(t);var s=r(57437),a=r(22004),n=r(39760),l=r(2265),i=r(30874);t.default=()=>{let{userId:e,accessToken:t,userRole:r,premiumUser:c}=(0,n.Z)(),[o,d]=(0,l.useState)([]),[u,m]=(0,l.useState)([]);return(0,l.useEffect)(()=>{(0,a.g)(t,d).then(()=>{})},[t]),(0,l.useEffect)(()=>{(0,i.Nr)(e,r,t,m).then(()=>{})},[e,r,t]),(0,s.jsx)(a.Z,{organizations:o,userRole:r,userModels:u,accessToken:t,setOrganizations:d,premiumUser:c})}},21609:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var s=r(57437),a=r(57840),n=r(22116),l=r(51653),i=r(76188),c=r(4260),o=r(2265);function d(e){let{isOpen:t,title:r,alertMessage:d,message:u,resourceInformationTitle:m,resourceInformation:f,onCancel:x,onOk:h,confirmLoading:p,requiredConfirmation:g}=e,{Title:v,Text:b}=a.default,[j,w]=(0,o.useState)("");return(0,o.useEffect)(()=>{t&&w("")},[t]),(0,s.jsx)(n.Z,{title:r,open:t,onOk:h,onCancel:x,confirmLoading:p,okText:p?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!g&&j!==g||p},cancelButtonProps:{disabled:p},children:(0,s.jsxs)("div",{className:"space-y-4",children:[d&&(0,s.jsx)(l.Z,{message:d,type:"warning"}),(0,s.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,s.jsx)(v,{level:5,className:"mb-3 text-gray-900",children:m}),(0,s.jsx)(i.Z,{column:1,size:"small",children:f&&f.map(e=>{let{label:t,value:r,...a}=e;return(0,s.jsx)(i.Z.Item,{label:(0,s.jsx)("span",{className:"font-semibold text-gray-700",children:t}),children:(0,s.jsx)(b,{...a,children:null!=r?r:"-"})},t)})})]}),(0,s.jsx)("div",{children:(0,s.jsx)(b,{children:u})}),g&&(0,s.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,s.jsxs)(b,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,s.jsx)(b,{children:"Type "}),(0,s.jsx)(b,{strong:!0,type:"danger",children:g}),(0,s.jsx)(b,{children:" to confirm deletion:"})]}),(0,s.jsx)(c.default,{value:j,onChange:e=>w(e.target.value),placeholder:g,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},33860:function(e,t,r){"use strict";var s=r(57437),a=r(2265),n=r(10032),l=r(22116),i=r(37592),c=r(99981),o=r(5545),d=r(7310),u=r.n(d),m=r(19250);t.Z=e=>{let{isVisible:t,onCancel:r,onSubmit:d,accessToken:f,title:x="Add Team Member",roles:h=[{label:"admin",value:"admin",description:"Admin role. Can create team keys, add members, and manage settings."},{label:"user",value:"user",description:"User role. Can view team info, but not manage it."}],defaultRole:p="user"}=e,[g]=n.Z.useForm(),[v,b]=(0,a.useState)([]),[j,w]=(0,a.useState)(!1),[N,y]=(0,a.useState)("user_email"),k=async(e,t)=>{if(!e){b([]);return}w(!0);try{let r=new URLSearchParams;if(r.append(t,e),null==f)return;let s=(await (0,m.userFilterUICall)(f,r)).map(e=>({label:"user_email"===t?"".concat(e.user_email):"".concat(e.user_id),value:"user_email"===t?e.user_email:e.user_id,user:e}));b(s)}catch(e){console.error("Error fetching users:",e)}finally{w(!1)}},_=(0,a.useCallback)(u()((e,t)=>k(e,t),300),[]),Z=(e,t)=>{y(t),_(e,t)},E=(e,t)=>{let r=t.user;g.setFieldsValue({user_email:r.user_email,user_id:r.user_id,role:g.getFieldValue("role")})};return(0,s.jsx)(l.Z,{title:x,open:t,onCancel:()=>{g.resetFields(),b([]),r()},footer:null,width:800,children:(0,s.jsxs)(n.Z,{form:g,onFinish:d,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:{role:p},children:[(0,s.jsx)(n.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,s.jsx)(i.default,{showSearch:!0,className:"w-full",placeholder:"Search by email",filterOption:!1,onSearch:e=>Z(e,"user_email"),onSelect:(e,t)=>E(e,t),options:"user_email"===N?v:[],loading:j,allowClear:!0})}),(0,s.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,s.jsx)(n.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,s.jsx)(i.default,{showSearch:!0,className:"w-full",placeholder:"Search by user ID",filterOption:!1,onSearch:e=>Z(e,"user_id"),onSelect:(e,t)=>E(e,t),options:"user_id"===N?v:[],loading:j,allowClear:!0})}),(0,s.jsx)(n.Z.Item,{label:"Member Role",name:"role",className:"mb-4",children:(0,s.jsx)(i.default,{defaultValue:p,children:h.map(e=>(0,s.jsx)(i.default.Option,{value:e.value,children:(0,s.jsxs)(c.Z,{title:e.description,children:[(0,s.jsx)("span",{className:"font-medium",children:e.label}),(0,s.jsxs)("span",{className:"ml-2 text-gray-500 text-sm",children:["- ",e.description]})]})},e.value))})}),(0,s.jsx)("div",{className:"text-right mt-4",children:(0,s.jsx)(o.ZP,{type:"default",htmlType:"submit",children:"Add Member"})})]})})}},60131:function(e,t,r){"use strict";r.d(t,{Z:function(){return g}});var s=r(57437),a=r(2265),n=r(92280),l=r(40728),i=r(79814),c=r(19250),o=function(e){let{vectorStores:t,accessToken:r}=e,[n,o]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{if(r&&0!==t.length)try{let e=await (0,c.vectorStoreListCall)(r);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[r,t.length]);let d=e=>{let t=n.find(t=>t.vector_store_id===e);return t?"".concat(t.vector_store_name||t.vector_store_id," (").concat(t.vector_store_id,")"):e};return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(i.Z,{className:"h-4 w-4 text-blue-600"}),(0,s.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,s.jsx)(l.C,{color:"blue",size:"xs",children:t.length})]}),t.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:t.map((e,t)=>(0,s.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:d(e)},t))}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},d=r(25327),u=r(86462),m=r(47686),f=r(99981),x=function(e){let{mcpServers:t,mcpAccessGroups:n=[],mcpToolPermissions:i={},accessToken:o}=e,[x,h]=(0,a.useState)([]),[p,g]=(0,a.useState)([]),[v,b]=(0,a.useState)(new Set),j=e=>{b(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})};(0,a.useEffect)(()=>{(async()=>{if(o&&t.length>0)try{let e=await (0,c.fetchMCPServers)(o);e&&Array.isArray(e)?h(e):e.data&&Array.isArray(e.data)&&h(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,t.length]),(0,a.useEffect)(()=>{(async()=>{if(o&&n.length>0)try{let e=await Promise.resolve().then(r.bind(r,19250)).then(e=>e.fetchMCPAccessGroups(o));g(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,n.length]);let w=e=>{let t=x.find(t=>t.server_id===e);if(t){let r=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(t.alias," (").concat(r,")")}return e},N=e=>e,y=[...t.map(e=>({type:"server",value:e})),...n.map(e=>({type:"accessGroup",value:e}))],k=y.length;return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,s.jsx)(l.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,s.jsx)(l.C,{color:"blue",size:"xs",children:k})]}),k>0?(0,s.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:y.map((e,t)=>{let r="server"===e.type?i[e.value]:void 0,a=r&&r.length>0,n=v.has(e.value);return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{onClick:()=>a&&j(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(a?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,s.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,s.jsx)(f.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:w(e.value)})]})}):(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:N(e.value)}),(0,s.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),a&&(0,s.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-gray-600",children:r.length}),(0,s.jsx)("span",{className:"text-xs text-gray-500",children:1===r.length?"tool":"tools"}),n?(0,s.jsx)(u.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,s.jsx)(m.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),a&&n&&(0,s.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5",children:r.map((e,t)=>(0,s.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},t))})})]},t)})}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},h=r(3497),p=function(e){let{agents:t,agentAccessGroups:r=[],accessToken:n}=e,[i,o]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{if(n&&t.length>0)try{let e=await (0,c.getAgentsList)(n);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[n,t.length]);let d=e=>{let t=i.find(t=>t.agent_id===e);if(t){let r=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(t.agent_name," (").concat(r,")")}return e},u=[...t.map(e=>({type:"agent",value:e})),...r.map(e=>({type:"accessGroup",value:e}))],m=u.length;return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(h.Z,{className:"h-4 w-4 text-purple-600"}),(0,s.jsx)(l.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,s.jsx)(l.C,{color:"purple",size:"xs",children:m})]}),m>0?(0,s.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:u.map((e,t)=>(0,s.jsx)("div",{className:"space-y-2",children:(0,s.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,s.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,s.jsx)(f.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:d(e.value)})]})}):(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,s.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},t))}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,s.jsx)(h.Z,{className:"h-4 w-4 text-gray-400"}),(0,s.jsx)(l.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},g=function(e){let{objectPermission:t,variant:r="card",className:a="",accessToken:l}=e,i=(null==t?void 0:t.vector_stores)||[],c=(null==t?void 0:t.mcp_servers)||[],d=(null==t?void 0:t.mcp_access_groups)||[],u=(null==t?void 0:t.mcp_tool_permissions)||{},m=(null==t?void 0:t.agents)||[],f=(null==t?void 0:t.agent_access_groups)||[],h=(0,s.jsxs)("div",{className:"card"===r?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,s.jsx)(o,{vectorStores:i,accessToken:l}),(0,s.jsx)(x,{mcpServers:c,mcpAccessGroups:d,mcpToolPermissions:u,accessToken:l}),(0,s.jsx)(p,{agents:m,agentAccessGroups:f,accessToken:l})]});return"card"===r?(0,s.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(a),children:[(0,s.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,s.jsx)(n.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),h]}):(0,s.jsxs)("div",{className:"".concat(a),children:[(0,s.jsx)(n.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),h]})}},36894:function(e,t,r){"use strict";var s=r(57437),a=r(56522),n=r(10032),l=r(37592),i=r(22116),c=r(5545),o=r(2265),d=r(24199);t.Z=e=>{var t,r,u;let{visible:m,onCancel:f,onSubmit:x,initialData:h,mode:p,config:g}=e,[v]=n.Z.useForm(),[b,j]=(0,o.useState)(!1);console.log("Initial Data:",h),(0,o.useEffect)(()=>{if(m){if("edit"===p&&h){let e={...h,role:h.role||g.defaultRole,max_budget_in_team:h.max_budget_in_team||null,tpm_limit:h.tpm_limit||null,rpm_limit:h.rpm_limit||null};console.log("Setting form values:",e),v.setFieldsValue(e)}else{var e;v.resetFields(),v.setFieldsValue({role:g.defaultRole||(null===(e=g.roleOptions[0])||void 0===e?void 0:e.value)})}}},[m,h,p,v,g.defaultRole,g.roleOptions]);let w=async e=>{try{j(!0);let t=Object.entries(e).reduce((e,t)=>{let[r,s]=t;if("string"==typeof s){let t=s.trim();return""===t&&("max_budget_in_team"===r||"tpm_limit"===r||"rpm_limit"===r)?{...e,[r]:null}:{...e,[r]:t}}return{...e,[r]:s}},{});console.log("Submitting form data:",t),await Promise.resolve(x(t)),v.resetFields()}catch(e){console.error("Form submission error:",e)}finally{j(!1)}},N=e=>{switch(e.type){case"input":return(0,s.jsx)(a.o,{placeholder:e.placeholder});case"numerical":return(0,s.jsx)(d.Z,{step:e.step||1,min:e.min||0,style:{width:"100%"},placeholder:e.placeholder||"Enter a numerical value"});case"select":var t;return(0,s.jsx)(l.default,{children:null===(t=e.options)||void 0===t?void 0:t.map(e=>(0,s.jsx)(l.default.Option,{value:e.value,children:e.label},e.value))});default:return null}};return(0,s.jsx)(i.Z,{title:g.title||("add"===p?"Add Member":"Edit Member"),open:m,width:1e3,footer:null,onCancel:f,children:(0,s.jsxs)(n.Z,{form:v,onFinish:w,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[g.showEmail&&(0,s.jsx)(n.Z.Item,{label:"Email",name:"user_email",className:"mb-4",rules:[{type:"email",message:"Please enter a valid email!"}],children:(0,s.jsx)(a.o,{placeholder:"user@example.com"})}),g.showEmail&&g.showUserId&&(0,s.jsx)("div",{className:"text-center mb-4",children:(0,s.jsx)(a.x,{children:"OR"})}),g.showUserId&&(0,s.jsx)(n.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,s.jsx)(a.o,{placeholder:"user_123"})}),(0,s.jsx)(n.Z.Item,{label:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:"Role"}),"edit"===p&&h&&(0,s.jsxs)("span",{className:"text-gray-500 text-sm",children:["(Current: ",(r=h.role,(null===(u=g.roleOptions.find(e=>e.value===r))||void 0===u?void 0:u.label)||r),")"]})]}),name:"role",className:"mb-4",rules:[{required:!0,message:"Please select a role!"}],children:(0,s.jsx)(l.default,{children:"edit"===p&&h?[...g.roleOptions.filter(e=>e.value===h.role),...g.roleOptions.filter(e=>e.value!==h.role)].map(e=>(0,s.jsx)(l.default.Option,{value:e.value,children:e.label},e.value)):g.roleOptions.map(e=>(0,s.jsx)(l.default.Option,{value:e.value,children:e.label},e.value))})}),null===(t=g.additionalFields)||void 0===t?void 0:t.map(e=>(0,s.jsx)(n.Z.Item,{label:e.label,name:e.name,className:"mb-4",rules:e.rules,children:N(e)},e.name)),(0,s.jsxs)("div",{className:"text-right mt-6",children:[(0,s.jsx)(c.ZP,{onClick:f,className:"mr-2",disabled:b,children:"Cancel"}),(0,s.jsx)(c.ZP,{type:"default",htmlType:"submit",loading:b,children:"add"===p?b?"Adding...":"Add Member":b?"Saving...":"Save Changes"})]})]})})}},10900:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 19l-7-7m0 0l7-7m-7 7h18"}))});t.Z=a},91777:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"}))});t.Z=a},47686:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});t.Z=a},82182:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}))});t.Z=a},79814:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"}))});t.Z=a},53410:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});t.Z=a},93416:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))});t.Z=a},77355:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});t.Z=a},22452:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"}))});t.Z=a},25327:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"}))});t.Z=a},3497:function(e,t,r){"use strict";var s=r(2265);let a=s.forwardRef(function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"}))});t.Z=a},29827:function(e,t,r){"use strict";r.d(t,{NL:function(){return l},aH:function(){return i}});var s=r(2265),a=r(57437),n=s.createContext(void 0),l=e=>{let t=s.useContext(n);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},i=e=>{let{client:t,children:r}=e;return s.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,a.jsx)(n.Provider,{value:t,children:r})}}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,3705,8565,3709,5319,5333,525,6609,4546,7996,4623,8049,4679,2202,874,2004,2971,2117,1744],function(){return e(e.s=44243)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/organizations/page-e71028c48d51447f.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/organizations/page-e71028c48d51447f.js new file mode 100644 index 0000000000..878ceac32e --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/organizations/page-e71028c48d51447f.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6459],{3191:function(e,s,l){Promise.resolve().then(l.bind(l,57616))},40728:function(e,s,l){"use strict";l.d(s,{C:function(){return r.Z},x:function(){return a.Z}});var r=l(41649),a=l(84264)},57616:function(e,s,l){"use strict";l.r(s);var r=l(57437),a=l(22004),t=l(39760),n=l(2265),i=l(30874);s.default=()=>{let{userId:e,accessToken:s,userRole:l,premiumUser:c}=(0,t.Z)(),[o,d]=(0,n.useState)([]),[m,u]=(0,n.useState)([]);return(0,n.useEffect)(()=>{(0,a.g)(s,d).then(()=>{})},[s]),(0,n.useEffect)(()=>{(0,i.Nr)(e,l,s,u).then(()=>{})},[e,l,s]),(0,r.jsx)(a.Z,{organizations:o,userRole:l,userModels:m,accessToken:s,setOrganizations:d,premiumUser:c})}},21609:function(e,s,l){"use strict";l.d(s,{Z:function(){return d}});var r=l(57437),a=l(57840),t=l(22116),n=l(51653),i=l(76188),c=l(4260),o=l(2265);function d(e){let{isOpen:s,title:l,alertMessage:d,message:m,resourceInformationTitle:u,resourceInformation:x,onCancel:p,onOk:h,confirmLoading:g,requiredConfirmation:f}=e,{Title:v,Text:b}=a.default,[j,y]=(0,o.useState)("");return(0,o.useEffect)(()=>{s&&y("")},[s]),(0,r.jsx)(t.Z,{title:l,open:s,onOk:h,onCancel:p,confirmLoading:g,okText:g?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!f&&j!==f||g},cancelButtonProps:{disabled:g},children:(0,r.jsxs)("div",{className:"space-y-4",children:[d&&(0,r.jsx)(n.Z,{message:d,type:"warning"}),(0,r.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,r.jsx)(v,{level:5,className:"mb-3 text-gray-900",children:u}),(0,r.jsx)(i.Z,{column:1,size:"small",children:x&&x.map(e=>{let{label:s,value:l,...a}=e;return(0,r.jsx)(i.Z.Item,{label:(0,r.jsx)("span",{className:"font-semibold text-gray-700",children:s}),children:(0,r.jsx)(b,{...a,children:null!=l?l:"-"})},s)})})]}),(0,r.jsx)("div",{children:(0,r.jsx)(b,{children:m})}),f&&(0,r.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,r.jsxs)(b,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,r.jsx)(b,{children:"Type "}),(0,r.jsx)(b,{strong:!0,type:"danger",children:f}),(0,r.jsx)(b,{children:" to confirm deletion:"})]}),(0,r.jsx)(c.default,{value:j,onChange:e=>y(e.target.value),placeholder:f,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},33860:function(e,s,l){"use strict";var r=l(57437),a=l(2265),t=l(10032),n=l(22116),i=l(37592),c=l(99981),o=l(5545),d=l(7310),m=l.n(d),u=l(19250);s.Z=e=>{let{isVisible:s,onCancel:l,onSubmit:d,accessToken:x,title:p="Add Team Member",roles:h=[{label:"admin",value:"admin",description:"Admin role. Can create team keys, add members, and manage settings."},{label:"user",value:"user",description:"User role. Can view team info, but not manage it."}],defaultRole:g="user"}=e,[f]=t.Z.useForm(),[v,b]=(0,a.useState)([]),[j,y]=(0,a.useState)(!1),[N,_]=(0,a.useState)("user_email"),w=async(e,s)=>{if(!e){b([]);return}y(!0);try{let l=new URLSearchParams;if(l.append(s,e),null==x)return;let r=(await (0,u.userFilterUICall)(x,l)).map(e=>({label:"user_email"===s?"".concat(e.user_email):"".concat(e.user_id),value:"user_email"===s?e.user_email:e.user_id,user:e}));b(r)}catch(e){console.error("Error fetching users:",e)}finally{y(!1)}},Z=(0,a.useCallback)(m()((e,s)=>w(e,s),300),[]),S=(e,s)=>{_(s),Z(e,s)},C=(e,s)=>{let l=s.user;f.setFieldsValue({user_email:l.user_email,user_id:l.user_id,role:f.getFieldValue("role")})};return(0,r.jsx)(n.Z,{title:p,open:s,onCancel:()=>{f.resetFields(),b([]),l()},footer:null,width:800,children:(0,r.jsxs)(t.Z,{form:f,onFinish:d,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:{role:g},children:[(0,r.jsx)(t.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,r.jsx)(i.default,{showSearch:!0,className:"w-full",placeholder:"Search by email",filterOption:!1,onSearch:e=>S(e,"user_email"),onSelect:(e,s)=>C(e,s),options:"user_email"===N?v:[],loading:j,allowClear:!0})}),(0,r.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,r.jsx)(t.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,r.jsx)(i.default,{showSearch:!0,className:"w-full",placeholder:"Search by user ID",filterOption:!1,onSearch:e=>S(e,"user_id"),onSelect:(e,s)=>C(e,s),options:"user_id"===N?v:[],loading:j,allowClear:!0})}),(0,r.jsx)(t.Z.Item,{label:"Member Role",name:"role",className:"mb-4",children:(0,r.jsx)(i.default,{defaultValue:g,children:h.map(e=>(0,r.jsx)(i.default.Option,{value:e.value,children:(0,r.jsxs)(c.Z,{title:e.description,children:[(0,r.jsx)("span",{className:"font-medium",children:e.label}),(0,r.jsxs)("span",{className:"ml-2 text-gray-500 text-sm",children:["- ",e.description]})]})},e.value))})}),(0,r.jsx)("div",{className:"text-right mt-4",children:(0,r.jsx)(o.ZP,{type:"default",htmlType:"submit",children:"Add Member"})})]})})}},60131:function(e,s,l){"use strict";l.d(s,{Z:function(){return f}});var r=l(57437),a=l(2265),t=l(92280),n=l(40728),i=l(79814),c=l(19250),o=function(e){let{vectorStores:s,accessToken:l}=e,[t,o]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{if(l&&0!==s.length)try{let e=await (0,c.vectorStoreListCall)(l);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[l,s.length]);let d=e=>{let s=t.find(s=>s.vector_store_id===e);return s?"".concat(s.vector_store_name||s.vector_store_id," (").concat(s.vector_store_id,")"):e};return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.Z,{className:"h-4 w-4 text-blue-600"}),(0,r.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,r.jsx)(n.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:s.map((e,s)=>(0,r.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:d(e)},s))}):(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,r.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,r.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},d=l(25327),m=l(86462),u=l(47686),x=l(99981),p=function(e){let{mcpServers:s,mcpAccessGroups:t=[],mcpToolPermissions:i={},accessToken:o}=e,[p,h]=(0,a.useState)([]),[g,f]=(0,a.useState)([]),[v,b]=(0,a.useState)(new Set),j=e=>{b(s=>{let l=new Set(s);return l.has(e)?l.delete(e):l.add(e),l})};(0,a.useEffect)(()=>{(async()=>{if(o&&s.length>0)try{let e=await (0,c.fetchMCPServers)(o);e&&Array.isArray(e)?h(e):e.data&&Array.isArray(e.data)&&h(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,s.length]),(0,a.useEffect)(()=>{(async()=>{if(o&&t.length>0)try{let e=await Promise.resolve().then(l.bind(l,19250)).then(e=>e.fetchMCPAccessGroups(o));f(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,t.length]);let y=e=>{let s=p.find(s=>s.server_id===e);if(s){let l=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.alias," (").concat(l,")")}return e},N=e=>e,_=[...s.map(e=>({type:"server",value:e})),...t.map(e=>({type:"accessGroup",value:e}))],w=_.length;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,r.jsx)(n.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,r.jsx)(n.C,{color:"blue",size:"xs",children:w})]}),w>0?(0,r.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:_.map((e,s)=>{let l="server"===e.type?i[e.value]:void 0,a=l&&l.length>0,t=v.has(e.value);return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{onClick:()=>a&&j(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(a?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,r.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,r.jsx)(x.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,r.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,r.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:y(e.value)})]})}):(0,r.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,r.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:N(e.value)}),(0,r.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),a&&(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,r.jsx)("span",{className:"text-xs font-medium text-gray-600",children:l.length}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:1===l.length?"tool":"tools"}),t?(0,r.jsx)(m.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,r.jsx)(u.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),a&&t&&(0,r.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:l.map((e,s)=>(0,r.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},s))})})]},s)})}):(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,r.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,r.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},h=l(3497),g=function(e){let{agents:s,agentAccessGroups:l=[],accessToken:t}=e,[i,o]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{if(t&&s.length>0)try{let e=await (0,c.getAgentsList)(t);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[t,s.length]);let d=e=>{let s=i.find(s=>s.agent_id===e);if(s){let l=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.agent_name," (").concat(l,")")}return e},m=[...s.map(e=>({type:"agent",value:e})),...l.map(e=>({type:"accessGroup",value:e}))],u=m.length;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(h.Z,{className:"h-4 w-4 text-purple-600"}),(0,r.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,r.jsx)(n.C,{color:"purple",size:"xs",children:u})]}),u>0?(0,r.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:m.map((e,s)=>(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,r.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,r.jsx)(x.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,r.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,r.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:d(e.value)})]})}):(0,r.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,r.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,r.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},s))}):(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,r.jsx)(h.Z,{className:"h-4 w-4 text-gray-400"}),(0,r.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},f=function(e){let{objectPermission:s,variant:l="card",className:a="",accessToken:n}=e,i=(null==s?void 0:s.vector_stores)||[],c=(null==s?void 0:s.mcp_servers)||[],d=(null==s?void 0:s.mcp_access_groups)||[],m=(null==s?void 0:s.mcp_tool_permissions)||{},u=(null==s?void 0:s.agents)||[],x=(null==s?void 0:s.agent_access_groups)||[],h=(0,r.jsxs)("div",{className:"card"===l?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,r.jsx)(o,{vectorStores:i,accessToken:n}),(0,r.jsx)(p,{mcpServers:c,mcpAccessGroups:d,mcpToolPermissions:m,accessToken:n}),(0,r.jsx)(g,{agents:u,agentAccessGroups:x,accessToken:n})]});return"card"===l?(0,r.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(a),children:[(0,r.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,r.jsxs)("div",{children:[(0,r.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,r.jsx)(t.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),h]}):(0,r.jsxs)("div",{className:"".concat(a),children:[(0,r.jsx)(t.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),h]})}},36894:function(e,s,l){"use strict";var r=l(57437),a=l(56522),t=l(10032),n=l(37592),i=l(22116),c=l(5545),o=l(2265),d=l(24199);s.Z=e=>{var s,l,m;let{visible:u,onCancel:x,onSubmit:p,initialData:h,mode:g,config:f}=e,[v]=t.Z.useForm(),[b,j]=(0,o.useState)(!1);console.log("Initial Data:",h),(0,o.useEffect)(()=>{if(u){if("edit"===g&&h){let e={...h,role:h.role||f.defaultRole,max_budget_in_team:h.max_budget_in_team||null,tpm_limit:h.tpm_limit||null,rpm_limit:h.rpm_limit||null};console.log("Setting form values:",e),v.setFieldsValue(e)}else{var e;v.resetFields(),v.setFieldsValue({role:f.defaultRole||(null===(e=f.roleOptions[0])||void 0===e?void 0:e.value)})}}},[u,h,g,v,f.defaultRole,f.roleOptions]);let y=async e=>{try{j(!0);let s=Object.entries(e).reduce((e,s)=>{let[l,r]=s;if("string"==typeof r){let s=r.trim();return""===s&&("max_budget_in_team"===l||"tpm_limit"===l||"rpm_limit"===l)?{...e,[l]:null}:{...e,[l]:s}}return{...e,[l]:r}},{});console.log("Submitting form data:",s),await Promise.resolve(p(s)),v.resetFields()}catch(e){console.error("Form submission error:",e)}finally{j(!1)}},N=e=>{switch(e.type){case"input":return(0,r.jsx)(a.o,{placeholder:e.placeholder});case"numerical":return(0,r.jsx)(d.Z,{step:e.step||1,min:e.min||0,style:{width:"100%"},placeholder:e.placeholder||"Enter a numerical value"});case"select":var s;return(0,r.jsx)(n.default,{children:null===(s=e.options)||void 0===s?void 0:s.map(e=>(0,r.jsx)(n.default.Option,{value:e.value,children:e.label},e.value))});default:return null}};return(0,r.jsx)(i.Z,{title:f.title||("add"===g?"Add Member":"Edit Member"),open:u,width:1e3,footer:null,onCancel:x,children:(0,r.jsxs)(t.Z,{form:v,onFinish:y,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[f.showEmail&&(0,r.jsx)(t.Z.Item,{label:"Email",name:"user_email",className:"mb-4",rules:[{type:"email",message:"Please enter a valid email!"}],children:(0,r.jsx)(a.o,{placeholder:"user@example.com"})}),f.showEmail&&f.showUserId&&(0,r.jsx)("div",{className:"text-center mb-4",children:(0,r.jsx)(a.x,{children:"OR"})}),f.showUserId&&(0,r.jsx)(t.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,r.jsx)(a.o,{placeholder:"user_123"})}),(0,r.jsx)(t.Z.Item,{label:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{children:"Role"}),"edit"===g&&h&&(0,r.jsxs)("span",{className:"text-gray-500 text-sm",children:["(Current: ",(l=h.role,(null===(m=f.roleOptions.find(e=>e.value===l))||void 0===m?void 0:m.label)||l),")"]})]}),name:"role",className:"mb-4",rules:[{required:!0,message:"Please select a role!"}],children:(0,r.jsx)(n.default,{children:"edit"===g&&h?[...f.roleOptions.filter(e=>e.value===h.role),...f.roleOptions.filter(e=>e.value!==h.role)].map(e=>(0,r.jsx)(n.default.Option,{value:e.value,children:e.label},e.value)):f.roleOptions.map(e=>(0,r.jsx)(n.default.Option,{value:e.value,children:e.label},e.value))})}),null===(s=f.additionalFields)||void 0===s?void 0:s.map(e=>(0,r.jsx)(t.Z.Item,{label:e.label,name:e.name,className:"mb-4",rules:e.rules,children:N(e)},e.name)),(0,r.jsxs)("div",{className:"text-right mt-6",children:[(0,r.jsx)(c.ZP,{onClick:x,className:"mr-2",disabled:b,children:"Cancel"}),(0,r.jsx)(c.ZP,{type:"default",htmlType:"submit",loading:b,children:"add"===g?b?"Adding...":"Add Member":b?"Saving...":"Save Changes"})]})]})})}}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7138,8565,3709,5319,5333,525,6609,4546,7996,3746,8049,4679,2202,874,2004,2971,2117,1744],function(){return e(e.s=3191)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/playground/page-b2d3dfdee2f701e4.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/playground/page-ee95ec3fb92cdf8c.js similarity index 99% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/playground/page-b2d3dfdee2f701e4.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/playground/page-ee95ec3fb92cdf8c.js index 0aceabe447..76b21911d4 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/playground/page-b2d3dfdee2f701e4.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/playground/page-ee95ec3fb92cdf8c.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3368],{49568:function(e,n,t){Promise.resolve().then(t.bind(t,69039))},58643:function(e,n,t){"use strict";t.d(n,{OK:function(){return a.Z},nP:function(){return s.Z},td:function(){return o.Z},v0:function(){return i.Z},x4:function(){return r.Z}});var a=t(12485),i=t(18135),o=t(35242),r=t(29706),s=t(77991)},92280:function(e,n,t){"use strict";t.d(n,{x:function(){return a.Z}});var a=t(84264)},39760:function(e,n,t){"use strict";var a=t(2265),i=t(99376),o=t(14474),r=t(3914),s=t(19250);n.Z=()=>{var e,n,t,l,p,u;let m=(0,i.useRouter)(),c="undefined"!=typeof document?(0,r.e)("token"):null;(0,a.useEffect)(()=>{c||m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[c,m]);let d=(0,a.useMemo)(()=>{if(!c)return null;try{return(0,o.o)(c)}catch(e){return(0,r.b)(),m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[c,m]);return{token:c,accessToken:null!==(e=null==d?void 0:d.key)&&void 0!==e?e:null,userId:null!==(n=null==d?void 0:d.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==d?void 0:d.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(l=null==d?void 0:d.user_role)&&void 0!==l?l:null),premiumUser:null!==(p=null==d?void 0:d.premium_user)&&void 0!==p?p:null,disabledPersonalKeyCreation:null!==(u=null==d?void 0:d.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==d?void 0:d.login_method)==="username_password"}}},67479:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,disabled:p}=e,[u,m]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){d(!0);try{let e=await (0,r.getGuardrailsList)(l);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),m(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{d(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",disabled:p,placeholder:p?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),n(e)},value:t,loading:c,className:s,options:u.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},82971:function(e,n,t){"use strict";t.d(n,{L:function(){return i}});var a=t(8443);let i=e=>{let n;let{apiKeySource:t,accessToken:i,apiKey:o,inputMessage:r,chatHistory:s,selectedTags:l,selectedVectorStores:p,selectedGuardrails:u,selectedMCPTools:m,selectedVoice:c,endpointType:d,selectedModel:g,selectedSdk:_,proxySettings:f}=e,h="session"===t?i:o,b=window.location.origin,y=null==f?void 0:f.LITELLM_UI_API_DOC_BASE_URL;y&&y.trim()?b=y:(null==f?void 0:f.PROXY_BASE_URL)&&(b=f.PROXY_BASE_URL);let v=r||"Your prompt here",E=v.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),I=s.filter(e=>!e.isImage).map(e=>{let{role:n,content:t}=e;return{role:n,content:t}}),x={};l.length>0&&(x.tags=l),p.length>0&&(x.vector_stores=p),u.length>0&&(x.guardrails=u);let w=g||"your-model-name",S="azure"===_?'import openai\n\nclient = openai.AzureOpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n azure_endpoint="').concat(b,'",\n api_version="2024-02-01"\n)'):'import openai\n\nclient = openai.OpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n base_url="').concat(b,'"\n)');switch(d){case a.KP.CHAT:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=I.length>0?I:[{role:"user",content:v}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.chat.completions.create(\n model="'.concat(w,'",\n messages=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.chat.completions.create(\n# model="').concat(w,'",\n# messages=[\n# {\n# "role": "user",\n# "content": [\n# {\n# "type": "text",\n# "text": "').concat(E,'"\n# },\n# {\n# "type": "image_url",\n# "image_url": {\n# "url": f"data:image/jpeg;base64,{base64_file}" # or data:application/pdf;base64,{base64_file}\n# }\n# }\n# ]\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file)\n");break}case a.KP.RESPONSES:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=I.length>0?I:[{role:"user",content:v}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.responses.create(\n model="'.concat(w,'",\n input=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response.output_text)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.responses.create(\n# model="').concat(w,'",\n# input=[\n# {\n# "role": "user",\n# "content": [\n# {"type": "input_text", "text": "').concat(E,'"},\n# {\n# "type": "input_image",\n# "image_url": f"data:image/jpeg;base64,{base64_file}", # or data:application/pdf;base64,{base64_file}\n# },\n# ],\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file.output_text)\n");break}case a.KP.IMAGE:n="azure"===_?"\n# NOTE: The Azure SDK does not have a direct equivalent to the multi-modal 'responses.create' method shown for OpenAI.\n# This snippet uses 'client.images.generate' and will create a new image based on your prompt.\n# It does not use the uploaded image, as 'client.images.generate' does not support image inputs in this context.\nimport os\nimport requests\nimport json\nimport time\nfrom PIL import Image\n\nresult = client.images.generate(\n model=\"".concat(w,'",\n prompt="').concat(r,'",\n n=1\n)\n\njson_response = json.loads(result.model_dump_json())\n\n# Set the directory for the stored image\nimage_dir = os.path.join(os.curdir, \'images\')\n\n# If the directory doesn\'t exist, create it\nif not os.path.isdir(image_dir):\n os.mkdir(image_dir)\n\n# Initialize the image path\nimage_filename = f"generated_image_{int(time.time())}.png"\nimage_path = os.path.join(image_dir, image_filename)\n\ntry:\n # Retrieve the generated image\n if json_response.get("data") && len(json_response["data"]) > 0 && json_response["data"][0].get("url"):\n image_url = json_response["data"][0]["url"]\n generated_image = requests.get(image_url).content\n with open(image_path, "wb") as image_file:\n image_file.write(generated_image)\n\n print(f"Image saved to {image_path}")\n # Display the image\n image = Image.open(image_path)\n image.show()\n else:\n print("Could not find image URL in response.")\n print("Full response:", json_response)\nexcept Exception as e:\n print(f"An error occurred: {e}")\n print("Full response:", json_response)\n'):"\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(E,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.IMAGE_EDITS:n="azure"===_?'\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# The prompt entered by the user\nprompt = "'.concat(E,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n'):"\nimport base64\nimport os\nimport time\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(E,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.EMBEDDINGS:n='\nresponse = client.embeddings.create(\n input="'.concat(r||"Your string here",'",\n model="').concat(w,'",\n encoding_format="base64" # or "float"\n)\n\nprint(response.data[0].embedding)\n');break;case a.KP.TRANSCRIPTION:n='\n# Open the audio file\naudio_file = open("path/to/your/audio/file.mp3", "rb")\n\n# Make the transcription request\nresponse = client.audio.transcriptions.create(\n model="'.concat(w,'",\n file=audio_file').concat(r?',\n prompt="'.concat(r.replace(/"/g,'\\"'),'"'):"","\n)\n\nprint(response.text)\n");break;case a.KP.SPEECH:n='\n# Make the text-to-speech request\nresponse = client.audio.speech.create(\n model="'.concat(w,'",\n input="').concat(r||"Your text to convert to speech here",'",\n voice="').concat(c,'" # Options: alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer\n)\n\n# Save the audio to a file\noutput_filename = "output_speech.mp3"\nresponse.stream_to_file(output_filename)\nprint(f"Audio saved to {output_filename}")\n\n# Optional: Customize response format and speed\n# response = client.audio.speech.create(\n# model="').concat(w,'",\n# input="').concat(r||"Your text to convert to speech here",'",\n# voice="alloy",\n# response_format="mp3", # Options: mp3, opus, aac, flac, wav, pcm\n# speed=1.0 # Range: 0.25 to 4.0\n# )\n# response.stream_to_file("output_speech.mp3")\n');break;default:n="\n# Code generation for this endpoint is not implemented yet."}return"".concat(S,"\n").concat(n)}},8443:function(e,n,t){"use strict";var a,i,o,r;t.d(n,{KP:function(){return i},vf:function(){return l}}),(o=a||(a={})).AUDIO_SPEECH="audio_speech",o.AUDIO_TRANSCRIPTION="audio_transcription",o.IMAGE_GENERATION="image_generation",o.VIDEO_GENERATION="video_generation",o.CHAT="chat",o.RESPONSES="responses",o.IMAGE_EDITS="image_edits",o.ANTHROPIC_MESSAGES="anthropic_messages",o.EMBEDDING="embedding",(r=i||(i={})).IMAGE="image",r.VIDEO="video",r.CHAT="chat",r.RESPONSES="responses",r.IMAGE_EDITS="image_edits",r.ANTHROPIC_MESSAGES="anthropic_messages",r.EMBEDDINGS="embeddings",r.SPEECH="speech",r.TRANSCRIPTION="transcription",r.A2A_AGENTS="a2a_agents";let s={image_generation:"image",video_generation:"video",chat:"chat",responses:"responses",image_edits:"image_edits",anthropic_messages:"anthropic_messages",audio_speech:"speech",audio_transcription:"transcription",embedding:"embeddings"},l=e=>{if(console.log("getEndpointType:",e),Object.values(a).includes(e)){let n=s[e];return console.log("endpointType:",n),n}return"chat"}},10703:function(e,n,t){"use strict";t.d(n,{p:function(){return i}});var a=t(19250);let i=async e=>{try{let n=await (0,a.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},97415:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,placeholder:p="Select vector stores",disabled:u=!1}=e,[m,c]=(0,i.useState)([]),[d,g]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){g(!0);try{let e=await (0,r.vectorStoreListCall)(l);e.data&&c(e.data)}catch(e){console.error("Error fetching vector stores:",e)}finally{g(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",placeholder:p,onChange:n,value:t,loading:d,className:s,options:m.map(e=>({label:"".concat(e.vector_store_name||e.vector_store_id," (").concat(e.vector_store_id,")"),value:e.vector_store_id,title:e.vector_store_description||e.vector_store_id})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:u})})}},91624:function(e,n,t){"use strict";t.d(n,{C:function(){return i}});var a=t(19250);let i=async e=>{if(!e)return null;try{return await (0,a.getProxyUISettings)(e)}catch(e){return console.error("Error fetching proxy settings:",e),null}}}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,353,1994,8565,3709,5319,7906,816,7271,2586,8345,8049,1253,9039,2971,2117,1744],function(){return e(e.s=49568)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3368],{19235:function(e,n,t){Promise.resolve().then(t.bind(t,69039))},58643:function(e,n,t){"use strict";t.d(n,{OK:function(){return a.Z},nP:function(){return s.Z},td:function(){return o.Z},v0:function(){return i.Z},x4:function(){return r.Z}});var a=t(12485),i=t(18135),o=t(35242),r=t(29706),s=t(77991)},92280:function(e,n,t){"use strict";t.d(n,{x:function(){return a.Z}});var a=t(84264)},39760:function(e,n,t){"use strict";var a=t(2265),i=t(99376),o=t(14474),r=t(3914),s=t(19250);n.Z=()=>{var e,n,t,l,p,u;let m=(0,i.useRouter)(),c="undefined"!=typeof document?(0,r.e)("token"):null;(0,a.useEffect)(()=>{c||m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[c,m]);let d=(0,a.useMemo)(()=>{if(!c)return null;try{return(0,o.o)(c)}catch(e){return(0,r.b)(),m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[c,m]);return{token:c,accessToken:null!==(e=null==d?void 0:d.key)&&void 0!==e?e:null,userId:null!==(n=null==d?void 0:d.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==d?void 0:d.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(l=null==d?void 0:d.user_role)&&void 0!==l?l:null),premiumUser:null!==(p=null==d?void 0:d.premium_user)&&void 0!==p?p:null,disabledPersonalKeyCreation:null!==(u=null==d?void 0:d.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==d?void 0:d.login_method)==="username_password"}}},67479:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,disabled:p}=e,[u,m]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){d(!0);try{let e=await (0,r.getGuardrailsList)(l);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),m(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{d(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",disabled:p,placeholder:p?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),n(e)},value:t,loading:c,className:s,options:u.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},82971:function(e,n,t){"use strict";t.d(n,{L:function(){return i}});var a=t(8443);let i=e=>{let n;let{apiKeySource:t,accessToken:i,apiKey:o,inputMessage:r,chatHistory:s,selectedTags:l,selectedVectorStores:p,selectedGuardrails:u,selectedMCPTools:m,selectedVoice:c,endpointType:d,selectedModel:g,selectedSdk:_,proxySettings:f}=e,h="session"===t?i:o,b=window.location.origin,y=null==f?void 0:f.LITELLM_UI_API_DOC_BASE_URL;y&&y.trim()?b=y:(null==f?void 0:f.PROXY_BASE_URL)&&(b=f.PROXY_BASE_URL);let v=r||"Your prompt here",E=v.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),I=s.filter(e=>!e.isImage).map(e=>{let{role:n,content:t}=e;return{role:n,content:t}}),x={};l.length>0&&(x.tags=l),p.length>0&&(x.vector_stores=p),u.length>0&&(x.guardrails=u);let w=g||"your-model-name",S="azure"===_?'import openai\n\nclient = openai.AzureOpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n azure_endpoint="').concat(b,'",\n api_version="2024-02-01"\n)'):'import openai\n\nclient = openai.OpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n base_url="').concat(b,'"\n)');switch(d){case a.KP.CHAT:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=I.length>0?I:[{role:"user",content:v}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.chat.completions.create(\n model="'.concat(w,'",\n messages=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.chat.completions.create(\n# model="').concat(w,'",\n# messages=[\n# {\n# "role": "user",\n# "content": [\n# {\n# "type": "text",\n# "text": "').concat(E,'"\n# },\n# {\n# "type": "image_url",\n# "image_url": {\n# "url": f"data:image/jpeg;base64,{base64_file}" # or data:application/pdf;base64,{base64_file}\n# }\n# }\n# ]\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file)\n");break}case a.KP.RESPONSES:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=I.length>0?I:[{role:"user",content:v}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.responses.create(\n model="'.concat(w,'",\n input=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response.output_text)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.responses.create(\n# model="').concat(w,'",\n# input=[\n# {\n# "role": "user",\n# "content": [\n# {"type": "input_text", "text": "').concat(E,'"},\n# {\n# "type": "input_image",\n# "image_url": f"data:image/jpeg;base64,{base64_file}", # or data:application/pdf;base64,{base64_file}\n# },\n# ],\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file.output_text)\n");break}case a.KP.IMAGE:n="azure"===_?"\n# NOTE: The Azure SDK does not have a direct equivalent to the multi-modal 'responses.create' method shown for OpenAI.\n# This snippet uses 'client.images.generate' and will create a new image based on your prompt.\n# It does not use the uploaded image, as 'client.images.generate' does not support image inputs in this context.\nimport os\nimport requests\nimport json\nimport time\nfrom PIL import Image\n\nresult = client.images.generate(\n model=\"".concat(w,'",\n prompt="').concat(r,'",\n n=1\n)\n\njson_response = json.loads(result.model_dump_json())\n\n# Set the directory for the stored image\nimage_dir = os.path.join(os.curdir, \'images\')\n\n# If the directory doesn\'t exist, create it\nif not os.path.isdir(image_dir):\n os.mkdir(image_dir)\n\n# Initialize the image path\nimage_filename = f"generated_image_{int(time.time())}.png"\nimage_path = os.path.join(image_dir, image_filename)\n\ntry:\n # Retrieve the generated image\n if json_response.get("data") && len(json_response["data"]) > 0 && json_response["data"][0].get("url"):\n image_url = json_response["data"][0]["url"]\n generated_image = requests.get(image_url).content\n with open(image_path, "wb") as image_file:\n image_file.write(generated_image)\n\n print(f"Image saved to {image_path}")\n # Display the image\n image = Image.open(image_path)\n image.show()\n else:\n print("Could not find image URL in response.")\n print("Full response:", json_response)\nexcept Exception as e:\n print(f"An error occurred: {e}")\n print("Full response:", json_response)\n'):"\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(E,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.IMAGE_EDITS:n="azure"===_?'\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# The prompt entered by the user\nprompt = "'.concat(E,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n'):"\nimport base64\nimport os\nimport time\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(E,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.EMBEDDINGS:n='\nresponse = client.embeddings.create(\n input="'.concat(r||"Your string here",'",\n model="').concat(w,'",\n encoding_format="base64" # or "float"\n)\n\nprint(response.data[0].embedding)\n');break;case a.KP.TRANSCRIPTION:n='\n# Open the audio file\naudio_file = open("path/to/your/audio/file.mp3", "rb")\n\n# Make the transcription request\nresponse = client.audio.transcriptions.create(\n model="'.concat(w,'",\n file=audio_file').concat(r?',\n prompt="'.concat(r.replace(/"/g,'\\"'),'"'):"","\n)\n\nprint(response.text)\n");break;case a.KP.SPEECH:n='\n# Make the text-to-speech request\nresponse = client.audio.speech.create(\n model="'.concat(w,'",\n input="').concat(r||"Your text to convert to speech here",'",\n voice="').concat(c,'" # Options: alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer\n)\n\n# Save the audio to a file\noutput_filename = "output_speech.mp3"\nresponse.stream_to_file(output_filename)\nprint(f"Audio saved to {output_filename}")\n\n# Optional: Customize response format and speed\n# response = client.audio.speech.create(\n# model="').concat(w,'",\n# input="').concat(r||"Your text to convert to speech here",'",\n# voice="alloy",\n# response_format="mp3", # Options: mp3, opus, aac, flac, wav, pcm\n# speed=1.0 # Range: 0.25 to 4.0\n# )\n# response.stream_to_file("output_speech.mp3")\n');break;default:n="\n# Code generation for this endpoint is not implemented yet."}return"".concat(S,"\n").concat(n)}},8443:function(e,n,t){"use strict";var a,i,o,r;t.d(n,{KP:function(){return i},vf:function(){return l}}),(o=a||(a={})).AUDIO_SPEECH="audio_speech",o.AUDIO_TRANSCRIPTION="audio_transcription",o.IMAGE_GENERATION="image_generation",o.VIDEO_GENERATION="video_generation",o.CHAT="chat",o.RESPONSES="responses",o.IMAGE_EDITS="image_edits",o.ANTHROPIC_MESSAGES="anthropic_messages",o.EMBEDDING="embedding",(r=i||(i={})).IMAGE="image",r.VIDEO="video",r.CHAT="chat",r.RESPONSES="responses",r.IMAGE_EDITS="image_edits",r.ANTHROPIC_MESSAGES="anthropic_messages",r.EMBEDDINGS="embeddings",r.SPEECH="speech",r.TRANSCRIPTION="transcription",r.A2A_AGENTS="a2a_agents";let s={image_generation:"image",video_generation:"video",chat:"chat",responses:"responses",image_edits:"image_edits",anthropic_messages:"anthropic_messages",audio_speech:"speech",audio_transcription:"transcription",embedding:"embeddings"},l=e=>{if(console.log("getEndpointType:",e),Object.values(a).includes(e)){let n=s[e];return console.log("endpointType:",n),n}return"chat"}},10703:function(e,n,t){"use strict";t.d(n,{p:function(){return i}});var a=t(19250);let i=async e=>{try{let n=await (0,a.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},97415:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,placeholder:p="Select vector stores",disabled:u=!1}=e,[m,c]=(0,i.useState)([]),[d,g]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){g(!0);try{let e=await (0,r.vectorStoreListCall)(l);e.data&&c(e.data)}catch(e){console.error("Error fetching vector stores:",e)}finally{g(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",placeholder:p,onChange:n,value:t,loading:d,className:s,options:m.map(e=>({label:"".concat(e.vector_store_name||e.vector_store_id," (").concat(e.vector_store_id,")"),value:e.vector_store_id,title:e.vector_store_description||e.vector_store_id})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:u})})}},91624:function(e,n,t){"use strict";t.d(n,{C:function(){return i}});var a=t(19250);let i=async e=>{if(!e)return null;try{return await (0,a.getProxyUISettings)(e)}catch(e){return console.error("Error fetching proxy settings:",e),null}}}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,353,1994,8565,3709,5319,7906,4804,7271,8205,507,8049,1253,9039,2971,2117,1744],function(){return e(e.s=19235)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/admin-settings/page-1d68edc5e87173ad.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/admin-settings/page-47f52cb50166848e.js similarity index 95% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/admin-settings/page-1d68edc5e87173ad.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/admin-settings/page-47f52cb50166848e.js index 8861bc1201..3c5d2b57d4 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/admin-settings/page-1d68edc5e87173ad.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/admin-settings/page-47f52cb50166848e.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8958],{22489:function(e,n,t){Promise.resolve().then(t.bind(t,8786))},25512:function(e,n,t){"use strict";t.d(n,{P:function(){return r.Z},Q:function(){return u.Z}});var r=t(27281),u=t(57365)},56522:function(e,n,t){"use strict";t.d(n,{o:function(){return u.Z},x:function(){return r.Z}});var r=t(84264),u=t(49566)},90246:function(e,n,t){"use strict";function r(e){let n=[e];return{all:n,lists:()=>[...n,"list"],list:e=>[...n,"list",{params:e}],details:()=>[...n,"detail"],detail:e=>[...n,"detail",e]}}t.d(n,{n:function(){return r}})},55584:function(e,n,t){"use strict";t.d(n,{L:function(){return l}});var r=t(19250),u=t(11713);let i=(0,t(90246).n)("uiSettings"),l=e=>(0,u.a)({queryKey:i.list({}),queryFn:async()=>await (0,r.getUiSettings)(e),enabled:!!e,staleTime:36e5,gcTime:36e5})},39760:function(e,n,t){"use strict";var r=t(2265),u=t(99376),i=t(14474),l=t(3914),a=t(19250);n.Z=()=>{var e,n,t,s,o,c;let d=(0,u.useRouter)(),f="undefined"!=typeof document?(0,l.e)("token"):null;(0,r.useEffect)(()=>{f||d.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let _=(0,r.useMemo)(()=>{if(!f)return null;try{return(0,i.o)(f)}catch(e){return(0,l.b)(),d.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==_?void 0:_.key)&&void 0!==e?e:null,userId:null!==(n=null==_?void 0:_.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==_?void 0:_.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==_?void 0:_.user_role)&&void 0!==s?s:null),premiumUser:null!==(o=null==_?void 0:_.premium_user)&&void 0!==o?o:null,disabledPersonalKeyCreation:null!==(c=null==_?void 0:_.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==_?void 0:_.login_method)==="username_password"}}},11318:function(e,n,t){"use strict";t.d(n,{Z:function(){return a}});var r=t(2265),u=t(39760),i=t(19250);let l=async(e,n,t,r)=>"Admin"!=t&&"Admin Viewer"!=t?await (0,i.teamListCall)(e,(null==r?void 0:r.organization_id)||null,n):await (0,i.teamListCall)(e,(null==r?void 0:r.organization_id)||null);var a=()=>{let[e,n]=(0,r.useState)([]),{accessToken:t,userId:i,userRole:a}=(0,u.Z)();return(0,r.useEffect)(()=>{(async()=>{n(await l(t,i,a,null))})()},[t,i,a]),{teams:e,setTeams:n}}},8786:function(e,n,t){"use strict";t.r(n);var r=t(57437),u=t(48449),i=t(39760),l=t(2265),a=t(11318);n.default=()=>{let{teams:e,setTeams:n}=(0,a.Z)(),[t,s]=(0,l.useState)(()=>new URLSearchParams(window.location.search)),{accessToken:o,userId:c,premiumUser:d,showSSOBanner:f}=(0,i.Z)();return(0,r.jsx)(u.Z,{searchParams:t,accessToken:o,userID:c,setTeams:n,showSSOBanner:f,premiumUser:d})}},12363:function(e,n,t){"use strict";t.d(n,{d:function(){return i},n:function(){return u}});var r=t(2265);let u=()=>{let[e,n]=(0,r.useState)("http://localhost:4000");return(0,r.useEffect)(()=>{{let{protocol:e,host:t}=window.location;n("".concat(e,"//").concat(t))}},[]),e},i=25}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,3709,5333,5869,1713,5945,7448,8049,8449,2971,2117,1744],function(){return e(e.s=22489)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8958],{41667:function(e,n,t){Promise.resolve().then(t.bind(t,8786))},25512:function(e,n,t){"use strict";t.d(n,{P:function(){return r.Z},Q:function(){return u.Z}});var r=t(27281),u=t(57365)},56522:function(e,n,t){"use strict";t.d(n,{o:function(){return u.Z},x:function(){return r.Z}});var r=t(84264),u=t(49566)},90246:function(e,n,t){"use strict";function r(e){let n=[e];return{all:n,lists:()=>[...n,"list"],list:e=>[...n,"list",{params:e}],details:()=>[...n,"detail"],detail:e=>[...n,"detail",e]}}t.d(n,{n:function(){return r}})},55584:function(e,n,t){"use strict";t.d(n,{L:function(){return l}});var r=t(19250),u=t(11713);let i=(0,t(90246).n)("uiSettings"),l=e=>(0,u.a)({queryKey:i.list({}),queryFn:async()=>await (0,r.getUiSettings)(e),enabled:!!e,staleTime:36e5,gcTime:36e5})},39760:function(e,n,t){"use strict";var r=t(2265),u=t(99376),i=t(14474),l=t(3914),a=t(19250);n.Z=()=>{var e,n,t,s,o,c;let d=(0,u.useRouter)(),f="undefined"!=typeof document?(0,l.e)("token"):null;(0,r.useEffect)(()=>{f||d.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let _=(0,r.useMemo)(()=>{if(!f)return null;try{return(0,i.o)(f)}catch(e){return(0,l.b)(),d.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==_?void 0:_.key)&&void 0!==e?e:null,userId:null!==(n=null==_?void 0:_.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==_?void 0:_.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==_?void 0:_.user_role)&&void 0!==s?s:null),premiumUser:null!==(o=null==_?void 0:_.premium_user)&&void 0!==o?o:null,disabledPersonalKeyCreation:null!==(c=null==_?void 0:_.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==_?void 0:_.login_method)==="username_password"}}},11318:function(e,n,t){"use strict";t.d(n,{Z:function(){return a}});var r=t(2265),u=t(39760),i=t(19250);let l=async(e,n,t,r)=>"Admin"!=t&&"Admin Viewer"!=t?await (0,i.teamListCall)(e,(null==r?void 0:r.organization_id)||null,n):await (0,i.teamListCall)(e,(null==r?void 0:r.organization_id)||null);var a=()=>{let[e,n]=(0,r.useState)([]),{accessToken:t,userId:i,userRole:a}=(0,u.Z)();return(0,r.useEffect)(()=>{(async()=>{n(await l(t,i,a,null))})()},[t,i,a]),{teams:e,setTeams:n}}},8786:function(e,n,t){"use strict";t.r(n);var r=t(57437),u=t(48449),i=t(39760),l=t(2265),a=t(11318);n.default=()=>{let{teams:e,setTeams:n}=(0,a.Z)(),[t,s]=(0,l.useState)(()=>new URLSearchParams(window.location.search)),{accessToken:o,userId:c,premiumUser:d,showSSOBanner:f}=(0,i.Z)();return(0,r.jsx)(u.Z,{searchParams:t,accessToken:o,userID:c,setTeams:n,showSSOBanner:f,premiumUser:d})}},12363:function(e,n,t){"use strict";t.d(n,{d:function(){return i},n:function(){return u}});var r=t(2265);let u=()=>{let[e,n]=(0,r.useState)("http://localhost:4000");return(0,r.useEffect)(()=>{{let{protocol:e,host:t}=window.location;n("".concat(e,"//").concat(t))}},[]),e},i=25}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,3709,5869,5333,1713,5945,7448,8049,8449,2971,2117,1744],function(){return e(e.s=41667)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/logging-and-alerts/page-50bf5157dfcd91e1.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/logging-and-alerts/page-50bf5157dfcd91e1.js new file mode 100644 index 0000000000..9f8cf809f0 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/logging-and-alerts/page-50bf5157dfcd91e1.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2445],{4489:function(e,n,r){Promise.resolve().then(r.bind(r,72719))},90246:function(e,n,r){"use strict";function l(e){let n=[e];return{all:n,lists:()=>[...n,"list"],list:e=>[...n,"list",{params:e}],details:()=>[...n,"detail"],detail:e=>[...n,"detail",e]}}r.d(n,{n:function(){return l}})},39760:function(e,n,r){"use strict";var l=r(2265),t=r(99376),s=r(14474),i=r(3914),a=r(19250);n.Z=()=>{var e,n,r,u,o,d;let c=(0,t.useRouter)(),m="undefined"!=typeof document?(0,i.e)("token"):null;(0,l.useEffect)(()=>{m||c.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login"))},[m,c]);let p=(0,l.useMemo)(()=>{if(!m)return null;try{return(0,s.o)(m)}catch(e){return(0,i.b)(),c.replace("".concat((0,a.getProxyBaseUrl)(),"/ui/login")),null}},[m,c]);return{token:m,accessToken:null!==(e=null==p?void 0:p.key)&&void 0!==e?e:null,userId:null!==(n=null==p?void 0:p.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==p?void 0:p.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(u=null==p?void 0:p.user_role)&&void 0!==u?u:null),premiumUser:null!==(o=null==p?void 0:p.premium_user)&&void 0!==o?o:null,disabledPersonalKeyCreation:null!==(d=null==p?void 0:p.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==p?void 0:p.login_method)==="username_password"}}},72719:function(e,n,r){"use strict";r.r(n);var l=r(57437),t=r(24504),s=r(39760);n.default=()=>{let{accessToken:e,userRole:n,userId:r,premiumUser:i}=(0,s.Z)();return(0,l.jsx)(t.Z,{accessToken:e,userRole:n,userID:r,premiumUser:i})}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return d}});var l=r(57437),t=r(57840),s=r(22116),i=r(51653),a=r(76188),u=r(4260),o=r(2265);function d(e){let{isOpen:n,title:r,alertMessage:d,message:c,resourceInformationTitle:m,resourceInformation:p,onCancel:f,onOk:_,confirmLoading:x,requiredConfirmation:v}=e,{Title:h,Text:g}=t.default,[b,j]=(0,o.useState)("");return(0,o.useEffect)(()=>{n&&j("")},[n]),(0,l.jsx)(s.Z,{title:r,open:n,onOk:_,onCancel:f,confirmLoading:x,okText:x?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!v&&b!==v||x},cancelButtonProps:{disabled:x},children:(0,l.jsxs)("div",{className:"space-y-4",children:[d&&(0,l.jsx)(i.Z,{message:d,type:"warning"}),(0,l.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,l.jsx)(h,{level:5,className:"mb-3 text-gray-900",children:m}),(0,l.jsx)(a.Z,{column:1,size:"small",children:p&&p.map(e=>{let{label:n,value:r,...t}=e;return(0,l.jsx)(a.Z.Item,{label:(0,l.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,l.jsx)(g,{...t,children:null!=r?r:"-"})},n)})})]}),(0,l.jsx)("div",{children:(0,l.jsx)(g,{children:c})}),v&&(0,l.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,l.jsxs)(g,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,l.jsx)(g,{children:"Type "}),(0,l.jsx)(g,{strong:!0,type:"danger",children:v}),(0,l.jsx)(g,{children:" to confirm deletion:"})]}),(0,l.jsx)(u.default,{value:b,onChange:e=>j(e.target.value),placeholder:v,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7138,5869,5333,525,6609,1713,4546,5945,8352,8049,4504,2971,2117,1744],function(){return e(e.s=4489)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/logging-and-alerts/page-58549a63fe8cb1d3.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/logging-and-alerts/page-58549a63fe8cb1d3.js deleted file mode 100644 index c2139dc641..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/logging-and-alerts/page-58549a63fe8cb1d3.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2445],{96354:function(e,r,t){Promise.resolve().then(t.bind(t,72719))},77565:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(1119),a=t(2265),l={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},o=t(55015),s=a.forwardRef(function(e,r){return a.createElement(o.Z,(0,n.Z)({},e,{ref:r,icon:l}))})},59341:function(e,r,t){"use strict";t.d(r,{Z:function(){return L}});var n=t(5853),a=t(71049),l=t(11323),o=t(2265),s=t(66797),i=t(40099),c=t(74275),d=t(59456),u=t(93980),m=t(65573),f=t(67561),p=t(87550),b=t(628),h=t(80281),g=t(31370),v=t(20131),k=t(38929),w=t(52307),x=t(52724),y=t(7935);let N=(0,o.createContext)(null);N.displayName="GroupContext";let E=o.Fragment,_=Object.assign((0,k.yV)(function(e,r){var t;let n=(0,o.useId)(),E=(0,h.Q)(),_=(0,p.B)(),{id:j=E||"headlessui-switch-".concat(n),disabled:C=_||!1,checked:T,defaultChecked:R,onChange:Z,name:q,value:L,form:S,autoFocus:O=!1,...P}=e,F=(0,o.useContext)(N),[M,B]=(0,o.useState)(null),D=(0,o.useRef)(null),z=(0,f.T)(D,r,null===F?null:F.setSwitch,B),H=(0,c.L)(R),[I,U]=(0,i.q)(T,Z,null!=H&&H),A=(0,d.G)(),[G,K]=(0,o.useState)(!1),V=(0,u.z)(()=>{K(!0),null==U||U(!I),A.nextFrame(()=>{K(!1)})}),W=(0,u.z)(e=>{if((0,g.P)(e.currentTarget))return e.preventDefault();e.preventDefault(),V()}),Q=(0,u.z)(e=>{e.key===x.R.Space?(e.preventDefault(),V()):e.key===x.R.Enter&&(0,v.g)(e.currentTarget)}),X=(0,u.z)(e=>e.preventDefault()),J=(0,y.wp)(),Y=(0,w.zH)(),{isFocusVisible:$,focusProps:ee}=(0,a.F)({autoFocus:O}),{isHovered:er,hoverProps:et}=(0,l.X)({isDisabled:C}),{pressed:en,pressProps:ea}=(0,s.x)({disabled:C}),el=(0,o.useMemo)(()=>({checked:I,disabled:C,hover:er,focus:$,active:en,autofocus:O,changing:G}),[I,er,$,en,C,G,O]),eo=(0,k.dG)({id:j,ref:z,role:"switch",type:(0,m.f)(e,M),tabIndex:-1===e.tabIndex?0:null!=(t=e.tabIndex)?t:0,"aria-checked":I,"aria-labelledby":J,"aria-describedby":Y,disabled:C||void 0,autoFocus:O,onClick:W,onKeyUp:Q,onKeyPress:X},ee,et,ea),es=(0,o.useCallback)(()=>{if(void 0!==H)return null==U?void 0:U(H)},[U,H]),ei=(0,k.L6)();return o.createElement(o.Fragment,null,null!=q&&o.createElement(b.Mt,{disabled:C,data:{[q]:L||"on"},overrides:{type:"checkbox",checked:I},form:S,onReset:es}),ei({ourProps:eo,theirProps:P,slot:el,defaultTag:"button",name:"Switch"}))}),{Group:function(e){var r;let[t,n]=(0,o.useState)(null),[a,l]=(0,y.bE)(),[s,i]=(0,w.fw)(),c=(0,o.useMemo)(()=>({switch:t,setSwitch:n}),[t,n]),d=(0,k.L6)();return o.createElement(i,{name:"Switch.Description",value:s},o.createElement(l,{name:"Switch.Label",value:a,props:{htmlFor:null==(r=c.switch)?void 0:r.id,onClick(e){t&&(e.currentTarget instanceof HTMLLabelElement&&e.preventDefault(),t.click(),t.focus({preventScroll:!0}))}}},o.createElement(N.Provider,{value:c},d({ourProps:{},theirProps:e,slot:{},defaultTag:E,name:"Switch.Group"}))))},Label:y.__,Description:w.dk});var j=t(44140),C=t(26898),T=t(13241),R=t(1153),Z=t(47187);let q=(0,R.fn)("Switch"),L=o.forwardRef((e,r)=>{let{checked:t,defaultChecked:a=!1,onChange:l,color:s,name:i,error:c,errorMessage:d,disabled:u,required:m,tooltip:f,id:p}=e,b=(0,n._T)(e,["checked","defaultChecked","onChange","color","name","error","errorMessage","disabled","required","tooltip","id"]),h={bgColor:s?(0,R.bM)(s,C.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",ringColor:s?(0,R.bM)(s,C.K.ring).ringColor:"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"},[g,v]=(0,j.Z)(a,t),[k,w]=(0,o.useState)(!1),{tooltipProps:x,getReferenceProps:y}=(0,Z.l)(300);return o.createElement("div",{className:"flex flex-row items-center justify-start"},o.createElement(Z.Z,Object.assign({text:f},x)),o.createElement("div",Object.assign({ref:(0,R.lq)([r,x.refs.setReference]),className:(0,T.q)(q("root"),"flex flex-row relative h-5")},b,y),o.createElement("input",{type:"checkbox",className:(0,T.q)(q("input"),"absolute w-5 h-5 cursor-pointer left-0 top-0 opacity-0"),name:i,required:m,checked:g,onChange:e=>{e.preventDefault()}}),o.createElement(_,{checked:g,onChange:e=>{v(e),null==l||l(e)},disabled:u,className:(0,T.q)(q("switch"),"w-10 h-5 group relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-tremor-full","focus:outline-none",u?"cursor-not-allowed":""),onFocus:()=>w(!0),onBlur:()=>w(!1),id:p},o.createElement("span",{className:(0,T.q)(q("sr-only"),"sr-only")},"Switch ",g?"on":"off"),o.createElement("span",{"aria-hidden":"true",className:(0,T.q)(q("background"),g?h.bgColor:"bg-tremor-border dark:bg-dark-tremor-border","pointer-events-none absolute mx-auto h-3 w-9 rounded-tremor-full transition-colors duration-100 ease-in-out")}),o.createElement("span",{"aria-hidden":"true",className:(0,T.q)(q("round"),g?(0,T.q)(h.bgColor,"translate-x-5 border-tremor-background dark:border-dark-tremor-background"):"translate-x-0 bg-tremor-border dark:bg-dark-tremor-border border-tremor-background dark:border-dark-tremor-background","pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-tremor-full border-2 shadow-tremor-input duration-100 ease-in-out transition",k?(0,T.q)("ring-2",h.ringColor):"")}))),c&&d?o.createElement("p",{className:(0,T.q)(q("errorMessage"),"text-sm text-red-500 mt-1 ")},d):null)});L.displayName="Switch"},21626:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(5853),a=t(2265),l=t(13241);let o=(0,t(1153).fn)("Table"),s=a.forwardRef((e,r)=>{let{children:t,className:s}=e,i=(0,n._T)(e,["children","className"]);return a.createElement("div",{className:(0,l.q)(o("root"),"overflow-auto",s)},a.createElement("table",Object.assign({ref:r,className:(0,l.q)(o("table"),"w-full text-tremor-default","text-tremor-content","dark:text-dark-tremor-content")},i),t))});s.displayName="Table"},97214:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(5853),a=t(2265),l=t(13241);let o=(0,t(1153).fn)("TableBody"),s=a.forwardRef((e,r)=>{let{children:t,className:s}=e,i=(0,n._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("tbody",Object.assign({ref:r,className:(0,l.q)(o("root"),"align-top divide-y","divide-tremor-border","dark:divide-dark-tremor-border",s)},i),t))});s.displayName="TableBody"},28241:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(5853),a=t(2265),l=t(13241);let o=(0,t(1153).fn)("TableCell"),s=a.forwardRef((e,r)=>{let{children:t,className:s}=e,i=(0,n._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("td",Object.assign({ref:r,className:(0,l.q)(o("root"),"align-middle whitespace-nowrap text-left p-4",s)},i),t))});s.displayName="TableCell"},58834:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(5853),a=t(2265),l=t(13241);let o=(0,t(1153).fn)("TableHead"),s=a.forwardRef((e,r)=>{let{children:t,className:s}=e,i=(0,n._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("thead",Object.assign({ref:r,className:(0,l.q)(o("root"),"text-left","text-tremor-content","dark:text-dark-tremor-content",s)},i),t))});s.displayName="TableHead"},69552:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(5853),a=t(2265),l=t(13241);let o=(0,t(1153).fn)("TableHeaderCell"),s=a.forwardRef((e,r)=>{let{children:t,className:s}=e,i=(0,n._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("th",Object.assign({ref:r,className:(0,l.q)(o("root"),"whitespace-nowrap text-left font-semibold top-0 px-4 py-3.5","text-tremor-content-strong","dark:text-dark-tremor-content-strong",s)},i),t))});s.displayName="TableHeaderCell"},71876:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});var n=t(5853),a=t(2265),l=t(13241);let o=(0,t(1153).fn)("TableRow"),s=a.forwardRef((e,r)=>{let{children:t,className:s}=e,i=(0,n._T)(e,["children","className"]);return a.createElement(a.Fragment,null,a.createElement("tr",Object.assign({ref:r,className:(0,l.q)(o("row"),s)},i),t))});s.displayName="TableRow"},44140:function(e,r,t){"use strict";t.d(r,{Z:function(){return a}});var n=t(2265);let a=(e,r)=>{let t=void 0!==r,[a,l]=(0,n.useState)(e);return[t?r:a,e=>{t||l(e)}]}},39760:function(e,r,t){"use strict";var n=t(2265),a=t(99376),l=t(14474),o=t(3914),s=t(19250);r.Z=()=>{var e,r,t,i,c,d;let u=(0,a.useRouter)(),m="undefined"!=typeof document?(0,o.e)("token"):null;(0,n.useEffect)(()=>{m||u.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[m,u]);let f=(0,n.useMemo)(()=>{if(!m)return null;try{return(0,l.o)(m)}catch(e){return(0,o.b)(),u.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[m,u]);return{token:m,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(r=null==f?void 0:f.user_id)&&void 0!==r?r:null,userEmail:null!==(t=null==f?void 0:f.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(i=null==f?void 0:f.user_role)&&void 0!==i?i:null),premiumUser:null!==(c=null==f?void 0:f.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(d=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==d?d:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},72719:function(e,r,t){"use strict";t.r(r);var n=t(57437),a=t(89111),l=t(39760);r.default=()=>{let{accessToken:e,userRole:r,userId:t,premiumUser:o}=(0,l.Z)();return(0,n.jsx)(a.Z,{accessToken:e,userRole:r,userID:t,premiumUser:o})}},21609:function(e,r,t){"use strict";t.d(r,{Z:function(){return d}});var n=t(57437),a=t(57840),l=t(22116),o=t(51653),s=t(76188),i=t(4260),c=t(2265);function d(e){let{isOpen:r,title:t,alertMessage:d,message:u,resourceInformationTitle:m,resourceInformation:f,onCancel:p,onOk:b,confirmLoading:h,requiredConfirmation:g}=e,{Title:v,Text:k}=a.default,[w,x]=(0,c.useState)("");return(0,c.useEffect)(()=>{r&&x("")},[r]),(0,n.jsx)(l.Z,{title:t,open:r,onOk:b,onCancel:p,confirmLoading:h,okText:h?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!g&&w!==g||h},cancelButtonProps:{disabled:h},children:(0,n.jsxs)("div",{className:"space-y-4",children:[d&&(0,n.jsx)(o.Z,{message:d,type:"warning"}),(0,n.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,n.jsx)(v,{level:5,className:"mb-3 text-gray-900",children:m}),(0,n.jsx)(s.Z,{column:1,size:"small",children:f&&f.map(e=>{let{label:r,value:t,...a}=e;return(0,n.jsx)(s.Z.Item,{label:(0,n.jsx)("span",{className:"font-semibold text-gray-700",children:r}),children:(0,n.jsx)(k,{...a,children:null!=t?t:"-"})},r)})})]}),(0,n.jsx)("div",{children:(0,n.jsx)(k,{children:u})}),g&&(0,n.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,n.jsxs)(k,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,n.jsx)(k,{children:"Type "}),(0,n.jsx)(k,{strong:!0,type:"danger",children:g}),(0,n.jsx)(k,{children:" to confirm deletion:"})]}),(0,n.jsx)(i.default,{value:w,onChange:e=>x(e.target.value),placeholder:g,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},44643:function(e,r,t){"use strict";var n=t(2265);let a=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"}))});r.Z=a},53410:function(e,r,t){"use strict";var n=t(2265);let a=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});r.Z=a},91126:function(e,r,t){"use strict";var n=t(2265);let a=n.forwardRef(function(e,r){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:r},e),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});r.Z=a}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,3705,5333,525,6609,4546,8049,9111,2971,2117,1744],function(){return e(e.s=96354)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/router-settings/page-4f8922c9c760549a.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/router-settings/page-f3097b90ecb4595f.js similarity index 96% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/router-settings/page-4f8922c9c760549a.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/router-settings/page-f3097b90ecb4595f.js index caf1ef557e..cd2e1943f4 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/router-settings/page-4f8922c9c760549a.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/router-settings/page-f3097b90ecb4595f.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8021],{40915:function(e,n,r){Promise.resolve().then(r.bind(r,14809))},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},10178:function(e,n,r){"use strict";r.d(n,{JO:function(){return t.Z},RM:function(){return o.Z},SC:function(){return a.Z},iA:function(){return l.Z},pj:function(){return u.Z},ss:function(){return s.Z},xs:function(){return i.Z}});var t=r(47323),l=r(21626),o=r(97214),u=r(28241),s=r(58834),i=r(69552),a=r(71876)},58643:function(e,n,r){"use strict";r.d(n,{OK:function(){return t.Z},nP:function(){return s.Z},td:function(){return o.Z},v0:function(){return l.Z},x4:function(){return u.Z}});var t=r(12485),l=r(18135),o=r(35242),u=r(29706),s=r(77991)},39760:function(e,n,r){"use strict";var t=r(2265),l=r(99376),o=r(14474),u=r(3914),s=r(19250);n.Z=()=>{var e,n,r,i,a,c;let d=(0,l.useRouter)(),m="undefined"!=typeof document?(0,u.e)("token"):null;(0,t.useEffect)(()=>{m||d.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let f=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,o.o)(m)}catch(e){return(0,u.b)(),d.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(n=null==f?void 0:f.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==f?void 0:f.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(i=null==f?void 0:f.user_role)&&void 0!==i?i:null),premiumUser:null!==(a=null==f?void 0:f.premium_user)&&void 0!==a?a:null,disabledPersonalKeyCreation:null!==(c=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},14809:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(27975),o=r(39760);n.default=()=>{let{accessToken:e,userRole:n,userId:r}=(0,o.Z)();return(0,t.jsx)(l.Z,{accessToken:e,userRole:n,userID:r,modelData:{}})}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return c}});var t=r(57437),l=r(57840),o=r(22116),u=r(51653),s=r(76188),i=r(4260),a=r(2265);function c(e){let{isOpen:n,title:r,alertMessage:c,message:d,resourceInformationTitle:m,resourceInformation:f,onCancel:p,onOk:v,confirmLoading:_,requiredConfirmation:x}=e,{Title:g,Text:h}=l.default,[b,Z]=(0,a.useState)("");return(0,a.useEffect)(()=>{n&&Z("")},[n]),(0,t.jsx)(o.Z,{title:r,open:n,onOk:v,onCancel:p,confirmLoading:_,okText:_?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!x&&b!==x||_},cancelButtonProps:{disabled:_},children:(0,t.jsxs)("div",{className:"space-y-4",children:[c&&(0,t.jsx)(u.Z,{message:c,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(g,{level:5,className:"mb-3 text-gray-900",children:m}),(0,t.jsx)(s.Z,{column:1,size:"small",children:f&&f.map(e=>{let{label:n,value:r,...l}=e;return(0,t.jsx)(s.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(h,{...l,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(h,{children:d})}),x&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(h,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(h,{children:"Type "}),(0,t.jsx)(h,{strong:!0,type:"danger",children:x}),(0,t.jsx)(h,{children:" to confirm deletion:"})]}),(0,t.jsx)(i.default,{value:b,onChange:e=>Z(e.target.value),placeholder:x,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return l}});var t=r(19250);let l=async e=>{try{let n=await (0,t.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,4546,7271,4612,8049,7975,2971,2117,1744],function(){return e(e.s=40915)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8021],{39793:function(e,n,r){Promise.resolve().then(r.bind(r,14809))},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},10178:function(e,n,r){"use strict";r.d(n,{JO:function(){return t.Z},RM:function(){return o.Z},SC:function(){return a.Z},iA:function(){return l.Z},pj:function(){return u.Z},ss:function(){return s.Z},xs:function(){return i.Z}});var t=r(47323),l=r(21626),o=r(97214),u=r(28241),s=r(58834),i=r(69552),a=r(71876)},58643:function(e,n,r){"use strict";r.d(n,{OK:function(){return t.Z},nP:function(){return s.Z},td:function(){return o.Z},v0:function(){return l.Z},x4:function(){return u.Z}});var t=r(12485),l=r(18135),o=r(35242),u=r(29706),s=r(77991)},39760:function(e,n,r){"use strict";var t=r(2265),l=r(99376),o=r(14474),u=r(3914),s=r(19250);n.Z=()=>{var e,n,r,i,a,c;let d=(0,l.useRouter)(),m="undefined"!=typeof document?(0,u.e)("token"):null;(0,t.useEffect)(()=>{m||d.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let f=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,o.o)(m)}catch(e){return(0,u.b)(),d.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(n=null==f?void 0:f.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==f?void 0:f.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(i=null==f?void 0:f.user_role)&&void 0!==i?i:null),premiumUser:null!==(a=null==f?void 0:f.premium_user)&&void 0!==a?a:null,disabledPersonalKeyCreation:null!==(c=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},14809:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(27975),o=r(39760);n.default=()=>{let{accessToken:e,userRole:n,userId:r}=(0,o.Z)();return(0,t.jsx)(l.Z,{accessToken:e,userRole:n,userID:r,modelData:{}})}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return c}});var t=r(57437),l=r(57840),o=r(22116),u=r(51653),s=r(76188),i=r(4260),a=r(2265);function c(e){let{isOpen:n,title:r,alertMessage:c,message:d,resourceInformationTitle:m,resourceInformation:f,onCancel:p,onOk:v,confirmLoading:_,requiredConfirmation:x}=e,{Title:g,Text:h}=l.default,[b,Z]=(0,a.useState)("");return(0,a.useEffect)(()=>{n&&Z("")},[n]),(0,t.jsx)(o.Z,{title:r,open:n,onOk:v,onCancel:p,confirmLoading:_,okText:_?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!x&&b!==x||_},cancelButtonProps:{disabled:_},children:(0,t.jsxs)("div",{className:"space-y-4",children:[c&&(0,t.jsx)(u.Z,{message:c,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(g,{level:5,className:"mb-3 text-gray-900",children:m}),(0,t.jsx)(s.Z,{column:1,size:"small",children:f&&f.map(e=>{let{label:n,value:r,...l}=e;return(0,t.jsx)(s.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(h,{...l,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(h,{children:d})}),x&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(h,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(h,{children:"Type "}),(0,t.jsx)(h,{strong:!0,type:"danger",children:x}),(0,t.jsx)(h,{children:" to confirm deletion:"})]}),(0,t.jsx)(i.default,{value:b,onChange:e=>Z(e.target.value),placeholder:x,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return l}});var t=r(19250);let l=async e=>{try{let n=await (0,t.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,4546,7271,4612,8049,7975,2971,2117,1744],function(){return e(e.s=39793)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/ui-theme/page-75cf2295d2cc6cff.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/ui-theme/page-e838ca0c19a44dfb.js similarity index 99% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/ui-theme/page-75cf2295d2cc6cff.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/ui-theme/page-e838ca0c19a44dfb.js index 48f414d9ed..a47a1afbf5 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/ui-theme/page-75cf2295d2cc6cff.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/settings/ui-theme/page-e838ca0c19a44dfb.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3117],{46034:function(e,t,r){Promise.resolve().then(r.bind(r,8719))},78489:function(e,t,r){"use strict";r.d(t,{Z:function(){return _}});var o=r(5853),n=r(47187),a=r(2265);let i=["preEnter","entering","entered","preExit","exiting","exited","unmounted"],l=e=>({_s:e,status:i[e],isEnter:e<3,isMounted:6!==e,isResolved:2===e||e>4}),s=e=>e?6:5,d=(e,t)=>{switch(e){case 1:case 0:return 2;case 4:case 3:return s(t)}},c=e=>"object"==typeof e?[e.enter,e.exit]:[e,e],u=(e,t)=>setTimeout(()=>{isNaN(document.body.offsetTop)||e(t+1)},0),m=(e,t,r,o,n)=>{clearTimeout(o.current);let a=l(e);t(a),r.current=a,n&&n({current:a})},g=({enter:e=!0,exit:t=!0,preEnter:r,preExit:o,timeout:n,initialEntered:i,mountOnEnter:g,unmountOnExit:h,onStateChange:p}={})=>{let[x,f]=(0,a.useState)(()=>l(i?2:s(g))),b=(0,a.useRef)(x),v=(0,a.useRef)(),[k,w]=c(n),y=(0,a.useCallback)(()=>{let e=d(b.current._s,h);e&&m(e,f,b,v,p)},[p,h]);return[x,(0,a.useCallback)(n=>{let a=e=>{switch(m(e,f,b,v,p),e){case 1:k>=0&&(v.current=setTimeout(y,k));break;case 4:w>=0&&(v.current=setTimeout(y,w));break;case 0:case 3:v.current=u(a,e)}},i=b.current.isEnter;"boolean"!=typeof n&&(n=!i),n?i||a(e?r?0:1:2):i&&a(t?o?3:4:s(h))},[y,p,e,t,r,o,k,w,h]),y]};var h=r(7084),p=r(13241),x=r(1153);let f=e=>{var t=(0,o._T)(e,[]);return a.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),a.createElement("path",{d:"M18.364 5.636L16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364z"}))};var b=r(26898);let v={xs:{height:"h-4",width:"w-4"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-6",width:"w-6"},xl:{height:"h-6",width:"w-6"}},k=e=>"light"!==e?{xs:{paddingX:"px-2.5",paddingY:"py-1.5",fontSize:"text-xs"},sm:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-sm"},md:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-md"},lg:{paddingX:"px-4",paddingY:"py-2.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-3",fontSize:"text-xl"}}:{xs:{paddingX:"",paddingY:"",fontSize:"text-xs"},sm:{paddingX:"",paddingY:"",fontSize:"text-sm"},md:{paddingX:"",paddingY:"",fontSize:"text-md"},lg:{paddingX:"",paddingY:"",fontSize:"text-lg"},xl:{paddingX:"",paddingY:"",fontSize:"text-xl"}},w=(e,t)=>{switch(e){case"primary":return{textColor:t?(0,x.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",hoverTextColor:t?(0,x.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,x.bM)(t,b.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",hoverBgColor:t?(0,x.bM)(t,b.K.darkBackground).hoverBgColor:"hover:bg-tremor-brand-emphasis dark:hover:bg-dark-tremor-brand-emphasis",borderColor:t?(0,x.bM)(t,b.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",hoverBorderColor:t?(0,x.bM)(t,b.K.darkBorder).hoverBorderColor:"hover:border-tremor-brand-emphasis dark:hover:border-dark-tremor-brand-emphasis"};case"secondary":return{textColor:t?(0,x.bM)(t,b.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,x.bM)(t,b.K.text).textColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,x.bM)("transparent").bgColor,hoverBgColor:t?(0,p.q)((0,x.bM)(t,b.K.background).hoverBgColor,"hover:bg-opacity-20 dark:hover:bg-opacity-20"):"hover:bg-tremor-brand-faint dark:hover:bg-dark-tremor-brand-faint",borderColor:t?(0,x.bM)(t,b.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand"};case"light":return{textColor:t?(0,x.bM)(t,b.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,x.bM)(t,b.K.darkText).hoverTextColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,x.bM)("transparent").bgColor,borderColor:"",hoverBorderColor:""}}},y=(0,x.fn)("Button"),C=e=>{let{loading:t,iconSize:r,iconPosition:o,Icon:n,needMargin:i,transitionStatus:l}=e,s=i?o===h.zS.Left?(0,p.q)("-ml-1","mr-1.5"):(0,p.q)("-mr-1","ml-1.5"):"",d=(0,p.q)("w-0 h-0"),c={default:d,entering:d,entered:r,exiting:r,exited:d};return t?a.createElement(f,{className:(0,p.q)(y("icon"),"animate-spin shrink-0",s,c.default,c[l]),style:{transition:"width 150ms"}}):a.createElement(n,{className:(0,p.q)(y("icon"),"shrink-0",r,s)})},_=a.forwardRef((e,t)=>{let{icon:r,iconPosition:i=h.zS.Left,size:l=h.u8.SM,color:s,variant:d="primary",disabled:c,loading:u=!1,loadingText:m,children:f,tooltip:b,className:_}=e,N=(0,o._T)(e,["icon","iconPosition","size","color","variant","disabled","loading","loadingText","children","tooltip","className"]),E=u||c,j=void 0!==r||u,S=u&&m,T=!(!f&&!S),z=(0,p.q)(v[l].height,v[l].width),B="light"!==d?(0,p.q)("rounded-tremor-default border","shadow-tremor-input","dark:shadow-dark-tremor-input"):"",M=w(d,s),L=k(d)[l],{tooltipProps:R,getReferenceProps:Z}=(0,n.l)(300),[P,q]=g({timeout:50});return(0,a.useEffect)(()=>{q(u)},[u]),a.createElement("button",Object.assign({ref:(0,x.lq)([t,R.refs.setReference]),className:(0,p.q)(y("root"),"shrink-0 inline-flex justify-center items-center group font-medium outline-none",B,L.paddingX,L.paddingY,L.fontSize,M.textColor,M.bgColor,M.borderColor,M.hoverBorderColor,E?"opacity-50 cursor-not-allowed":(0,p.q)(w(d,s).hoverTextColor,w(d,s).hoverBgColor,w(d,s).hoverBorderColor),_),disabled:E},Z,N),a.createElement(n.Z,Object.assign({text:b},R)),j&&i!==h.zS.Right?a.createElement(C,{loading:u,iconSize:z,iconPosition:i,Icon:r,transitionStatus:P.status,needMargin:T}):null,S||f?a.createElement("span",{className:(0,p.q)(y("text"),"text-tremor-default whitespace-nowrap")},S?m:f):null,j&&i===h.zS.Right?a.createElement(C,{loading:u,iconSize:z,iconPosition:i,Icon:r,transitionStatus:P.status,needMargin:T}):null)});_.displayName="Button"},12514:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var o=r(5853),n=r(2265),a=r(7084),i=r(26898),l=r(13241),s=r(1153);let d=(0,s.fn)("Card"),c=e=>{if(!e)return"";switch(e){case a.zS.Left:return"border-l-4";case a.m.Top:return"border-t-4";case a.zS.Right:return"border-r-4";case a.m.Bottom:return"border-b-4";default:return""}},u=n.forwardRef((e,t)=>{let{decoration:r="",decorationColor:a,children:u,className:m}=e,g=(0,o._T)(e,["decoration","decorationColor","children","className"]);return n.createElement("div",Object.assign({ref:t,className:(0,l.q)(d("root"),"relative w-full text-left ring-1 rounded-tremor-default p-6","bg-tremor-background ring-tremor-ring shadow-tremor-card","dark:bg-dark-tremor-background dark:ring-dark-tremor-ring dark:shadow-dark-tremor-card",a?(0,s.bM)(a,i.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",c(r),m)},g),u)});u.displayName="Card"},84264:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var o=r(26898),n=r(13241),a=r(1153),i=r(2265);let l=i.forwardRef((e,t)=>{let{color:r,className:l,children:s}=e;return i.createElement("p",{ref:t,className:(0,n.q)("text-tremor-default",r?(0,a.bM)(r,o.K.text).textColor:(0,n.q)("text-tremor-content","dark:text-dark-tremor-content"),l)},s)});l.displayName="Text"},96761:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var o=r(5853),n=r(26898),a=r(13241),i=r(1153),l=r(2265);let s=l.forwardRef((e,t)=>{let{color:r,children:s,className:d}=e,c=(0,o._T)(e,["color","children","className"]);return l.createElement("p",Object.assign({ref:t,className:(0,a.q)("font-medium text-tremor-title",r?(0,i.bM)(r,n.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",d)},c),s)});s.displayName="Title"},19046:function(e,t,r){"use strict";r.d(t,{Dx:function(){return l.Z},Zb:function(){return n.Z},oi:function(){return i.Z},xv:function(){return a.Z},zx:function(){return o.Z}});var o=r(78489),n=r(12514),a=r(84264),i=r(49566),l=r(96761)},39760:function(e,t,r){"use strict";var o=r(2265),n=r(99376),a=r(14474),i=r(3914),l=r(19250);t.Z=()=>{var e,t,r,s,d,c;let u=(0,n.useRouter)(),m="undefined"!=typeof document?(0,i.e)("token"):null;(0,o.useEffect)(()=>{m||u.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[m,u]);let g=(0,o.useMemo)(()=>{if(!m)return null;try{return(0,a.o)(m)}catch(e){return(0,i.b)(),u.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[m,u]);return{token:m,accessToken:null!==(e=null==g?void 0:g.key)&&void 0!==e?e:null,userId:null!==(t=null==g?void 0:g.user_id)&&void 0!==t?t:null,userEmail:null!==(r=null==g?void 0:g.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==g?void 0:g.user_role)&&void 0!==s?s:null),premiumUser:null!==(d=null==g?void 0:g.premium_user)&&void 0!==d?d:null,disabledPersonalKeyCreation:null!==(c=null==g?void 0:g.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==g?void 0:g.login_method)==="username_password"}}},8719:function(e,t,r){"use strict";r.r(t);var o=r(57437),n=r(5183),a=r(39760);t.default=()=>{let{userId:e,userRole:t,accessToken:r}=(0,a.Z)();return(0,o.jsx)(n.Z,{userID:e,userRole:t,accessToken:r})}},5183:function(e,t,r){"use strict";var o=r(57437),n=r(2265),a=r(19046),i=r(69734),l=r(19250),s=r(9114);t.Z=e=>{let{userID:t,userRole:r,accessToken:d}=e,{logoUrl:c,setLogoUrl:u}=(0,i.F)(),[m,g]=(0,n.useState)(""),[h,p]=(0,n.useState)(!1);(0,n.useEffect)(()=>{d&&x()},[d]);let x=async()=>{try{let t=(0,l.getProxyBaseUrl)(),r=await fetch(t?"".concat(t,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"}});if(r.ok){var e;let t=await r.json(),o=(null===(e=t.values)||void 0===e?void 0:e.logo_url)||"";g(o),u(o||null)}}catch(e){console.error("Error fetching theme settings:",e)}},f=async()=>{p(!0);try{let e=(0,l.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:m||null})})).ok)s.Z.success("Logo settings updated successfully!"),u(m||null);else throw Error("Failed to update settings")}catch(e){console.error("Error updating logo settings:",e),s.Z.fromBackend("Failed to update logo settings")}finally{p(!1)}},b=async()=>{g(""),u(null),p(!0);try{let e=(0,l.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:null})})).ok)s.Z.success("Logo reset to default!");else throw Error("Failed to reset logo")}catch(e){console.error("Error resetting logo:",e),s.Z.fromBackend("Failed to reset logo")}finally{p(!1)}};return d?(0,o.jsxs)("div",{className:"w-full mx-auto max-w-4xl px-6 py-8",children:[(0,o.jsxs)("div",{className:"mb-8",children:[(0,o.jsx)(a.Dx,{className:"text-2xl font-bold mb-2",children:"Logo Customization"}),(0,o.jsx)(a.xv,{className:"text-gray-600",children:"Customize your LiteLLM admin dashboard with a custom logo."})]}),(0,o.jsx)(a.Zb,{className:"shadow-sm p-6",children:(0,o.jsxs)("div",{className:"space-y-6",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)(a.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Custom Logo URL"}),(0,o.jsx)(a.oi,{placeholder:"https://example.com/logo.png",value:m,onValueChange:e=>{g(e),u(e||null)},className:"w-full"}),(0,o.jsx)(a.xv,{className:"text-xs text-gray-500 mt-1",children:"Enter a URL for your custom logo or leave empty to use the default LiteLLM logo"})]}),(0,o.jsxs)("div",{children:[(0,o.jsx)(a.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Current Logo"}),(0,o.jsx)("div",{className:"bg-gray-50 rounded-lg p-6 flex items-center justify-center min-h-[120px]",children:m?(0,o.jsx)("img",{src:m,alt:"Custom logo",className:"max-w-full max-h-24 object-contain",onError:e=>{var t;let r=e.target;r.style.display="none";let o=document.createElement("div");o.className="text-gray-500 text-sm",o.textContent="Failed to load image",null===(t=r.parentElement)||void 0===t||t.appendChild(o)}}):(0,o.jsx)(a.xv,{className:"text-gray-500 text-sm",children:"Default LiteLLM logo will be used"})})]}),(0,o.jsxs)("div",{className:"flex gap-3 pt-4",children:[(0,o.jsx)(a.zx,{onClick:f,loading:h,disabled:h,color:"indigo",children:"Save Changes"}),(0,o.jsx)(a.zx,{onClick:b,loading:h,disabled:h,variant:"secondary",color:"gray",children:"Reset to Default"})]})]})})]}):null}},69734:function(e,t,r){"use strict";r.d(t,{F:function(){return l},f:function(){return s}});var o=r(57437),n=r(2265),a=r(19250);let i=(0,n.createContext)(void 0),l=()=>{let e=(0,n.useContext)(i);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e},s=e=>{let{children:t,accessToken:r}=e,[l,s]=(0,n.useState)(null);return(0,n.useEffect)(()=>{(async()=>{try{let t=(0,a.getProxyBaseUrl)(),r=await fetch(t?"".concat(t,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{"Content-Type":"application/json"}});if(r.ok){var e;let t=await r.json();(null===(e=t.values)||void 0===e?void 0:e.logo_url)&&s(t.values.logo_url)}}catch(e){console.warn("Failed to load logo settings from backend:",e)}})()},[]),(0,o.jsx)(i.Provider,{value:{logoUrl:l,setLogoUrl:s},children:t})}},14474:function(e,t,r){"use strict";r.d(t,{o:function(){return n}});class o extends Error{}function n(e,t){let r;if("string"!=typeof e)throw new o("Invalid token specified: must be a string");t||(t={});let n=!0===t.header?0:1,a=e.split(".")[n];if("string"!=typeof a)throw new o(`Invalid token specified: missing part #${n+1}`);try{r=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("base64 string is not of the correct length")}try{var r;return r=t,decodeURIComponent(atob(r).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}catch(e){return atob(t)}}(a)}catch(e){throw new o(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(r)}catch(e){throw new o(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}o.prototype.name="InvalidTokenError"}},function(e){e.O(0,[9028,9409,4865,8049,2971,2117,1744],function(){return e(e.s=46034)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3117],{70114:function(e,t,r){Promise.resolve().then(r.bind(r,8719))},78489:function(e,t,r){"use strict";r.d(t,{Z:function(){return _}});var o=r(5853),n=r(47187),a=r(2265);let i=["preEnter","entering","entered","preExit","exiting","exited","unmounted"],l=e=>({_s:e,status:i[e],isEnter:e<3,isMounted:6!==e,isResolved:2===e||e>4}),s=e=>e?6:5,d=(e,t)=>{switch(e){case 1:case 0:return 2;case 4:case 3:return s(t)}},c=e=>"object"==typeof e?[e.enter,e.exit]:[e,e],u=(e,t)=>setTimeout(()=>{isNaN(document.body.offsetTop)||e(t+1)},0),m=(e,t,r,o,n)=>{clearTimeout(o.current);let a=l(e);t(a),r.current=a,n&&n({current:a})},g=({enter:e=!0,exit:t=!0,preEnter:r,preExit:o,timeout:n,initialEntered:i,mountOnEnter:g,unmountOnExit:h,onStateChange:p}={})=>{let[x,f]=(0,a.useState)(()=>l(i?2:s(g))),b=(0,a.useRef)(x),v=(0,a.useRef)(),[k,w]=c(n),y=(0,a.useCallback)(()=>{let e=d(b.current._s,h);e&&m(e,f,b,v,p)},[p,h]);return[x,(0,a.useCallback)(n=>{let a=e=>{switch(m(e,f,b,v,p),e){case 1:k>=0&&(v.current=setTimeout(y,k));break;case 4:w>=0&&(v.current=setTimeout(y,w));break;case 0:case 3:v.current=u(a,e)}},i=b.current.isEnter;"boolean"!=typeof n&&(n=!i),n?i||a(e?r?0:1:2):i&&a(t?o?3:4:s(h))},[y,p,e,t,r,o,k,w,h]),y]};var h=r(7084),p=r(13241),x=r(1153);let f=e=>{var t=(0,o._T)(e,[]);return a.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),a.createElement("path",{d:"M18.364 5.636L16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364z"}))};var b=r(26898);let v={xs:{height:"h-4",width:"w-4"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-6",width:"w-6"},xl:{height:"h-6",width:"w-6"}},k=e=>"light"!==e?{xs:{paddingX:"px-2.5",paddingY:"py-1.5",fontSize:"text-xs"},sm:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-sm"},md:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-md"},lg:{paddingX:"px-4",paddingY:"py-2.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-3",fontSize:"text-xl"}}:{xs:{paddingX:"",paddingY:"",fontSize:"text-xs"},sm:{paddingX:"",paddingY:"",fontSize:"text-sm"},md:{paddingX:"",paddingY:"",fontSize:"text-md"},lg:{paddingX:"",paddingY:"",fontSize:"text-lg"},xl:{paddingX:"",paddingY:"",fontSize:"text-xl"}},w=(e,t)=>{switch(e){case"primary":return{textColor:t?(0,x.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",hoverTextColor:t?(0,x.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,x.bM)(t,b.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",hoverBgColor:t?(0,x.bM)(t,b.K.darkBackground).hoverBgColor:"hover:bg-tremor-brand-emphasis dark:hover:bg-dark-tremor-brand-emphasis",borderColor:t?(0,x.bM)(t,b.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",hoverBorderColor:t?(0,x.bM)(t,b.K.darkBorder).hoverBorderColor:"hover:border-tremor-brand-emphasis dark:hover:border-dark-tremor-brand-emphasis"};case"secondary":return{textColor:t?(0,x.bM)(t,b.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,x.bM)(t,b.K.text).textColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,x.bM)("transparent").bgColor,hoverBgColor:t?(0,p.q)((0,x.bM)(t,b.K.background).hoverBgColor,"hover:bg-opacity-20 dark:hover:bg-opacity-20"):"hover:bg-tremor-brand-faint dark:hover:bg-dark-tremor-brand-faint",borderColor:t?(0,x.bM)(t,b.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand"};case"light":return{textColor:t?(0,x.bM)(t,b.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,x.bM)(t,b.K.darkText).hoverTextColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,x.bM)("transparent").bgColor,borderColor:"",hoverBorderColor:""}}},y=(0,x.fn)("Button"),C=e=>{let{loading:t,iconSize:r,iconPosition:o,Icon:n,needMargin:i,transitionStatus:l}=e,s=i?o===h.zS.Left?(0,p.q)("-ml-1","mr-1.5"):(0,p.q)("-mr-1","ml-1.5"):"",d=(0,p.q)("w-0 h-0"),c={default:d,entering:d,entered:r,exiting:r,exited:d};return t?a.createElement(f,{className:(0,p.q)(y("icon"),"animate-spin shrink-0",s,c.default,c[l]),style:{transition:"width 150ms"}}):a.createElement(n,{className:(0,p.q)(y("icon"),"shrink-0",r,s)})},_=a.forwardRef((e,t)=>{let{icon:r,iconPosition:i=h.zS.Left,size:l=h.u8.SM,color:s,variant:d="primary",disabled:c,loading:u=!1,loadingText:m,children:f,tooltip:b,className:_}=e,N=(0,o._T)(e,["icon","iconPosition","size","color","variant","disabled","loading","loadingText","children","tooltip","className"]),E=u||c,j=void 0!==r||u,S=u&&m,T=!(!f&&!S),z=(0,p.q)(v[l].height,v[l].width),B="light"!==d?(0,p.q)("rounded-tremor-default border","shadow-tremor-input","dark:shadow-dark-tremor-input"):"",M=w(d,s),L=k(d)[l],{tooltipProps:R,getReferenceProps:Z}=(0,n.l)(300),[P,q]=g({timeout:50});return(0,a.useEffect)(()=>{q(u)},[u]),a.createElement("button",Object.assign({ref:(0,x.lq)([t,R.refs.setReference]),className:(0,p.q)(y("root"),"shrink-0 inline-flex justify-center items-center group font-medium outline-none",B,L.paddingX,L.paddingY,L.fontSize,M.textColor,M.bgColor,M.borderColor,M.hoverBorderColor,E?"opacity-50 cursor-not-allowed":(0,p.q)(w(d,s).hoverTextColor,w(d,s).hoverBgColor,w(d,s).hoverBorderColor),_),disabled:E},Z,N),a.createElement(n.Z,Object.assign({text:b},R)),j&&i!==h.zS.Right?a.createElement(C,{loading:u,iconSize:z,iconPosition:i,Icon:r,transitionStatus:P.status,needMargin:T}):null,S||f?a.createElement("span",{className:(0,p.q)(y("text"),"text-tremor-default whitespace-nowrap")},S?m:f):null,j&&i===h.zS.Right?a.createElement(C,{loading:u,iconSize:z,iconPosition:i,Icon:r,transitionStatus:P.status,needMargin:T}):null)});_.displayName="Button"},12514:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var o=r(5853),n=r(2265),a=r(7084),i=r(26898),l=r(13241),s=r(1153);let d=(0,s.fn)("Card"),c=e=>{if(!e)return"";switch(e){case a.zS.Left:return"border-l-4";case a.m.Top:return"border-t-4";case a.zS.Right:return"border-r-4";case a.m.Bottom:return"border-b-4";default:return""}},u=n.forwardRef((e,t)=>{let{decoration:r="",decorationColor:a,children:u,className:m}=e,g=(0,o._T)(e,["decoration","decorationColor","children","className"]);return n.createElement("div",Object.assign({ref:t,className:(0,l.q)(d("root"),"relative w-full text-left ring-1 rounded-tremor-default p-6","bg-tremor-background ring-tremor-ring shadow-tremor-card","dark:bg-dark-tremor-background dark:ring-dark-tremor-ring dark:shadow-dark-tremor-card",a?(0,s.bM)(a,i.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",c(r),m)},g),u)});u.displayName="Card"},84264:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var o=r(26898),n=r(13241),a=r(1153),i=r(2265);let l=i.forwardRef((e,t)=>{let{color:r,className:l,children:s}=e;return i.createElement("p",{ref:t,className:(0,n.q)("text-tremor-default",r?(0,a.bM)(r,o.K.text).textColor:(0,n.q)("text-tremor-content","dark:text-dark-tremor-content"),l)},s)});l.displayName="Text"},96761:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var o=r(5853),n=r(26898),a=r(13241),i=r(1153),l=r(2265);let s=l.forwardRef((e,t)=>{let{color:r,children:s,className:d}=e,c=(0,o._T)(e,["color","children","className"]);return l.createElement("p",Object.assign({ref:t,className:(0,a.q)("font-medium text-tremor-title",r?(0,i.bM)(r,n.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",d)},c),s)});s.displayName="Title"},19046:function(e,t,r){"use strict";r.d(t,{Dx:function(){return l.Z},Zb:function(){return n.Z},oi:function(){return i.Z},xv:function(){return a.Z},zx:function(){return o.Z}});var o=r(78489),n=r(12514),a=r(84264),i=r(49566),l=r(96761)},39760:function(e,t,r){"use strict";var o=r(2265),n=r(99376),a=r(14474),i=r(3914),l=r(19250);t.Z=()=>{var e,t,r,s,d,c;let u=(0,n.useRouter)(),m="undefined"!=typeof document?(0,i.e)("token"):null;(0,o.useEffect)(()=>{m||u.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[m,u]);let g=(0,o.useMemo)(()=>{if(!m)return null;try{return(0,a.o)(m)}catch(e){return(0,i.b)(),u.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[m,u]);return{token:m,accessToken:null!==(e=null==g?void 0:g.key)&&void 0!==e?e:null,userId:null!==(t=null==g?void 0:g.user_id)&&void 0!==t?t:null,userEmail:null!==(r=null==g?void 0:g.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==g?void 0:g.user_role)&&void 0!==s?s:null),premiumUser:null!==(d=null==g?void 0:g.premium_user)&&void 0!==d?d:null,disabledPersonalKeyCreation:null!==(c=null==g?void 0:g.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==g?void 0:g.login_method)==="username_password"}}},8719:function(e,t,r){"use strict";r.r(t);var o=r(57437),n=r(5183),a=r(39760);t.default=()=>{let{userId:e,userRole:t,accessToken:r}=(0,a.Z)();return(0,o.jsx)(n.Z,{userID:e,userRole:t,accessToken:r})}},5183:function(e,t,r){"use strict";var o=r(57437),n=r(2265),a=r(19046),i=r(69734),l=r(19250),s=r(9114);t.Z=e=>{let{userID:t,userRole:r,accessToken:d}=e,{logoUrl:c,setLogoUrl:u}=(0,i.F)(),[m,g]=(0,n.useState)(""),[h,p]=(0,n.useState)(!1);(0,n.useEffect)(()=>{d&&x()},[d]);let x=async()=>{try{let t=(0,l.getProxyBaseUrl)(),r=await fetch(t?"".concat(t,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"}});if(r.ok){var e;let t=await r.json(),o=(null===(e=t.values)||void 0===e?void 0:e.logo_url)||"";g(o),u(o||null)}}catch(e){console.error("Error fetching theme settings:",e)}},f=async()=>{p(!0);try{let e=(0,l.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:m||null})})).ok)s.Z.success("Logo settings updated successfully!"),u(m||null);else throw Error("Failed to update settings")}catch(e){console.error("Error updating logo settings:",e),s.Z.fromBackend("Failed to update logo settings")}finally{p(!1)}},b=async()=>{g(""),u(null),p(!0);try{let e=(0,l.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:null})})).ok)s.Z.success("Logo reset to default!");else throw Error("Failed to reset logo")}catch(e){console.error("Error resetting logo:",e),s.Z.fromBackend("Failed to reset logo")}finally{p(!1)}};return d?(0,o.jsxs)("div",{className:"w-full mx-auto max-w-4xl px-6 py-8",children:[(0,o.jsxs)("div",{className:"mb-8",children:[(0,o.jsx)(a.Dx,{className:"text-2xl font-bold mb-2",children:"Logo Customization"}),(0,o.jsx)(a.xv,{className:"text-gray-600",children:"Customize your LiteLLM admin dashboard with a custom logo."})]}),(0,o.jsx)(a.Zb,{className:"shadow-sm p-6",children:(0,o.jsxs)("div",{className:"space-y-6",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)(a.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Custom Logo URL"}),(0,o.jsx)(a.oi,{placeholder:"https://example.com/logo.png",value:m,onValueChange:e=>{g(e),u(e||null)},className:"w-full"}),(0,o.jsx)(a.xv,{className:"text-xs text-gray-500 mt-1",children:"Enter a URL for your custom logo or leave empty to use the default LiteLLM logo"})]}),(0,o.jsxs)("div",{children:[(0,o.jsx)(a.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Current Logo"}),(0,o.jsx)("div",{className:"bg-gray-50 rounded-lg p-6 flex items-center justify-center min-h-[120px]",children:m?(0,o.jsx)("img",{src:m,alt:"Custom logo",className:"max-w-full max-h-24 object-contain",onError:e=>{var t;let r=e.target;r.style.display="none";let o=document.createElement("div");o.className="text-gray-500 text-sm",o.textContent="Failed to load image",null===(t=r.parentElement)||void 0===t||t.appendChild(o)}}):(0,o.jsx)(a.xv,{className:"text-gray-500 text-sm",children:"Default LiteLLM logo will be used"})})]}),(0,o.jsxs)("div",{className:"flex gap-3 pt-4",children:[(0,o.jsx)(a.zx,{onClick:f,loading:h,disabled:h,color:"indigo",children:"Save Changes"}),(0,o.jsx)(a.zx,{onClick:b,loading:h,disabled:h,variant:"secondary",color:"gray",children:"Reset to Default"})]})]})})]}):null}},69734:function(e,t,r){"use strict";r.d(t,{F:function(){return l},f:function(){return s}});var o=r(57437),n=r(2265),a=r(19250);let i=(0,n.createContext)(void 0),l=()=>{let e=(0,n.useContext)(i);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e},s=e=>{let{children:t,accessToken:r}=e,[l,s]=(0,n.useState)(null);return(0,n.useEffect)(()=>{(async()=>{try{let t=(0,a.getProxyBaseUrl)(),r=await fetch(t?"".concat(t,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{"Content-Type":"application/json"}});if(r.ok){var e;let t=await r.json();(null===(e=t.values)||void 0===e?void 0:e.logo_url)&&s(t.values.logo_url)}}catch(e){console.warn("Failed to load logo settings from backend:",e)}})()},[]),(0,o.jsx)(i.Provider,{value:{logoUrl:l,setLogoUrl:s},children:t})}},14474:function(e,t,r){"use strict";r.d(t,{o:function(){return n}});class o extends Error{}function n(e,t){let r;if("string"!=typeof e)throw new o("Invalid token specified: must be a string");t||(t={});let n=!0===t.header?0:1,a=e.split(".")[n];if("string"!=typeof a)throw new o(`Invalid token specified: missing part #${n+1}`);try{r=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("base64 string is not of the correct length")}try{var r;return r=t,decodeURIComponent(atob(r).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}catch(e){return atob(t)}}(a)}catch(e){throw new o(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(r)}catch(e){throw new o(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}o.prototype.name="InvalidTokenError"}},function(e){e.O(0,[9028,9409,4865,8049,2971,2117,1744],function(){return e(e.s=70114)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/teams/page-7aaa79fd7d33fc3e.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/teams/page-7aaa79fd7d33fc3e.js deleted file mode 100644 index e31ee0be40..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/teams/page-7aaa79fd7d33fc3e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9483],{77403:function(e,s,a){Promise.resolve().then(a.bind(a,67578))},40728:function(e,s,a){"use strict";a.d(s,{C:function(){return l.Z},x:function(){return t.Z}});var l=a(41649),t=a(84264)},88913:function(e,s,a){"use strict";a.d(s,{Dx:function(){return c.Z},Zb:function(){return t.Z},iz:function(){return r.Z},oi:function(){return i.Z},xv:function(){return n.Z},zx:function(){return l.Z}});var l=a(78489),t=a(12514),r=a(67982),n=a(84264),i=a(49566),c=a(96761)},25512:function(e,s,a){"use strict";a.d(s,{P:function(){return l.Z},Q:function(){return t.Z}});var l=a(27281),t=a(57365)},67578:function(e,s,a){"use strict";a.r(s),a.d(s,{default:function(){return eb}});var l=a(57437),t=a(2265),r=a(19250),n=a(39210),i=a(10032),c=a(33293),o=a(88904),d=a(20347),m=a(78489),x=a(12514),u=a(49804),h=a(67101),g=a(29706),p=a(84264),j=a(918),f=a(59872),b=a(47323),v=a(12485),y=a(18135),_=a(35242),N=a(77991),w=a(23628),Z=e=>{let{lastRefreshed:s,onRefresh:a,userRole:t,children:r}=e;return(0,l.jsxs)(y.Z,{className:"gap-2 h-[75vh] w-full",children:[(0,l.jsxs)(_.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(v.Z,{children:"Your Teams"}),(0,l.jsx)(v.Z,{children:"Available Teams"}),(0,d.tY)(t||"")&&(0,l.jsx)(v.Z,{children:"Default Team Settings"})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[s&&(0,l.jsxs)(p.Z,{children:["Last Refreshed: ",s]}),(0,l.jsx)(b.Z,{icon:w.Z,variant:"shadow",size:"xs",className:"self-center",onClick:a})]})]}),(0,l.jsx)(N.Z,{children:r})]})},C=a(25512),k=e=>{let{filters:s,organizations:a,showFilters:t,onToggleFilters:r,onChange:n,onReset:i}=e;return(0,l.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,l.jsxs)("div",{className:"relative w-64",children:[(0,l.jsx)("input",{type:"text",placeholder:"Search by Team Name...",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:s.team_alias,onChange:e=>n("team_alias",e.target.value)}),(0,l.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,l.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 ".concat(t?"bg-gray-100":""),onClick:()=>r(!t),children:[(0,l.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"})}),"Filters",(s.team_id||s.team_alias||s.organization_id)&&(0,l.jsx)("span",{className:"w-2 h-2 rounded-full bg-blue-500"})]}),(0,l.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",onClick:i,children:[(0,l.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),"Reset Filters"]})]}),t&&(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-3",children:[(0,l.jsxs)("div",{className:"relative w-64",children:[(0,l.jsx)("input",{type:"text",placeholder:"Enter Team ID",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:s.team_id,onChange:e=>n("team_id",e.target.value)}),(0,l.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})]}),(0,l.jsx)("div",{className:"w-64",children:(0,l.jsx)(C.P,{value:s.organization_id||"",onValueChange:e=>n("organization_id",e),placeholder:"Select Organization",children:null==a?void 0:a.map(e=>(0,l.jsx)(C.Q,{value:e.organization_id||"",children:e.organization_alias||e.organization_id},e.organization_id))})})]})]})},S=a(39760),T=e=>{let{currentOrg:s,setTeams:a}=e,[l,r]=(0,t.useState)(""),{accessToken:i,userId:c,userRole:o}=(0,S.Z)(),d=(0,t.useCallback)(()=>{r(new Date().toLocaleString())},[]);return(0,t.useEffect)(()=>{i&&(0,n.Z)(i,c,o,s,a).then(),d()},[i,s,l,d,a,c,o]),{lastRefreshed:l,setLastRefreshed:r,onRefreshClick:d}},A=a(21626),M=a(97214),z=a(28241),E=a(58834),D=a(69552),F=a(71876),L=a(99981),P=a(53410),I=a(74998),O=a(41649),V=a(86462),R=a(47686),B=a(46468),W=e=>{let{team:s}=e,[a,r]=(0,t.useState)(!1);return(0,l.jsx)(z.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},className:s.models.length>3?"px-0":"",children:(0,l.jsx)("div",{className:"flex flex-col",children:Array.isArray(s.models)?(0,l.jsx)("div",{className:"flex flex-col",children:0===s.models.length?(0,l.jsx)(O.Z,{size:"xs",className:"mb-1",color:"red",children:(0,l.jsx)(p.Z,{children:"All Proxy Models"})}):(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"flex items-start",children:[s.models.length>3&&(0,l.jsx)("div",{children:(0,l.jsx)(b.Z,{icon:a?V.Z:R.Z,className:"cursor-pointer",size:"xs",onClick:()=>{r(e=>!e)}})}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-1",children:[s.models.slice(0,3).map((e,s)=>"all-proxy-models"===e?(0,l.jsx)(O.Z,{size:"xs",color:"red",children:(0,l.jsx)(p.Z,{children:"All Proxy Models"})},s):(0,l.jsx)(O.Z,{size:"xs",color:"blue",children:(0,l.jsx)(p.Z,{children:e.length>30?"".concat((0,B.W0)(e).slice(0,30),"..."):(0,B.W0)(e)})},s)),s.models.length>3&&!a&&(0,l.jsx)(O.Z,{size:"xs",color:"gray",className:"cursor-pointer",children:(0,l.jsxs)(p.Z,{children:["+",s.models.length-3," ",s.models.length-3==1?"more model":"more models"]})}),a&&(0,l.jsx)("div",{className:"flex flex-wrap gap-1",children:s.models.slice(3).map((e,s)=>"all-proxy-models"===e?(0,l.jsx)(O.Z,{size:"xs",color:"red",children:(0,l.jsx)(p.Z,{children:"All Proxy Models"})},s+3):(0,l.jsx)(O.Z,{size:"xs",color:"blue",children:(0,l.jsx)(p.Z,{children:e.length>30?"".concat((0,B.W0)(e).slice(0,30),"..."):(0,B.W0)(e)})},s+3))})]})]})})}):null})})},G=a(88906),U=a(92369),J=e=>{let s="inline-flex items-center px-2.5 py-0.5 rounded-md text-xs font-medium border";return"admin"===e?(0,l.jsxs)("span",{className:s,style:{backgroundColor:"#EEF2FF",color:"#3730A3",borderColor:"#C7D2FE"},children:[(0,l.jsx)(G.Z,{className:"h-3 w-3 mr-1"}),"Admin"]}):(0,l.jsxs)("span",{className:s,style:{backgroundColor:"#F3F4F6",color:"#4B5563",borderColor:"#E5E7EB"},children:[(0,l.jsx)(U.Z,{className:"h-3 w-3 mr-1"}),"Member"]})};let Q=(e,s)=>{var a,l;if(!s)return null;let t=null===(a=e.members_with_roles)||void 0===a?void 0:a.find(e=>e.user_id===s);return null!==(l=null==t?void 0:t.role)&&void 0!==l?l:null};var q=e=>{let{team:s,userId:a}=e,t=J(Q(s,a));return(0,l.jsx)(z.Z,{children:t})},X=e=>{let{teams:s,currentOrg:a,setSelectedTeamId:t,perTeamInfo:r,userRole:n,userId:i,setEditTeam:c,onDeleteTeam:o}=e;return(0,l.jsxs)(A.Z,{children:[(0,l.jsx)(E.Z,{children:(0,l.jsxs)(F.Z,{children:[(0,l.jsx)(D.Z,{children:"Team Name"}),(0,l.jsx)(D.Z,{children:"Team ID"}),(0,l.jsx)(D.Z,{children:"Created"}),(0,l.jsx)(D.Z,{children:"Spend (USD)"}),(0,l.jsx)(D.Z,{children:"Budget (USD)"}),(0,l.jsx)(D.Z,{children:"Models"}),(0,l.jsx)(D.Z,{children:"Organization"}),(0,l.jsx)(D.Z,{children:"Your Role"}),(0,l.jsx)(D.Z,{children:"Info"})]})}),(0,l.jsx)(M.Z,{children:s&&s.length>0?s.filter(e=>!a||e.organization_id===a.organization_id).sort((e,s)=>new Date(s.created_at).getTime()-new Date(e.created_at).getTime()).map(e=>(0,l.jsxs)(F.Z,{children:[(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,l.jsx)(z.Z,{children:(0,l.jsx)("div",{className:"overflow-hidden",children:(0,l.jsx)(L.Z,{title:e.team_id,children:(0,l.jsxs)(m.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>{t(e.team_id)},children:[e.team_id.slice(0,7),"..."]})})})}),(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.created_at?new Date(e.created_at).toLocaleDateString():"N/A"}),(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,f.pw)(e.spend,4)}),(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,l.jsx)(W,{team:e}),(0,l.jsx)(z.Z,{children:e.organization_id}),(0,l.jsx)(q,{team:e,userId:i}),(0,l.jsxs)(z.Z,{children:[(0,l.jsxs)(p.Z,{children:[r&&e.team_id&&r[e.team_id]&&r[e.team_id].keys&&r[e.team_id].keys.length," ","Keys"]}),(0,l.jsxs)(p.Z,{children:[r&&e.team_id&&r[e.team_id]&&r[e.team_id].team_info&&r[e.team_id].team_info.members_with_roles&&r[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,l.jsx)(z.Z,{children:"Admin"==n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b.Z,{icon:P.Z,size:"sm",onClick:()=>{t(e.team_id),c(!0)}}),(0,l.jsx)(b.Z,{onClick:()=>o(e.team_id),icon:I.Z,size:"sm"})]}):null})]},e.team_id)):null})]})},Y=a(32489),K=a(76865),H=e=>{var s;let{teams:a,teamToDelete:r,onCancel:n,onConfirm:i}=e,[c,o]=(0,t.useState)(""),d=null==a?void 0:a.find(e=>e.team_id===r),m=(null==d?void 0:d.team_alias)||"",x=(null==d?void 0:null===(s=d.keys)||void 0===s?void 0:s.length)||0,u=c===m;return(0,l.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,l.jsxs)("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-2xl min-h-[380px] py-6 overflow-hidden transform transition-all flex flex-col justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200",children:[(0,l.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Delete Team"}),(0,l.jsx)("button",{onClick:()=>{n(),o("")},className:"text-gray-400 hover:text-gray-500 focus:outline-none",children:(0,l.jsx)(Y.Z,{size:20})})]}),(0,l.jsxs)("div",{className:"px-6 py-4",children:[x>0&&(0,l.jsxs)("div",{className:"flex items-start gap-3 p-4 bg-red-50 border border-red-100 rounded-md mb-5",children:[(0,l.jsx)("div",{className:"text-red-500 mt-0.5",children:(0,l.jsx)(K.Z,{size:20})}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-base font-medium text-red-600",children:["Warning: This team has ",x," associated key",x>1?"s":"","."]}),(0,l.jsx)("p",{className:"text-base text-red-600 mt-2",children:"Deleting the team will also delete all associated keys. This action is irreversible."})]})]}),(0,l.jsx)("p",{className:"text-base text-gray-600 mb-5",children:"Are you sure you want to force delete this team and all its keys?"}),(0,l.jsxs)("div",{className:"mb-5",children:[(0,l.jsxs)("label",{className:"block text-base font-medium text-gray-700 mb-2",children:["Type ",(0,l.jsx)("span",{className:"underline",children:m})," to confirm deletion:"]}),(0,l.jsx)("input",{type:"text",value:c,onChange:e=>o(e.target.value),placeholder:"Enter team name exactly",className:"w-full px-4 py-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-base",autoFocus:!0})]})]})]}),(0,l.jsxs)("div",{className:"px-6 py-4 bg-gray-50 flex justify-end gap-4",children:[(0,l.jsx)("button",{onClick:()=>{n(),o("")},className:"px-5 py-3 bg-white border border-gray-300 rounded-md text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:"Cancel"}),(0,l.jsx)("button",{onClick:i,disabled:!u,className:"px-5 py-3 rounded-md text-base font-medium text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 ".concat(u?"bg-red-600 hover:bg-red-700":"bg-red-300 cursor-not-allowed"),children:"Force Delete"})]})]})})},$=a(22116),ee=a(37592),es=a(4260),ea=a(63709),el=a(5545),et=a(26210),er=a(15424),en=a(24199),ei=a(97415),ec=a(95920),eo=a(82586),ed=a(2597),em=a(72885),ex=a(9114),eu=a(68473);let eh=(e,s)=>{let a=[];return e&&e.models.length>0?(console.log("organization.models: ".concat(e.models)),a=e.models):a=s,(0,B.Ob)(a,s)};var eg=e=>{let{isTeamModalVisible:s,handleOk:a,handleCancel:n,currentOrg:c,organizations:o,teams:d,setTeams:m,modelAliases:x,setModelAliases:u,loggingSettings:h,setLoggingSettings:g,setIsTeamModalVisible:p}=e,{userId:j,userRole:f,accessToken:b,premiumUser:v}=(0,S.Z)(),[y]=i.Z.useForm(),[_,N]=(0,t.useState)([]),[w,Z]=(0,t.useState)(null),[C,k]=(0,t.useState)([]),[T,A]=(0,t.useState)([]),[M,z]=(0,t.useState)([]),[E,D]=(0,t.useState)(!1);(0,t.useEffect)(()=>{(async()=>{try{if(null===j||null===f||null===b)return;let e=await (0,B.K2)(j,f,b);e&&N(e)}catch(e){console.error("Error fetching user models:",e)}})()},[b,j,f,d]),(0,t.useEffect)(()=>{console.log("currentOrgForCreateTeam: ".concat(w));let e=eh(w,_);console.log("models: ".concat(e)),k(e),y.setFieldValue("models",[])},[w,_,y]);let F=async()=>{try{if(null==b)return;let e=await (0,r.fetchMCPAccessGroups)(b);z(e)}catch(e){console.error("Failed to fetch MCP access groups:",e)}};(0,t.useEffect)(()=>{F()},[b,F]),(0,t.useEffect)(()=>{(async()=>{try{if(null==b)return;let e=(await (0,r.getGuardrailsList)(b)).guardrails.map(e=>e.guardrail_name);A(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[b]);let P=async e=>{try{if(console.log("formValues: ".concat(JSON.stringify(e))),null!=b){var s,a,l;let t=null==e?void 0:e.team_alias,n=null!==(l=null==d?void 0:d.map(e=>e.team_alias))&&void 0!==l?l:[],i=(null==e?void 0:e.organization_id)||(null==c?void 0:c.organization_id);if(""===i||"string"!=typeof i?e.organization_id=null:e.organization_id=i.trim(),n.includes(t))throw Error("Team alias ".concat(t," already exists, please pick another alias"));if(ex.Z.info("Creating Team"),h.length>0){let s={};if(e.metadata)try{s=JSON.parse(e.metadata)}catch(e){console.warn("Invalid JSON in metadata field, starting with empty object")}s={...s,logging:h.filter(e=>e.callback_name)},e.metadata=JSON.stringify(s)}if(e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0||e.allowed_mcp_servers_and_groups&&((null===(s=e.allowed_mcp_servers_and_groups.servers)||void 0===s?void 0:s.length)>0||(null===(a=e.allowed_mcp_servers_and_groups.accessGroups)||void 0===a?void 0:a.length)>0||e.allowed_mcp_servers_and_groups.toolPermissions)){if(e.object_permission={},e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0&&(e.object_permission.vector_stores=e.allowed_vector_store_ids,delete e.allowed_vector_store_ids),e.allowed_mcp_servers_and_groups){let{servers:s,accessGroups:a}=e.allowed_mcp_servers_and_groups;s&&s.length>0&&(e.object_permission.mcp_servers=s),a&&a.length>0&&(e.object_permission.mcp_access_groups=a),delete e.allowed_mcp_servers_and_groups}if(e.mcp_tool_permissions&&Object.keys(e.mcp_tool_permissions).length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_tool_permissions=e.mcp_tool_permissions,delete e.mcp_tool_permissions),e.allowed_agents_and_groups){let{agents:s,accessGroups:a}=e.allowed_agents_and_groups;e.object_permission||(e.object_permission={}),s&&s.length>0&&(e.object_permission.agents=s),a&&a.length>0&&(e.object_permission.agent_access_groups=a),delete e.allowed_agents_and_groups}}e.allowed_mcp_access_groups&&e.allowed_mcp_access_groups.length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_access_groups=e.allowed_mcp_access_groups,delete e.allowed_mcp_access_groups),Object.keys(x).length>0&&(e.model_aliases=x);let o=await (0,r.teamCreateCall)(b,e);null!==d?m([...d,o]):m([o]),console.log("response for team create call: ".concat(o)),ex.Z.success("Team created"),y.resetFields(),g([]),u({}),p(!1)}}catch(e){console.error("Error creating the team:",e),ex.Z.fromBackend("Error creating the team: "+e)}};return(0,l.jsx)($.Z,{title:"Create Team",open:s,width:1e3,footer:null,onOk:a,onCancel:n,children:(0,l.jsxs)(i.Z,{form:y,onFinish:P,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,l.jsx)(et.oi,{placeholder:""})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Organization"," ",(0,l.jsx)(L.Z,{title:(0,l.jsxs)("span",{children:["Organizations can have multiple teams. Learn more about"," ",(0,l.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/user_management_heirarchy",target:"_blank",rel:"noopener noreferrer",style:{color:"#1890ff",textDecoration:"underline"},onClick:e=>e.stopPropagation(),children:"user management hierarchy"})]}),children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"organization_id",initialValue:c?c.organization_id:null,className:"mt-8",children:(0,l.jsx)(ee.default,{showSearch:!0,allowClear:!0,placeholder:"Search or select an Organization",onChange:e=>{y.setFieldValue("organization_id",e),Z((null==o?void 0:o.find(s=>s.organization_id===e))||null)},filterOption:(e,s)=>{var a;return!!s&&((null===(a=s.children)||void 0===a?void 0:a.toString())||"").toLowerCase().includes(e.toLowerCase())},optionFilterProp:"children",children:null==o?void 0:o.map(e=>(0,l.jsxs)(ee.default.Option,{value:e.organization_id,children:[(0,l.jsx)("span",{className:"font-medium",children:e.organization_alias})," ",(0,l.jsxs)("span",{className:"text-gray-500",children:["(",e.organization_id,")"]})]},e.organization_id))})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Models"," ",(0,l.jsx)(L.Z,{title:"These are the models that your selected team has access to",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"models",children:(0,l.jsxs)(ee.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,l.jsx)(ee.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),C.map(e=>(0,l.jsx)(ee.default.Option,{value:e,children:(0,B.W0)(e)},e))]})}),(0,l.jsx)(i.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,l.jsx)(en.Z,{step:.01,precision:2,width:200})}),(0,l.jsx)(i.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,l.jsxs)(ee.default,{defaultValue:null,placeholder:"n/a",children:[(0,l.jsx)(ee.default.Option,{value:"24h",children:"daily"}),(0,l.jsx)(ee.default.Option,{value:"7d",children:"weekly"}),(0,l.jsx)(ee.default.Option,{value:"30d",children:"monthly"})]})}),(0,l.jsx)(i.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsx)(i.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsxs)(et.UQ,{className:"mt-20 mb-8",onClick:()=>{E||(F(),D(!0))},children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Additional Settings"})}),(0,l.jsxs)(et.X1,{children:[(0,l.jsx)(i.Z.Item,{label:"Team ID",name:"team_id",help:"ID of the team you want to create. If not provided, it will be generated automatically.",children:(0,l.jsx)(et.oi,{onChange:e=>{e.target.value=e.target.value.trim()}})}),(0,l.jsx)(i.Z.Item,{label:"Team Member Budget (USD)",name:"team_member_budget",normalize:e=>e?Number(e):void 0,tooltip:"This is the individual budget for a user in the team.",children:(0,l.jsx)(en.Z,{step:.01,precision:2,width:200})}),(0,l.jsx)(i.Z.Item,{label:"Team Member Key Duration (eg: 1d, 1mo)",name:"team_member_key_duration",tooltip:"Set a limit to the duration of a team member's key. Format: 30s (seconds), 30m (minutes), 30h (hours), 30d (days), 1mo (month)",children:(0,l.jsx)(et.oi,{placeholder:"e.g., 30d"})}),(0,l.jsx)(i.Z.Item,{label:"Team Member RPM Limit",name:"team_member_rpm_limit",tooltip:"The RPM (Requests Per Minute) limit for individual team members",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsx)(i.Z.Item,{label:"Team Member TPM Limit",name:"team_member_tpm_limit",tooltip:"The TPM (Tokens Per Minute) limit for individual team members",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsx)(i.Z.Item,{label:"Metadata",name:"metadata",help:"Additional team metadata. Enter metadata as JSON object.",children:(0,l.jsx)(es.default.TextArea,{rows:4})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Guardrails"," ",(0,l.jsx)(L.Z,{title:"Setup your first guardrail",children:(0,l.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",className:"mt-8",help:"Select existing guardrails or enter new ones",children:(0,l.jsx)(ee.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter guardrails",options:T.map(e=>({value:e,label:e}))})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,l.jsx)(L.Z,{title:"When enabled, this team will bypass any guardrails configured to run on every request (global guardrails)",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",className:"mt-4",valuePropName:"checked",help:"Bypass global guardrails for this team",children:(0,l.jsx)(ea.Z,{checkedChildren:"Yes",unCheckedChildren:"No"})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Allowed Vector Stores"," ",(0,l.jsx)(L.Z,{title:"Select which vector stores this team can access by default. Leave empty for access to all vector stores",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_vector_store_ids",className:"mt-8",help:"Select vector stores this team can access. Leave empty for access to all vector stores",children:(0,l.jsx)(ei.Z,{onChange:e=>y.setFieldValue("allowed_vector_store_ids",e),value:y.getFieldValue("allowed_vector_store_ids"),accessToken:b||"",placeholder:"Select vector stores (optional)"})})]})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"MCP Settings"})}),(0,l.jsxs)(et.X1,{children:[(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Allowed MCP Servers"," ",(0,l.jsx)(L.Z,{title:"Select which MCP servers or access groups this team can access",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_mcp_servers_and_groups",className:"mt-4",help:"Select MCP servers or access groups this team can access",children:(0,l.jsx)(ec.Z,{onChange:e=>y.setFieldValue("allowed_mcp_servers_and_groups",e),value:y.getFieldValue("allowed_mcp_servers_and_groups"),accessToken:b||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,l.jsx)(i.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,l.jsx)(es.default,{type:"hidden"})}),(0,l.jsx)(i.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.allowed_mcp_servers_and_groups!==s.allowed_mcp_servers_and_groups||e.mcp_tool_permissions!==s.mcp_tool_permissions,children:()=>{var e;return(0,l.jsx)("div",{className:"mt-6",children:(0,l.jsx)(eu.Z,{accessToken:b||"",selectedServers:(null===(e=y.getFieldValue("allowed_mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:y.getFieldValue("mcp_tool_permissions")||{},onChange:e=>y.setFieldsValue({mcp_tool_permissions:e})})})}})]})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Agent Settings"})}),(0,l.jsx)(et.X1,{children:(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Allowed Agents"," ",(0,l.jsx)(L.Z,{title:"Select which agents or access groups this team can access",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_agents_and_groups",className:"mt-4",help:"Select agents or access groups this team can access",children:(0,l.jsx)(eo.Z,{onChange:e=>y.setFieldValue("allowed_agents_and_groups",e),value:y.getFieldValue("allowed_agents_and_groups"),accessToken:b||"",placeholder:"Select agents or access groups (optional)"})})})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Logging Settings"})}),(0,l.jsx)(et.X1,{children:(0,l.jsx)("div",{className:"mt-4",children:(0,l.jsx)(ed.Z,{value:h,onChange:g,premiumUser:v})})})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Model Aliases"})}),(0,l.jsx)(et.X1,{children:(0,l.jsxs)("div",{className:"mt-4",children:[(0,l.jsx)(et.xv,{className:"text-sm text-gray-600 mb-4",children:"Create custom aliases for models that can be used by team members in API calls. This allows you to create shortcuts for specific models."}),(0,l.jsx)(em.Z,{accessToken:b||"",initialModelAliases:x,onAliasUpdate:u,showExampleConfig:!1})]})})]})]}),(0,l.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,l.jsx)(el.ZP,{htmlType:"submit",children:"Create Team"})})]})})},ep=e=>{let{teams:s,accessToken:a,setTeams:b,userID:v,userRole:y,organizations:_,premiumUser:N=!1}=e,[w,C]=(0,t.useState)(null),[S,A]=(0,t.useState)(!1),[M,z]=(0,t.useState)({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"}),[E]=i.Z.useForm(),[D]=i.Z.useForm(),[F,L]=(0,t.useState)(null),[P,I]=(0,t.useState)(!1),[O,V]=(0,t.useState)(!1),[R,B]=(0,t.useState)(!1),[W,G]=(0,t.useState)(!1),[U,J]=(0,t.useState)([]),[Q,q]=(0,t.useState)(!1),[Y,K]=(0,t.useState)(null),[$,ee]=(0,t.useState)({}),[es,ea]=(0,t.useState)([]),[el,et]=(0,t.useState)({}),{lastRefreshed:er,onRefreshClick:en}=T({currentOrg:w,setTeams:b});(0,t.useEffect)(()=>{s&&ee(s.reduce((e,s)=>(e[s.team_id]={keys:s.keys||[],team_info:{members_with_roles:s.members_with_roles||[]}},e),{}))},[s]);let ei=async e=>{K(e),q(!0)},ec=async()=>{if(null!=Y&&null!=s&&null!=a){try{await (0,r.teamDeleteCall)(a,Y),(0,n.Z)(a,v,y,w,b)}catch(e){console.error("Error deleting the team:",e)}q(!1),K(null)}};return(0,l.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,l.jsx)(h.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,l.jsxs)(u.Z,{numColSpan:1,className:"flex flex-col gap-2",children:[("Admin"==y||"Org Admin"==y)&&(0,l.jsx)(m.Z,{className:"w-fit",onClick:()=>V(!0),children:"+ Create New Team"}),F?(0,l.jsx)(c.Z,{teamId:F,onUpdate:e=>{b(s=>{if(null==s)return s;let l=s.map(s=>e.team_id===s.team_id?(0,f.nl)(s,e):s);return a&&(0,n.Z)(a,v,y,w,b),l})},onClose:()=>{L(null),I(!1)},accessToken:a,is_team_admin:(e=>{if(null==e||null==e.members_with_roles)return!1;for(let s=0;se.team_id===F)),is_proxy_admin:"Admin"==y,userModels:U,editTeam:P}):(0,l.jsxs)(Z,{lastRefreshed:er,onRefresh:en,userRole:y,children:[(0,l.jsxs)(g.Z,{children:[(0,l.jsxs)(p.Z,{children:["Click on “Team ID” to view team details ",(0,l.jsx)("b",{children:"and"})," manage team members."]}),(0,l.jsx)(h.Z,{numItems:1,className:"gap-2 pt-2 pb-2 h-[75vh] w-full mt-2",children:(0,l.jsx)(u.Z,{numColSpan:1,children:(0,l.jsxs)(x.Z,{className:"w-full mx-auto flex-auto overflow-hidden overflow-y-auto max-h-[50vh]",children:[(0,l.jsx)("div",{className:"border-b px-6 py-4",children:(0,l.jsx)("div",{className:"flex flex-col space-y-4",children:(0,l.jsx)(k,{filters:M,organizations:_,showFilters:S,onToggleFilters:A,onChange:(e,s)=>{let l={...M,[e]:s};z(l),a&&(0,r.v2TeamListCall)(a,l.organization_id||null,null,l.team_id||null,l.team_alias||null).then(e=>{e&&e.teams&&b(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})},onReset:()=>{z({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"}),a&&(0,r.v2TeamListCall)(a,null,v||null,null,null).then(e=>{e&&e.teams&&b(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})}})})}),(0,l.jsx)(X,{teams:s,currentOrg:w,perTeamInfo:$,userRole:y,userId:v,setSelectedTeamId:L,setEditTeam:I,onDeleteTeam:ei}),Q&&(0,l.jsx)(H,{teams:s,teamToDelete:Y,onCancel:()=>{q(!1),K(null)},onConfirm:ec})]})})})]}),(0,l.jsx)(g.Z,{children:(0,l.jsx)(j.Z,{accessToken:a,userID:v})}),(0,d.tY)(y||"")&&(0,l.jsx)(g.Z,{children:(0,l.jsx)(o.Z,{accessToken:a,userID:v||"",userRole:y||""})})]}),("Admin"==y||"Org Admin"==y)&&(0,l.jsx)(eg,{isTeamModalVisible:O,handleOk:()=>{V(!1),E.resetFields(),ea([]),et({})},handleCancel:()=>{V(!1),E.resetFields(),ea([]),et({})},currentOrg:w,organizations:_,teams:s,setTeams:b,modelAliases:el,setModelAliases:et,loggingSettings:es,setLoggingSettings:ea,setIsTeamModalVisible:V})]})})})},ej=a(11318),ef=a(22004),eb=()=>{let{accessToken:e,userId:s,userRole:a}=(0,S.Z)(),{teams:r,setTeams:n}=(0,ej.Z)(),[i,c]=(0,t.useState)([]);return(0,t.useEffect)(()=>{(0,ef.g)(e,c).then(()=>{})},[e]),(0,l.jsx)(ep,{teams:r,accessToken:e,setTeams:n,userID:s,userRole:a,organizations:i})}},88904:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(88913),n=a(57840),i=a(37592),c=a(63709),o=a(10353),d=a(19250),m=a(65925),x=a(46468),u=a(9114);s.Z=e=>{var s;let{accessToken:a,userID:h,userRole:g}=e,[p,j]=(0,t.useState)(!0),[f,b]=(0,t.useState)(null),[v,y]=(0,t.useState)(!1),[_,N]=(0,t.useState)({}),[w,Z]=(0,t.useState)(!1),[C,k]=(0,t.useState)([]),{Paragraph:S}=n.default,{Option:T}=i.default;(0,t.useEffect)(()=>{(async()=>{if(!a){j(!1);return}try{let e=await (0,d.getDefaultTeamSettings)(a);if(b(e),N(e.values||{}),a)try{let e=await (0,d.modelAvailableCall)(a,h,g);if(e&&e.data){let s=e.data.map(e=>e.id);k(s)}}catch(e){console.error("Error fetching available models:",e)}}catch(e){console.error("Error fetching team SSO settings:",e),u.Z.fromBackend("Failed to fetch team settings")}finally{j(!1)}})()},[a]);let A=async()=>{if(a){Z(!0);try{let e=await (0,d.updateDefaultTeamSettings)(a,_);b({...f,values:e.settings}),y(!1),u.Z.success("Default team settings updated successfully")}catch(e){console.error("Error updating team settings:",e),u.Z.fromBackend("Failed to update team settings")}finally{Z(!1)}}},M=(e,s)=>{N(a=>({...a,[e]:s}))},z=(e,s,a)=>{var t;let n=s.type;return"budget_duration"===e?(0,l.jsx)(m.Z,{value:_[e]||null,onChange:s=>M(e,s),className:"mt-2"}):"boolean"===n?(0,l.jsx)("div",{className:"mt-2",children:(0,l.jsx)(c.Z,{checked:!!_[e],onChange:s=>M(e,s)})}):"array"===n&&(null===(t=s.items)||void 0===t?void 0:t.enum)?(0,l.jsx)(i.default,{mode:"multiple",style:{width:"100%"},value:_[e]||[],onChange:s=>M(e,s),className:"mt-2",children:s.items.enum.map(e=>(0,l.jsx)(T,{value:e,children:e},e))}):"models"===e?(0,l.jsxs)(i.default,{mode:"multiple",style:{width:"100%"},value:_[e]||[],onChange:s=>M(e,s),className:"mt-2",children:[(0,l.jsx)(T,{value:"no-default-models",children:"No Default Models"},"no-default-models"),C.map(e=>(0,l.jsx)(T,{value:e,children:(0,x.W0)(e)},e))]}):"string"===n&&s.enum?(0,l.jsx)(i.default,{style:{width:"100%"},value:_[e]||"",onChange:s=>M(e,s),className:"mt-2",children:s.enum.map(e=>(0,l.jsx)(T,{value:e,children:e},e))}):(0,l.jsx)(r.oi,{value:void 0!==_[e]?String(_[e]):"",onChange:s=>M(e,s.target.value),placeholder:s.description||"",className:"mt-2"})},E=(e,s)=>null==s?(0,l.jsx)("span",{className:"text-gray-400",children:"Not set"}):"budget_duration"===e?(0,l.jsx)("span",{children:(0,m.m)(s)}):"boolean"==typeof s?(0,l.jsx)("span",{children:s?"Enabled":"Disabled"}):"models"===e&&Array.isArray(s)?0===s.length?(0,l.jsx)("span",{className:"text-gray-400",children:"None"}):(0,l.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:s.map((e,s)=>(0,l.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:(0,x.W0)(e)},s))}):"object"==typeof s?Array.isArray(s)?0===s.length?(0,l.jsx)("span",{className:"text-gray-400",children:"None"}):(0,l.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:s.map((e,s)=>(0,l.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:"object"==typeof e?JSON.stringify(e):String(e)},s))}):(0,l.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(s,null,2)}):(0,l.jsx)("span",{children:String(s)});return p?(0,l.jsx)("div",{className:"flex justify-center items-center h-64",children:(0,l.jsx)(o.Z,{size:"large"})}):f?(0,l.jsxs)(r.Zb,{children:[(0,l.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,l.jsx)(r.Dx,{className:"text-xl",children:"Default Team Settings"}),!p&&f&&(v?(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(r.zx,{variant:"secondary",onClick:()=>{y(!1),N(f.values||{})},disabled:w,children:"Cancel"}),(0,l.jsx)(r.zx,{onClick:A,loading:w,children:"Save Changes"})]}):(0,l.jsx)(r.zx,{onClick:()=>y(!0),children:"Edit Settings"}))]}),(0,l.jsx)(r.xv,{children:"These settings will be applied by default when creating new teams."}),(null==f?void 0:null===(s=f.field_schema)||void 0===s?void 0:s.description)&&(0,l.jsx)(S,{className:"mb-4 mt-2",children:f.field_schema.description}),(0,l.jsx)(r.iz,{}),(0,l.jsx)("div",{className:"mt-4 space-y-4",children:(()=>{let{values:e,field_schema:s}=f;return s&&s.properties?Object.entries(s.properties).map(s=>{let[a,t]=s,n=e[a],i=a.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase());return(0,l.jsxs)("div",{className:"mb-6 pb-6 border-b border-gray-200 last:border-0",children:[(0,l.jsx)(r.xv,{className:"font-medium text-lg",children:i}),(0,l.jsx)(S,{className:"text-sm text-gray-500 mt-1",children:t.description||"No description available"}),v?(0,l.jsx)("div",{className:"mt-2",children:z(a,t,n)}):(0,l.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:E(a,n)})]},a)}):(0,l.jsx)(r.xv,{children:"No schema information available"})})()})]}):(0,l.jsx)(r.Zb,{children:(0,l.jsx)(r.xv,{children:"No team settings available or you do not have permission to view them."})})}},72885:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(77355),n=a(93416),i=a(74998),c=a(95704),o=a(76593),d=a(9114);s.Z=e=>{let{accessToken:s,initialModelAliases:a={},onAliasUpdate:m,showExampleConfig:x=!0}=e,[u,h]=(0,t.useState)([]),[g,p]=(0,t.useState)({aliasName:"",targetModel:""}),[j,f]=(0,t.useState)(null);(0,t.useEffect)(()=>{h(Object.entries(a).map((e,s)=>{let[a,l]=e;return{id:"".concat(s,"-").concat(a),aliasName:a,targetModel:l}}))},[a]);let b=e=>{f({...e})},v=()=>{if(!j)return;if(!j.aliasName||!j.targetModel){d.Z.fromBackend("Please provide both alias name and target model");return}if(u.some(e=>e.id!==j.id&&e.aliasName===j.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=u.map(e=>e.id===j.id?j:e);h(e),f(null);let s={};e.forEach(e=>{s[e.aliasName]=e.targetModel}),m&&m(s),d.Z.success("Alias updated successfully")},y=()=>{f(null)},_=e=>{let s=u.filter(s=>s.id!==e);h(s);let a={};s.forEach(e=>{a[e.aliasName]=e.targetModel}),m&&m(a),d.Z.success("Alias deleted successfully")},N=u.reduce((e,s)=>(e[s.aliasName]=s.targetModel,e),{});return(0,l.jsxs)("div",{className:"mt-4",children:[(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsx)(c.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Add New Alias"}),(0,l.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Alias Name"}),(0,l.jsx)("input",{type:"text",value:g.aliasName,onChange:e=>p({...g,aliasName:e.target.value}),placeholder:"e.g., gpt-4o",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Target Model"}),(0,l.jsx)(o.Z,{accessToken:s,value:g.targetModel,placeholder:"Select target model",onChange:e=>p({...g,targetModel:e}),showLabel:!1})]}),(0,l.jsx)("div",{className:"flex items-end",children:(0,l.jsxs)("button",{onClick:()=>{if(!g.aliasName||!g.targetModel){d.Z.fromBackend("Please provide both alias name and target model");return}if(u.some(e=>e.aliasName===g.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=[...u,{id:"".concat(Date.now(),"-").concat(g.aliasName),aliasName:g.aliasName,targetModel:g.targetModel}];h(e),p({aliasName:"",targetModel:""});let s={};e.forEach(e=>{s[e.aliasName]=e.targetModel}),m&&m(s),d.Z.success("Alias added successfully")},disabled:!g.aliasName||!g.targetModel,className:"flex items-center px-4 py-2 rounded-md text-sm ".concat(g.aliasName&&g.targetModel?"bg-green-600 text-white hover:bg-green-700":"bg-gray-300 text-gray-500 cursor-not-allowed"),children:[(0,l.jsx)(r.Z,{className:"w-4 h-4 mr-1"}),"Add Alias"]})})]})]}),(0,l.jsx)(c.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Manage Existing Aliases"}),(0,l.jsx)("div",{className:"rounded-lg custom-border relative mb-6",children:(0,l.jsx)("div",{className:"overflow-x-auto",children:(0,l.jsxs)(c.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,l.jsx)(c.ss,{children:(0,l.jsxs)(c.SC,{children:[(0,l.jsx)(c.xs,{className:"py-1 h-8",children:"Alias Name"}),(0,l.jsx)(c.xs,{className:"py-1 h-8",children:"Target Model"}),(0,l.jsx)(c.xs,{className:"py-1 h-8",children:"Actions"})]})}),(0,l.jsxs)(c.RM,{children:[u.map(e=>(0,l.jsx)(c.SC,{className:"h-8",children:j&&j.id===e.id?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.pj,{className:"py-0.5",children:(0,l.jsx)("input",{type:"text",value:j.aliasName,onChange:e=>f({...j,aliasName:e.target.value}),className:"w-full px-2 py-1 border border-gray-300 rounded-md text-sm"})}),(0,l.jsx)(c.pj,{className:"py-0.5",children:(0,l.jsx)(o.Z,{accessToken:s,value:j.targetModel,onChange:e=>f({...j,targetModel:e}),showLabel:!1,style:{height:"32px"}})}),(0,l.jsx)(c.pj,{className:"py-0.5 whitespace-nowrap",children:(0,l.jsxs)("div",{className:"flex space-x-2",children:[(0,l.jsx)("button",{onClick:v,className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:"Save"}),(0,l.jsx)("button",{onClick:y,className:"text-xs bg-gray-50 text-gray-600 px-2 py-1 rounded hover:bg-gray-100",children:"Cancel"})]})})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.pj,{className:"py-0.5 text-sm text-gray-900",children:e.aliasName}),(0,l.jsx)(c.pj,{className:"py-0.5 text-sm text-gray-500",children:e.targetModel}),(0,l.jsx)(c.pj,{className:"py-0.5 whitespace-nowrap",children:(0,l.jsxs)("div",{className:"flex space-x-2",children:[(0,l.jsx)("button",{onClick:()=>b(e),className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:(0,l.jsx)(n.Z,{className:"w-3 h-3"})}),(0,l.jsx)("button",{onClick:()=>_(e.id),className:"text-xs bg-red-50 text-red-600 px-2 py-1 rounded hover:bg-red-100",children:(0,l.jsx)(i.Z,{className:"w-3 h-3"})})]})})]})},e.id)),0===u.length&&(0,l.jsx)(c.SC,{children:(0,l.jsx)(c.pj,{colSpan:3,className:"py-0.5 text-sm text-gray-500 text-center",children:"No aliases added yet. Add a new alias above."})})]})]})})}),x&&(0,l.jsxs)(c.Zb,{children:[(0,l.jsx)(c.Dx,{className:"mb-4",children:"Configuration Example"}),(0,l.jsx)(c.xv,{className:"text-gray-600 mb-4",children:"Here's how your current aliases would look in the config:"}),(0,l.jsx)("div",{className:"bg-gray-100 rounded-lg p-4 font-mono text-sm",children:(0,l.jsxs)("div",{className:"text-gray-700",children:["model_aliases:",0===Object.keys(N).length?(0,l.jsxs)("span",{className:"text-gray-500",children:[(0,l.jsx)("br",{}),"\xa0\xa0# No aliases configured yet"]}):Object.entries(N).map(e=>{let[s,a]=e;return(0,l.jsxs)("span",{children:[(0,l.jsx)("br",{}),'\xa0\xa0"',s,'": "',a,'"']},s)})]})})]})]})}},76593:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(56522),n=a(37592),i=a(69993),c=a(10703);s.Z=e=>{let{accessToken:s,value:a,placeholder:o="Select a Model",onChange:d,disabled:m=!1,style:x,className:u,showLabel:h=!0,labelText:g="Select Model"}=e,[p,j]=(0,t.useState)(a),[f,b]=(0,t.useState)(!1),[v,y]=(0,t.useState)([]),_=(0,t.useRef)(null);return(0,t.useEffect)(()=>{j(a)},[a]),(0,t.useEffect)(()=>{s&&(async()=>{try{let e=await (0,c.p)(s);console.log("Fetched models for selector:",e),e.length>0&&y(e)}catch(e){console.error("Error fetching model info:",e)}})()},[s]),(0,l.jsxs)("div",{children:[h&&(0,l.jsxs)(r.x,{className:"font-medium block mb-2 text-gray-700 flex items-center",children:[(0,l.jsx)(i.Z,{className:"mr-2"})," ",g]}),(0,l.jsx)(n.default,{value:p,placeholder:o,onChange:e=>{"custom"===e?(b(!0),j(void 0)):(b(!1),j(e),d&&d(e))},options:[...Array.from(new Set(v.map(e=>e.model_group))).map((e,s)=>({value:e,label:e,key:s})),{value:"custom",label:"Enter custom model",key:"custom"}],style:{width:"100%",...x},showSearch:!0,className:"rounded-md ".concat(u||""),disabled:m}),f&&(0,l.jsx)(r.o,{className:"mt-2",placeholder:"Enter custom model name",onValueChange:e=>{_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{j(e),d&&d(e)},500)},disabled:m})]})}},2597:function(e,s,a){"use strict";var l=a(57437);a(2265);var t=a(92280),r=a(54507);s.Z=function(e){let{value:s,onChange:a,premiumUser:n=!1,disabledCallbacks:i=[],onDisabledCallbacksChange:c}=e;return n?(0,l.jsx)(r.Z,{value:s,onChange:a,disabledCallbacks:i,onDisabledCallbacksChange:c}):(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex flex-wrap gap-2 mb-3",children:[(0,l.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-green-50 border border-green-200 text-green-800 text-sm font-medium opacity-50",children:"✨ langfuse-logging"}),(0,l.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-green-50 border border-green-200 text-green-800 text-sm font-medium opacity-50",children:"✨ datadog-logging"})]}),(0,l.jsx)("div",{className:"p-3 bg-yellow-50 border border-yellow-200 rounded-lg",children:(0,l.jsxs)(t.x,{className:"text-sm text-yellow-800",children:["Setting Key/Team logging settings is a LiteLLM Enterprise feature. Global Logging Settings are available for all free users. Get a trial key"," ",(0,l.jsx)("a",{href:"https://www.litellm.ai/#pricing",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"here"}),"."]})})]})}},65925:function(e,s,a){"use strict";a.d(s,{m:function(){return n}});var l=a(57437);a(2265);var t=a(37592);let{Option:r}=t.default,n=e=>e?({"24h":"daily","7d":"weekly","30d":"monthly"})[e]||e:"Not set";s.Z=e=>{let{value:s,onChange:a,className:n="",style:i={}}=e;return(0,l.jsxs)(t.default,{style:{width:"100%",...i},value:s||void 0,onChange:a,className:n,placeholder:"n/a",children:[(0,l.jsx)(r,{value:"24h",children:"daily"}),(0,l.jsx)(r,{value:"7d",children:"weekly"}),(0,l.jsx)(r,{value:"30d",children:"monthly"})]})}},39210:function(e,s,a){"use strict";a.d(s,{Z:function(){return t}});var l=a(19250);let t=async(e,s,a,t,r)=>{let n;n="Admin"!=a&&"Admin Viewer"!=a?await (0,l.teamListCall)(e,(null==t?void 0:t.organization_id)||null,s):await (0,l.teamListCall)(e,(null==t?void 0:t.organization_id)||null),console.log("givenTeams: ".concat(n)),r(n)}},27799:function(e,s,a){"use strict";var l=a(57437);a(2265);var t=a(40728),r=a(82182),n=a(91777),i=a(97434);s.Z=function(e){let{loggingConfigs:s=[],disabledCallbacks:a=[],variant:c="card",className:o=""}=e,d=e=>{var s;return(null===(s=Object.entries(i.Lo).find(s=>{let[a,l]=s;return l===e}))||void 0===s?void 0:s[0])||e},m=e=>{switch(e){case"success":return"green";case"failure":return"red";case"success_and_failure":return"blue";default:return"gray"}},x=e=>{switch(e){case"success":return"Success Only";case"failure":return"Failure Only";case"success_and_failure":return"Success & Failure";default:return e}},u=(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(r.Z,{className:"h-4 w-4 text-blue-600"}),(0,l.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Logging Integrations"}),(0,l.jsx)(t.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,l.jsx)("div",{className:"space-y-3",children:s.map((e,s)=>{var a;let n=d(e.callback_name),c=null===(a=i.Dg[n])||void 0===a?void 0:a.logo;return(0,l.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-blue-50 border border-blue-200",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[c?(0,l.jsx)("img",{src:c,alt:n,className:"w-5 h-5 object-contain"}):(0,l.jsx)(r.Z,{className:"h-5 w-5 text-gray-400"}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.x,{className:"font-medium text-blue-800",children:n}),(0,l.jsxs)(t.x,{className:"text-xs text-blue-600",children:[Object.keys(e.callback_vars).length," parameters configured"]})]})]}),(0,l.jsx)(t.C,{color:m(e.callback_type),size:"sm",children:x(e.callback_type)})]},s)})}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(r.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(t.x,{className:"text-gray-500 text-sm",children:"No logging integrations configured"})]})]}),(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(n.Z,{className:"h-4 w-4 text-red-600"}),(0,l.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Disabled Callbacks"}),(0,l.jsx)(t.C,{color:"red",size:"xs",children:a.length})]}),a.length>0?(0,l.jsx)("div",{className:"space-y-3",children:a.map((e,s)=>{var a;let r=i.RD[e]||e,c=null===(a=i.Dg[r])||void 0===a?void 0:a.logo;return(0,l.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-red-50 border border-red-200",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[c?(0,l.jsx)("img",{src:c,alt:r,className:"w-5 h-5 object-contain"}):(0,l.jsx)(n.Z,{className:"h-5 w-5 text-gray-400"}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.x,{className:"font-medium text-red-800",children:r}),(0,l.jsx)(t.x,{className:"text-xs text-red-600",children:"Disabled for this key"})]})]}),(0,l.jsx)(t.C,{color:"red",size:"sm",children:"Disabled"})]},s)})}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(n.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(t.x,{className:"text-gray-500 text-sm",children:"No callbacks disabled"})]})]})]});return"card"===c?(0,l.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,l.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Logging Settings"}),(0,l.jsx)(t.x,{className:"text-xs text-gray-500",children:"Active logging integrations and disabled callbacks for this key"})]})}),u]}):(0,l.jsxs)("div",{className:"".concat(o),children:[(0,l.jsx)(t.x,{className:"font-medium text-gray-900 mb-3",children:"Logging Settings"}),u]})}},60131:function(e,s,a){"use strict";a.d(s,{Z:function(){return j}});var l=a(57437),t=a(2265),r=a(92280),n=a(40728),i=a(79814),c=a(19250),o=function(e){let{vectorStores:s,accessToken:a}=e,[r,o]=(0,t.useState)([]);(0,t.useEffect)(()=>{(async()=>{if(a&&0!==s.length)try{let e=await (0,c.vectorStoreListCall)(a);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[a,s.length]);let d=e=>{let s=r.find(s=>s.vector_store_id===e);return s?"".concat(s.vector_store_name||s.vector_store_id," (").concat(s.vector_store_id,")"):e};return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(i.Z,{className:"h-4 w-4 text-blue-600"}),(0,l.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,l.jsx)(n.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,l.jsx)("div",{className:"flex flex-wrap gap-2",children:s.map((e,s)=>(0,l.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:d(e)},s))}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},d=a(25327),m=a(86462),x=a(47686),u=a(99981),h=function(e){let{mcpServers:s,mcpAccessGroups:r=[],mcpToolPermissions:i={},accessToken:o}=e,[h,g]=(0,t.useState)([]),[p,j]=(0,t.useState)([]),[f,b]=(0,t.useState)(new Set),v=e=>{b(s=>{let a=new Set(s);return a.has(e)?a.delete(e):a.add(e),a})};(0,t.useEffect)(()=>{(async()=>{if(o&&s.length>0)try{let e=await (0,c.fetchMCPServers)(o);e&&Array.isArray(e)?g(e):e.data&&Array.isArray(e.data)&&g(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,s.length]),(0,t.useEffect)(()=>{(async()=>{if(o&&r.length>0)try{let e=await Promise.resolve().then(a.bind(a,19250)).then(e=>e.fetchMCPAccessGroups(o));j(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,r.length]);let y=e=>{let s=h.find(s=>s.server_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.alias," (").concat(a,")")}return e},_=e=>e,N=[...s.map(e=>({type:"server",value:e})),...r.map(e=>({type:"accessGroup",value:e}))],w=N.length;return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,l.jsx)(n.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,l.jsx)(n.C,{color:"blue",size:"xs",children:w})]}),w>0?(0,l.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:N.map((e,s)=>{let a="server"===e.type?i[e.value]:void 0,t=a&&a.length>0,r=f.has(e.value);return(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("div",{onClick:()=>t&&v(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(t?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,l.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,l.jsx)(u.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:y(e.value)})]})}):(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:_(e.value)}),(0,l.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),t&&(0,l.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,l.jsx)("span",{className:"text-xs font-medium text-gray-600",children:a.length}),(0,l.jsx)("span",{className:"text-xs text-gray-500",children:1===a.length?"tool":"tools"}),r?(0,l.jsx)(m.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,l.jsx)(x.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),t&&r&&(0,l.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,l.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.map((e,s)=>(0,l.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},s))})})]},s)})}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},g=a(3497),p=function(e){let{agents:s,agentAccessGroups:a=[],accessToken:r}=e,[i,o]=(0,t.useState)([]);(0,t.useEffect)(()=>{(async()=>{if(r&&s.length>0)try{let e=await (0,c.getAgentsList)(r);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[r,s.length]);let d=e=>{let s=i.find(s=>s.agent_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.agent_name," (").concat(a,")")}return e},m=[...s.map(e=>({type:"agent",value:e})),...a.map(e=>({type:"accessGroup",value:e}))],x=m.length;return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(g.Z,{className:"h-4 w-4 text-purple-600"}),(0,l.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,l.jsx)(n.C,{color:"purple",size:"xs",children:x})]}),x>0?(0,l.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:m.map((e,s)=>(0,l.jsx)("div",{className:"space-y-2",children:(0,l.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,l.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,l.jsx)(u.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:d(e.value)})]})}):(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,l.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},s))}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(g.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},j=function(e){let{objectPermission:s,variant:a="card",className:t="",accessToken:n}=e,i=(null==s?void 0:s.vector_stores)||[],c=(null==s?void 0:s.mcp_servers)||[],d=(null==s?void 0:s.mcp_access_groups)||[],m=(null==s?void 0:s.mcp_tool_permissions)||{},x=(null==s?void 0:s.agents)||[],u=(null==s?void 0:s.agent_access_groups)||[],g=(0,l.jsxs)("div",{className:"card"===a?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,l.jsx)(o,{vectorStores:i,accessToken:n}),(0,l.jsx)(h,{mcpServers:c,mcpAccessGroups:d,mcpToolPermissions:m,accessToken:n}),(0,l.jsx)(p,{agents:x,agentAccessGroups:u,accessToken:n})]});return"card"===a?(0,l.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(t),children:[(0,l.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,l.jsx)(r.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),g]}):(0,l.jsxs)("div",{className:"".concat(t),children:[(0,l.jsx)(r.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),g]})}},21425:function(e,s,a){"use strict";var l=a(57437);a(2265);var t=a(54507);s.Z=e=>{let{value:s,onChange:a,disabledCallbacks:r=[],onDisabledCallbacksChange:n}=e;return(0,l.jsx)(t.Z,{value:s,onChange:a,disabledCallbacks:r,onDisabledCallbacksChange:n})}},918:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(62490),n=a(19250),i=a(9114);s.Z=e=>{let{accessToken:s,userID:a}=e,[c,o]=(0,t.useState)([]);(0,t.useEffect)(()=>{(async()=>{if(s&&a)try{let e=await (0,n.availableTeamListCall)(s);o(e)}catch(e){console.error("Error fetching available teams:",e)}})()},[s,a]);let d=async e=>{if(s&&a)try{await (0,n.teamMemberAddCall)(s,e,{user_id:a,role:"user"}),i.Z.success("Successfully joined team"),o(s=>s.filter(s=>s.team_id!==e))}catch(e){console.error("Error joining team:",e),i.Z.fromBackend("Failed to join team")}};return(0,l.jsx)(r.Zb,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,l.jsxs)(r.iA,{children:[(0,l.jsx)(r.ss,{children:(0,l.jsxs)(r.SC,{children:[(0,l.jsx)(r.xs,{children:"Team Name"}),(0,l.jsx)(r.xs,{children:"Description"}),(0,l.jsx)(r.xs,{children:"Members"}),(0,l.jsx)(r.xs,{children:"Models"}),(0,l.jsx)(r.xs,{children:"Actions"})]})}),(0,l.jsxs)(r.RM,{children:[c.map(e=>(0,l.jsxs)(r.SC,{children:[(0,l.jsx)(r.pj,{children:(0,l.jsx)(r.xv,{children:e.team_alias})}),(0,l.jsx)(r.pj,{children:(0,l.jsx)(r.xv,{children:e.description||"No description available"})}),(0,l.jsx)(r.pj,{children:(0,l.jsxs)(r.xv,{children:[e.members_with_roles.length," members"]})}),(0,l.jsx)(r.pj,{children:(0,l.jsx)("div",{className:"flex flex-col",children:e.models&&0!==e.models.length?e.models.map((e,s)=>(0,l.jsx)(r.Ct,{size:"xs",className:"mb-1",color:"blue",children:(0,l.jsx)(r.xv,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},s)):(0,l.jsx)(r.Ct,{size:"xs",color:"red",children:(0,l.jsx)(r.xv,{children:"All Proxy Models"})})})}),(0,l.jsx)(r.pj,{children:(0,l.jsx)(r.zx,{size:"xs",variant:"secondary",onClick:()=>d(e.team_id),children:"Join Team"})})]},e.team_id)),0===c.length&&(0,l.jsx)(r.SC,{children:(0,l.jsx)(r.pj,{colSpan:5,className:"text-center",children:(0,l.jsx)(r.xv,{children:"No available teams to join"})})})]})]})})}},33304:function(e,s,a){"use strict";function l(e){return""===e?null:e}a.d(s,{C:function(){return l}})}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,353,1994,3709,5333,4546,7996,7692,8049,4679,2012,2004,2971,2117,1744],function(){return e(e.s=77403)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/teams/page-daafc87d448ac474.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/teams/page-daafc87d448ac474.js new file mode 100644 index 0000000000..375a99f814 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/teams/page-daafc87d448ac474.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9483],{11478:function(e,s,a){Promise.resolve().then(a.bind(a,67578))},40728:function(e,s,a){"use strict";a.d(s,{C:function(){return l.Z},x:function(){return t.Z}});var l=a(41649),t=a(84264)},88913:function(e,s,a){"use strict";a.d(s,{Dx:function(){return c.Z},Zb:function(){return t.Z},iz:function(){return r.Z},oi:function(){return i.Z},xv:function(){return n.Z},zx:function(){return l.Z}});var l=a(78489),t=a(12514),r=a(67982),n=a(84264),i=a(49566),c=a(96761)},25512:function(e,s,a){"use strict";a.d(s,{P:function(){return l.Z},Q:function(){return t.Z}});var l=a(27281),t=a(57365)},11318:function(e,s,a){"use strict";a.d(s,{Z:function(){return i}});var l=a(2265),t=a(39760),r=a(19250);let n=async(e,s,a,l)=>"Admin"!=a&&"Admin Viewer"!=a?await (0,r.teamListCall)(e,(null==l?void 0:l.organization_id)||null,s):await (0,r.teamListCall)(e,(null==l?void 0:l.organization_id)||null);var i=()=>{let[e,s]=(0,l.useState)([]),{accessToken:a,userId:r,userRole:i}=(0,t.Z)();return(0,l.useEffect)(()=>{(async()=>{s(await n(a,r,i,null))})()},[a,r,i]),{teams:e,setTeams:s}}},67578:function(e,s,a){"use strict";a.r(s),a.d(s,{default:function(){return eb}});var l=a(57437),t=a(2265),r=a(19250),n=a(39210),i=a(10032),c=a(33293),o=a(88904),d=a(20347),m=a(78489),x=a(12514),u=a(49804),h=a(67101),g=a(29706),p=a(84264),j=a(918),f=a(59872),b=a(47323),v=a(12485),y=a(18135),_=a(35242),N=a(77991),w=a(23628),Z=e=>{let{lastRefreshed:s,onRefresh:a,userRole:t,children:r}=e;return(0,l.jsxs)(y.Z,{className:"gap-2 h-[75vh] w-full",children:[(0,l.jsxs)(_.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(v.Z,{children:"Your Teams"}),(0,l.jsx)(v.Z,{children:"Available Teams"}),(0,d.tY)(t||"")&&(0,l.jsx)(v.Z,{children:"Default Team Settings"})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[s&&(0,l.jsxs)(p.Z,{children:["Last Refreshed: ",s]}),(0,l.jsx)(b.Z,{icon:w.Z,variant:"shadow",size:"xs",className:"self-center",onClick:a})]})]}),(0,l.jsx)(N.Z,{children:r})]})},C=a(25512),S=e=>{let{filters:s,organizations:a,showFilters:t,onToggleFilters:r,onChange:n,onReset:i}=e;return(0,l.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,l.jsxs)("div",{className:"relative w-64",children:[(0,l.jsx)("input",{type:"text",placeholder:"Search by Team Name...",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:s.team_alias,onChange:e=>n("team_alias",e.target.value)}),(0,l.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,l.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 ".concat(t?"bg-gray-100":""),onClick:()=>r(!t),children:[(0,l.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"})}),"Filters",(s.team_id||s.team_alias||s.organization_id)&&(0,l.jsx)("span",{className:"w-2 h-2 rounded-full bg-blue-500"})]}),(0,l.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",onClick:i,children:[(0,l.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),"Reset Filters"]})]}),t&&(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-3",children:[(0,l.jsxs)("div",{className:"relative w-64",children:[(0,l.jsx)("input",{type:"text",placeholder:"Enter Team ID",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:s.team_id,onChange:e=>n("team_id",e.target.value)}),(0,l.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})]}),(0,l.jsx)("div",{className:"w-64",children:(0,l.jsx)(C.P,{value:s.organization_id||"",onValueChange:e=>n("organization_id",e),placeholder:"Select Organization",children:null==a?void 0:a.map(e=>(0,l.jsx)(C.Q,{value:e.organization_id||"",children:e.organization_alias||e.organization_id},e.organization_id))})})]})]})},k=a(39760),A=e=>{let{currentOrg:s,setTeams:a}=e,[l,r]=(0,t.useState)(""),{accessToken:i,userId:c,userRole:o}=(0,k.Z)(),d=(0,t.useCallback)(()=>{r(new Date().toLocaleString())},[]);return(0,t.useEffect)(()=>{i&&(0,n.Z)(i,c,o,s,a).then(),d()},[i,s,l,d,a,c,o]),{lastRefreshed:l,setLastRefreshed:r,onRefreshClick:d}},T=a(21626),M=a(97214),z=a(28241),E=a(58834),F=a(69552),L=a(71876),P=a(99981),D=a(53410),I=a(74998),O=a(41649),V=a(86462),R=a(47686),B=a(46468),W=e=>{let{team:s}=e,[a,r]=(0,t.useState)(!1);return(0,l.jsx)(z.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},className:s.models.length>3?"px-0":"",children:(0,l.jsx)("div",{className:"flex flex-col",children:Array.isArray(s.models)?(0,l.jsx)("div",{className:"flex flex-col",children:0===s.models.length?(0,l.jsx)(O.Z,{size:"xs",className:"mb-1",color:"red",children:(0,l.jsx)(p.Z,{children:"All Proxy Models"})}):(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"flex items-start",children:[s.models.length>3&&(0,l.jsx)("div",{children:(0,l.jsx)(b.Z,{icon:a?V.Z:R.Z,className:"cursor-pointer",size:"xs",onClick:()=>{r(e=>!e)}})}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-1",children:[s.models.slice(0,3).map((e,s)=>"all-proxy-models"===e?(0,l.jsx)(O.Z,{size:"xs",color:"red",children:(0,l.jsx)(p.Z,{children:"All Proxy Models"})},s):(0,l.jsx)(O.Z,{size:"xs",color:"blue",children:(0,l.jsx)(p.Z,{children:e.length>30?"".concat((0,B.W0)(e).slice(0,30),"..."):(0,B.W0)(e)})},s)),s.models.length>3&&!a&&(0,l.jsx)(O.Z,{size:"xs",color:"gray",className:"cursor-pointer",children:(0,l.jsxs)(p.Z,{children:["+",s.models.length-3," ",s.models.length-3==1?"more model":"more models"]})}),a&&(0,l.jsx)("div",{className:"flex flex-wrap gap-1",children:s.models.slice(3).map((e,s)=>"all-proxy-models"===e?(0,l.jsx)(O.Z,{size:"xs",color:"red",children:(0,l.jsx)(p.Z,{children:"All Proxy Models"})},s+3):(0,l.jsx)(O.Z,{size:"xs",color:"blue",children:(0,l.jsx)(p.Z,{children:e.length>30?"".concat((0,B.W0)(e).slice(0,30),"..."):(0,B.W0)(e)})},s+3))})]})]})})}):null})})},U=a(88906),G=a(92369),J=e=>{let s="inline-flex items-center px-2.5 py-0.5 rounded-md text-xs font-medium border";return"admin"===e?(0,l.jsxs)("span",{className:s,style:{backgroundColor:"#EEF2FF",color:"#3730A3",borderColor:"#C7D2FE"},children:[(0,l.jsx)(U.Z,{className:"h-3 w-3 mr-1"}),"Admin"]}):(0,l.jsxs)("span",{className:s,style:{backgroundColor:"#F3F4F6",color:"#4B5563",borderColor:"#E5E7EB"},children:[(0,l.jsx)(G.Z,{className:"h-3 w-3 mr-1"}),"Member"]})};let Q=(e,s)=>{var a,l;if(!s)return null;let t=null===(a=e.members_with_roles)||void 0===a?void 0:a.find(e=>e.user_id===s);return null!==(l=null==t?void 0:t.role)&&void 0!==l?l:null};var q=e=>{let{team:s,userId:a}=e,t=J(Q(s,a));return(0,l.jsx)(z.Z,{children:t})},X=e=>{let{teams:s,currentOrg:a,setSelectedTeamId:t,perTeamInfo:r,userRole:n,userId:i,setEditTeam:c,onDeleteTeam:o}=e;return(0,l.jsxs)(T.Z,{children:[(0,l.jsx)(E.Z,{children:(0,l.jsxs)(L.Z,{children:[(0,l.jsx)(F.Z,{children:"Team Name"}),(0,l.jsx)(F.Z,{children:"Team ID"}),(0,l.jsx)(F.Z,{children:"Created"}),(0,l.jsx)(F.Z,{children:"Spend (USD)"}),(0,l.jsx)(F.Z,{children:"Budget (USD)"}),(0,l.jsx)(F.Z,{children:"Models"}),(0,l.jsx)(F.Z,{children:"Organization"}),(0,l.jsx)(F.Z,{children:"Your Role"}),(0,l.jsx)(F.Z,{children:"Info"})]})}),(0,l.jsx)(M.Z,{children:s&&s.length>0?s.filter(e=>!a||e.organization_id===a.organization_id).sort((e,s)=>new Date(s.created_at).getTime()-new Date(e.created_at).getTime()).map(e=>(0,l.jsxs)(L.Z,{children:[(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,l.jsx)(z.Z,{children:(0,l.jsx)("div",{className:"overflow-hidden",children:(0,l.jsx)(P.Z,{title:e.team_id,children:(0,l.jsxs)(m.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>{t(e.team_id)},children:[e.team_id.slice(0,7),"..."]})})})}),(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.created_at?new Date(e.created_at).toLocaleDateString():"N/A"}),(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,f.pw)(e.spend,4)}),(0,l.jsx)(z.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,l.jsx)(W,{team:e}),(0,l.jsx)(z.Z,{children:e.organization_id}),(0,l.jsx)(q,{team:e,userId:i}),(0,l.jsxs)(z.Z,{children:[(0,l.jsxs)(p.Z,{children:[r&&e.team_id&&r[e.team_id]&&r[e.team_id].keys&&r[e.team_id].keys.length," ","Keys"]}),(0,l.jsxs)(p.Z,{children:[r&&e.team_id&&r[e.team_id]&&r[e.team_id].team_info&&r[e.team_id].team_info.members_with_roles&&r[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,l.jsx)(z.Z,{children:"Admin"==n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b.Z,{icon:D.Z,size:"sm",onClick:()=>{t(e.team_id),c(!0)}}),(0,l.jsx)(b.Z,{onClick:()=>o(e.team_id),icon:I.Z,size:"sm"})]}):null})]},e.team_id)):null})]})},Y=a(32489),K=a(76865),H=e=>{var s;let{teams:a,teamToDelete:r,onCancel:n,onConfirm:i}=e,[c,o]=(0,t.useState)(""),d=null==a?void 0:a.find(e=>e.team_id===r),m=(null==d?void 0:d.team_alias)||"",x=(null==d?void 0:null===(s=d.keys)||void 0===s?void 0:s.length)||0,u=c===m;return(0,l.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,l.jsxs)("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-2xl min-h-[380px] py-6 overflow-hidden transform transition-all flex flex-col justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200",children:[(0,l.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Delete Team"}),(0,l.jsx)("button",{onClick:()=>{n(),o("")},className:"text-gray-400 hover:text-gray-500 focus:outline-none",children:(0,l.jsx)(Y.Z,{size:20})})]}),(0,l.jsxs)("div",{className:"px-6 py-4",children:[x>0&&(0,l.jsxs)("div",{className:"flex items-start gap-3 p-4 bg-red-50 border border-red-100 rounded-md mb-5",children:[(0,l.jsx)("div",{className:"text-red-500 mt-0.5",children:(0,l.jsx)(K.Z,{size:20})}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-base font-medium text-red-600",children:["Warning: This team has ",x," associated key",x>1?"s":"","."]}),(0,l.jsx)("p",{className:"text-base text-red-600 mt-2",children:"Deleting the team will also delete all associated keys. This action is irreversible."})]})]}),(0,l.jsx)("p",{className:"text-base text-gray-600 mb-5",children:"Are you sure you want to force delete this team and all its keys?"}),(0,l.jsxs)("div",{className:"mb-5",children:[(0,l.jsxs)("label",{className:"block text-base font-medium text-gray-700 mb-2",children:["Type ",(0,l.jsx)("span",{className:"underline",children:m})," to confirm deletion:"]}),(0,l.jsx)("input",{type:"text",value:c,onChange:e=>o(e.target.value),placeholder:"Enter team name exactly",className:"w-full px-4 py-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-base",autoFocus:!0})]})]})]}),(0,l.jsxs)("div",{className:"px-6 py-4 bg-gray-50 flex justify-end gap-4",children:[(0,l.jsx)("button",{onClick:()=>{n(),o("")},className:"px-5 py-3 bg-white border border-gray-300 rounded-md text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:"Cancel"}),(0,l.jsx)("button",{onClick:i,disabled:!u,className:"px-5 py-3 rounded-md text-base font-medium text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 ".concat(u?"bg-red-600 hover:bg-red-700":"bg-red-300 cursor-not-allowed"),children:"Force Delete"})]})]})})},$=a(22116),ee=a(37592),es=a(4260),ea=a(63709),el=a(5545),et=a(26210),er=a(15424),en=a(24199),ei=a(97415),ec=a(95920),eo=a(82586),ed=a(2597),em=a(72885),ex=a(9114),eu=a(68473);let eh=(e,s)=>{let a=[];return e&&e.models.length>0?(console.log("organization.models: ".concat(e.models)),a=e.models):a=s,(0,B.Ob)(a,s)};var eg=e=>{let{isTeamModalVisible:s,handleOk:a,handleCancel:n,currentOrg:c,organizations:o,teams:d,setTeams:m,modelAliases:x,setModelAliases:u,loggingSettings:h,setLoggingSettings:g,setIsTeamModalVisible:p}=e,{userId:j,userRole:f,accessToken:b,premiumUser:v}=(0,k.Z)(),[y]=i.Z.useForm(),[_,N]=(0,t.useState)([]),[w,Z]=(0,t.useState)(null),[C,S]=(0,t.useState)([]),[A,T]=(0,t.useState)([]),[M,z]=(0,t.useState)([]),[E,F]=(0,t.useState)(!1);(0,t.useEffect)(()=>{(async()=>{try{if(null===j||null===f||null===b)return;let e=await (0,B.K2)(j,f,b);e&&N(e)}catch(e){console.error("Error fetching user models:",e)}})()},[b,j,f,d]),(0,t.useEffect)(()=>{console.log("currentOrgForCreateTeam: ".concat(w));let e=eh(w,_);console.log("models: ".concat(e)),S(e),y.setFieldValue("models",[])},[w,_,y]);let L=async()=>{try{if(null==b)return;let e=await (0,r.fetchMCPAccessGroups)(b);z(e)}catch(e){console.error("Failed to fetch MCP access groups:",e)}};(0,t.useEffect)(()=>{L()},[b,L]),(0,t.useEffect)(()=>{(async()=>{try{if(null==b)return;let e=(await (0,r.getGuardrailsList)(b)).guardrails.map(e=>e.guardrail_name);T(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[b]);let D=async e=>{try{if(console.log("formValues: ".concat(JSON.stringify(e))),null!=b){var s,a,l;let t=null==e?void 0:e.team_alias,n=null!==(l=null==d?void 0:d.map(e=>e.team_alias))&&void 0!==l?l:[],i=(null==e?void 0:e.organization_id)||(null==c?void 0:c.organization_id);if(""===i||"string"!=typeof i?e.organization_id=null:e.organization_id=i.trim(),n.includes(t))throw Error("Team alias ".concat(t," already exists, please pick another alias"));if(ex.Z.info("Creating Team"),h.length>0){let s={};if(e.metadata)try{s=JSON.parse(e.metadata)}catch(e){console.warn("Invalid JSON in metadata field, starting with empty object")}s={...s,logging:h.filter(e=>e.callback_name)},e.metadata=JSON.stringify(s)}if(e.secret_manager_settings&&"string"==typeof e.secret_manager_settings){if(""===e.secret_manager_settings.trim())delete e.secret_manager_settings;else try{e.secret_manager_settings=JSON.parse(e.secret_manager_settings)}catch(e){throw Error("Failed to parse secret manager settings: "+e)}}if(e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0||e.allowed_mcp_servers_and_groups&&((null===(s=e.allowed_mcp_servers_and_groups.servers)||void 0===s?void 0:s.length)>0||(null===(a=e.allowed_mcp_servers_and_groups.accessGroups)||void 0===a?void 0:a.length)>0||e.allowed_mcp_servers_and_groups.toolPermissions)){if(e.object_permission={},e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0&&(e.object_permission.vector_stores=e.allowed_vector_store_ids,delete e.allowed_vector_store_ids),e.allowed_mcp_servers_and_groups){let{servers:s,accessGroups:a}=e.allowed_mcp_servers_and_groups;s&&s.length>0&&(e.object_permission.mcp_servers=s),a&&a.length>0&&(e.object_permission.mcp_access_groups=a),delete e.allowed_mcp_servers_and_groups}if(e.mcp_tool_permissions&&Object.keys(e.mcp_tool_permissions).length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_tool_permissions=e.mcp_tool_permissions,delete e.mcp_tool_permissions),e.allowed_agents_and_groups){let{agents:s,accessGroups:a}=e.allowed_agents_and_groups;e.object_permission||(e.object_permission={}),s&&s.length>0&&(e.object_permission.agents=s),a&&a.length>0&&(e.object_permission.agent_access_groups=a),delete e.allowed_agents_and_groups}}e.allowed_mcp_access_groups&&e.allowed_mcp_access_groups.length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_access_groups=e.allowed_mcp_access_groups,delete e.allowed_mcp_access_groups),Object.keys(x).length>0&&(e.model_aliases=x);let o=await (0,r.teamCreateCall)(b,e);null!==d?m([...d,o]):m([o]),console.log("response for team create call: ".concat(o)),ex.Z.success("Team created"),y.resetFields(),g([]),u({}),p(!1)}}catch(e){console.error("Error creating the team:",e),ex.Z.fromBackend("Error creating the team: "+e)}};return(0,l.jsx)($.Z,{title:"Create Team",open:s,width:1e3,footer:null,onOk:a,onCancel:n,children:(0,l.jsxs)(i.Z,{form:y,onFinish:D,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,l.jsx)(et.oi,{placeholder:""})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Organization"," ",(0,l.jsx)(P.Z,{title:(0,l.jsxs)("span",{children:["Organizations can have multiple teams. Learn more about"," ",(0,l.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/user_management_heirarchy",target:"_blank",rel:"noopener noreferrer",style:{color:"#1890ff",textDecoration:"underline"},onClick:e=>e.stopPropagation(),children:"user management hierarchy"})]}),children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"organization_id",initialValue:c?c.organization_id:null,className:"mt-8",children:(0,l.jsx)(ee.default,{showSearch:!0,allowClear:!0,placeholder:"Search or select an Organization",onChange:e=>{y.setFieldValue("organization_id",e),Z((null==o?void 0:o.find(s=>s.organization_id===e))||null)},filterOption:(e,s)=>{var a;return!!s&&((null===(a=s.children)||void 0===a?void 0:a.toString())||"").toLowerCase().includes(e.toLowerCase())},optionFilterProp:"children",children:null==o?void 0:o.map(e=>(0,l.jsxs)(ee.default.Option,{value:e.organization_id,children:[(0,l.jsx)("span",{className:"font-medium",children:e.organization_alias})," ",(0,l.jsxs)("span",{className:"text-gray-500",children:["(",e.organization_id,")"]})]},e.organization_id))})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Models"," ",(0,l.jsx)(P.Z,{title:"These are the models that your selected team has access to",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"models",children:(0,l.jsxs)(ee.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,l.jsx)(ee.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),C.map(e=>(0,l.jsx)(ee.default.Option,{value:e,children:(0,B.W0)(e)},e))]})}),(0,l.jsx)(i.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,l.jsx)(en.Z,{step:.01,precision:2,width:200})}),(0,l.jsx)(i.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,l.jsxs)(ee.default,{defaultValue:null,placeholder:"n/a",children:[(0,l.jsx)(ee.default.Option,{value:"24h",children:"daily"}),(0,l.jsx)(ee.default.Option,{value:"7d",children:"weekly"}),(0,l.jsx)(ee.default.Option,{value:"30d",children:"monthly"})]})}),(0,l.jsx)(i.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsx)(i.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsxs)(et.UQ,{className:"mt-20 mb-8",onClick:()=>{E||(L(),F(!0))},children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Additional Settings"})}),(0,l.jsxs)(et.X1,{children:[(0,l.jsx)(i.Z.Item,{label:"Team ID",name:"team_id",help:"ID of the team you want to create. If not provided, it will be generated automatically.",children:(0,l.jsx)(et.oi,{onChange:e=>{e.target.value=e.target.value.trim()}})}),(0,l.jsx)(i.Z.Item,{label:"Team Member Budget (USD)",name:"team_member_budget",normalize:e=>e?Number(e):void 0,tooltip:"This is the individual budget for a user in the team.",children:(0,l.jsx)(en.Z,{step:.01,precision:2,width:200})}),(0,l.jsx)(i.Z.Item,{label:"Team Member Key Duration (eg: 1d, 1mo)",name:"team_member_key_duration",tooltip:"Set a limit to the duration of a team member's key. Format: 30s (seconds), 30m (minutes), 30h (hours), 30d (days), 1mo (month)",children:(0,l.jsx)(et.oi,{placeholder:"e.g., 30d"})}),(0,l.jsx)(i.Z.Item,{label:"Team Member RPM Limit",name:"team_member_rpm_limit",tooltip:"The RPM (Requests Per Minute) limit for individual team members",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsx)(i.Z.Item,{label:"Team Member TPM Limit",name:"team_member_tpm_limit",tooltip:"The TPM (Tokens Per Minute) limit for individual team members",children:(0,l.jsx)(en.Z,{step:1,width:400})}),(0,l.jsx)(i.Z.Item,{label:"Metadata",name:"metadata",help:"Additional team metadata. Enter metadata as JSON object.",children:(0,l.jsx)(es.default.TextArea,{rows:4})}),(0,l.jsx)(i.Z.Item,{label:"Secret Manager Settings",name:"secret_manager_settings",help:v?"Enter secret manager configuration as a JSON object.":"Premium feature - Upgrade to manage secret manager settings.",rules:[{validator:async(e,s)=>{if(!s)return Promise.resolve();try{return JSON.parse(s),Promise.resolve()}catch(e){return Promise.reject(Error("Please enter valid JSON"))}}}],children:(0,l.jsx)(es.default.TextArea,{rows:4,placeholder:'{"namespace": "admin", "mount": "secret", "path_prefix": "litellm"}',disabled:!v})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Guardrails"," ",(0,l.jsx)(P.Z,{title:"Setup your first guardrail",children:(0,l.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",className:"mt-8",help:"Select existing guardrails or enter new ones",children:(0,l.jsx)(ee.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter guardrails",options:A.map(e=>({value:e,label:e}))})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,l.jsx)(P.Z,{title:"When enabled, this team will bypass any guardrails configured to run on every request (global guardrails)",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",className:"mt-4",valuePropName:"checked",help:"Bypass global guardrails for this team",children:(0,l.jsx)(ea.Z,{checkedChildren:"Yes",unCheckedChildren:"No"})}),(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Allowed Vector Stores"," ",(0,l.jsx)(P.Z,{title:"Select which vector stores this team can access by default. Leave empty for access to all vector stores",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_vector_store_ids",className:"mt-8",help:"Select vector stores this team can access. Leave empty for access to all vector stores",children:(0,l.jsx)(ei.Z,{onChange:e=>y.setFieldValue("allowed_vector_store_ids",e),value:y.getFieldValue("allowed_vector_store_ids"),accessToken:b||"",placeholder:"Select vector stores (optional)"})})]})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"MCP Settings"})}),(0,l.jsxs)(et.X1,{children:[(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Allowed MCP Servers"," ",(0,l.jsx)(P.Z,{title:"Select which MCP servers or access groups this team can access",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_mcp_servers_and_groups",className:"mt-4",help:"Select MCP servers or access groups this team can access",children:(0,l.jsx)(ec.Z,{onChange:e=>y.setFieldValue("allowed_mcp_servers_and_groups",e),value:y.getFieldValue("allowed_mcp_servers_and_groups"),accessToken:b||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,l.jsx)(i.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,l.jsx)(es.default,{type:"hidden"})}),(0,l.jsx)(i.Z.Item,{noStyle:!0,shouldUpdate:(e,s)=>e.allowed_mcp_servers_and_groups!==s.allowed_mcp_servers_and_groups||e.mcp_tool_permissions!==s.mcp_tool_permissions,children:()=>{var e;return(0,l.jsx)("div",{className:"mt-6",children:(0,l.jsx)(eu.Z,{accessToken:b||"",selectedServers:(null===(e=y.getFieldValue("allowed_mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:y.getFieldValue("mcp_tool_permissions")||{},onChange:e=>y.setFieldsValue({mcp_tool_permissions:e})})})}})]})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Agent Settings"})}),(0,l.jsx)(et.X1,{children:(0,l.jsx)(i.Z.Item,{label:(0,l.jsxs)("span",{children:["Allowed Agents"," ",(0,l.jsx)(P.Z,{title:"Select which agents or access groups this team can access",children:(0,l.jsx)(er.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_agents_and_groups",className:"mt-4",help:"Select agents or access groups this team can access",children:(0,l.jsx)(eo.Z,{onChange:e=>y.setFieldValue("allowed_agents_and_groups",e),value:y.getFieldValue("allowed_agents_and_groups"),accessToken:b||"",placeholder:"Select agents or access groups (optional)"})})})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Logging Settings"})}),(0,l.jsx)(et.X1,{children:(0,l.jsx)("div",{className:"mt-4",children:(0,l.jsx)(ed.Z,{value:h,onChange:g,premiumUser:v})})})]}),(0,l.jsxs)(et.UQ,{className:"mt-8 mb-8",children:[(0,l.jsx)(et._m,{children:(0,l.jsx)("b",{children:"Model Aliases"})}),(0,l.jsx)(et.X1,{children:(0,l.jsxs)("div",{className:"mt-4",children:[(0,l.jsx)(et.xv,{className:"text-sm text-gray-600 mb-4",children:"Create custom aliases for models that can be used by team members in API calls. This allows you to create shortcuts for specific models."}),(0,l.jsx)(em.Z,{accessToken:b||"",initialModelAliases:x,onAliasUpdate:u,showExampleConfig:!1})]})})]})]}),(0,l.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,l.jsx)(el.ZP,{htmlType:"submit",children:"Create Team"})})]})})},ep=e=>{let{teams:s,accessToken:a,setTeams:b,userID:v,userRole:y,organizations:_,premiumUser:N=!1}=e,[w,C]=(0,t.useState)(null),[k,T]=(0,t.useState)(!1),[M,z]=(0,t.useState)({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"}),[E]=i.Z.useForm(),[F]=i.Z.useForm(),[L,P]=(0,t.useState)(null),[D,I]=(0,t.useState)(!1),[O,V]=(0,t.useState)(!1),[R,B]=(0,t.useState)(!1),[W,U]=(0,t.useState)(!1),[G,J]=(0,t.useState)([]),[Q,q]=(0,t.useState)(!1),[Y,K]=(0,t.useState)(null),[$,ee]=(0,t.useState)({}),[es,ea]=(0,t.useState)([]),[el,et]=(0,t.useState)({}),{lastRefreshed:er,onRefreshClick:en}=A({currentOrg:w,setTeams:b});(0,t.useEffect)(()=>{s&&ee(s.reduce((e,s)=>(e[s.team_id]={keys:s.keys||[],team_info:{members_with_roles:s.members_with_roles||[]}},e),{}))},[s]);let ei=async e=>{K(e),q(!0)},ec=async()=>{if(null!=Y&&null!=s&&null!=a){try{await (0,r.teamDeleteCall)(a,Y),(0,n.Z)(a,v,y,w,b)}catch(e){console.error("Error deleting the team:",e)}q(!1),K(null)}};return(0,l.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,l.jsx)(h.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,l.jsxs)(u.Z,{numColSpan:1,className:"flex flex-col gap-2",children:[("Admin"==y||"Org Admin"==y)&&(0,l.jsx)(m.Z,{className:"w-fit",onClick:()=>V(!0),children:"+ Create New Team"}),L?(0,l.jsx)(c.Z,{teamId:L,onUpdate:e=>{b(s=>{if(null==s)return s;let l=s.map(s=>e.team_id===s.team_id?(0,f.nl)(s,e):s);return a&&(0,n.Z)(a,v,y,w,b),l})},onClose:()=>{P(null),I(!1)},accessToken:a,is_team_admin:(e=>{if(null==e||null==e.members_with_roles)return!1;for(let s=0;se.team_id===L)),is_proxy_admin:"Admin"==y,userModels:G,editTeam:D,premiumUser:N}):(0,l.jsxs)(Z,{lastRefreshed:er,onRefresh:en,userRole:y,children:[(0,l.jsxs)(g.Z,{children:[(0,l.jsxs)(p.Z,{children:["Click on “Team ID” to view team details ",(0,l.jsx)("b",{children:"and"})," manage team members."]}),(0,l.jsx)(h.Z,{numItems:1,className:"gap-2 pt-2 pb-2 h-[75vh] w-full mt-2",children:(0,l.jsx)(u.Z,{numColSpan:1,children:(0,l.jsxs)(x.Z,{className:"w-full mx-auto flex-auto overflow-hidden overflow-y-auto max-h-[50vh]",children:[(0,l.jsx)("div",{className:"border-b px-6 py-4",children:(0,l.jsx)("div",{className:"flex flex-col space-y-4",children:(0,l.jsx)(S,{filters:M,organizations:_,showFilters:k,onToggleFilters:T,onChange:(e,s)=>{let l={...M,[e]:s};z(l),a&&(0,r.v2TeamListCall)(a,l.organization_id||null,null,l.team_id||null,l.team_alias||null).then(e=>{e&&e.teams&&b(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})},onReset:()=>{z({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"}),a&&(0,r.v2TeamListCall)(a,null,v||null,null,null).then(e=>{e&&e.teams&&b(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})}})})}),(0,l.jsx)(X,{teams:s,currentOrg:w,perTeamInfo:$,userRole:y,userId:v,setSelectedTeamId:P,setEditTeam:I,onDeleteTeam:ei}),Q&&(0,l.jsx)(H,{teams:s,teamToDelete:Y,onCancel:()=>{q(!1),K(null)},onConfirm:ec})]})})})]}),(0,l.jsx)(g.Z,{children:(0,l.jsx)(j.Z,{accessToken:a,userID:v})}),(0,d.tY)(y||"")&&(0,l.jsx)(g.Z,{children:(0,l.jsx)(o.Z,{accessToken:a,userID:v||"",userRole:y||""})})]}),("Admin"==y||"Org Admin"==y)&&(0,l.jsx)(eg,{isTeamModalVisible:O,handleOk:()=>{V(!1),E.resetFields(),ea([]),et({})},handleCancel:()=>{V(!1),E.resetFields(),ea([]),et({})},currentOrg:w,organizations:_,teams:s,setTeams:b,modelAliases:el,setModelAliases:et,loggingSettings:es,setLoggingSettings:ea,setIsTeamModalVisible:V})]})})})},ej=a(11318),ef=a(22004),eb=()=>{let{accessToken:e,userId:s,userRole:a}=(0,k.Z)(),{teams:r,setTeams:n}=(0,ej.Z)(),[i,c]=(0,t.useState)([]);return(0,t.useEffect)(()=>{(0,ef.g)(e,c).then(()=>{})},[e]),(0,l.jsx)(ep,{teams:r,accessToken:e,setTeams:n,userID:s,userRole:a,organizations:i})}},88904:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(88913),n=a(57840),i=a(37592),c=a(63709),o=a(10353),d=a(19250),m=a(65925),x=a(46468),u=a(9114);s.Z=e=>{var s;let{accessToken:a,userID:h,userRole:g}=e,[p,j]=(0,t.useState)(!0),[f,b]=(0,t.useState)(null),[v,y]=(0,t.useState)(!1),[_,N]=(0,t.useState)({}),[w,Z]=(0,t.useState)(!1),[C,S]=(0,t.useState)([]),{Paragraph:k}=n.default,{Option:A}=i.default;(0,t.useEffect)(()=>{(async()=>{if(!a){j(!1);return}try{let e=await (0,d.getDefaultTeamSettings)(a);if(b(e),N(e.values||{}),a)try{let e=await (0,d.modelAvailableCall)(a,h,g);if(e&&e.data){let s=e.data.map(e=>e.id);S(s)}}catch(e){console.error("Error fetching available models:",e)}}catch(e){console.error("Error fetching team SSO settings:",e),u.Z.fromBackend("Failed to fetch team settings")}finally{j(!1)}})()},[a]);let T=async()=>{if(a){Z(!0);try{let e=await (0,d.updateDefaultTeamSettings)(a,_);b({...f,values:e.settings}),y(!1),u.Z.success("Default team settings updated successfully")}catch(e){console.error("Error updating team settings:",e),u.Z.fromBackend("Failed to update team settings")}finally{Z(!1)}}},M=(e,s)=>{N(a=>({...a,[e]:s}))},z=(e,s,a)=>{var t;let n=s.type;return"budget_duration"===e?(0,l.jsx)(m.Z,{value:_[e]||null,onChange:s=>M(e,s),className:"mt-2"}):"boolean"===n?(0,l.jsx)("div",{className:"mt-2",children:(0,l.jsx)(c.Z,{checked:!!_[e],onChange:s=>M(e,s)})}):"array"===n&&(null===(t=s.items)||void 0===t?void 0:t.enum)?(0,l.jsx)(i.default,{mode:"multiple",style:{width:"100%"},value:_[e]||[],onChange:s=>M(e,s),className:"mt-2",children:s.items.enum.map(e=>(0,l.jsx)(A,{value:e,children:e},e))}):"models"===e?(0,l.jsxs)(i.default,{mode:"multiple",style:{width:"100%"},value:_[e]||[],onChange:s=>M(e,s),className:"mt-2",children:[(0,l.jsx)(A,{value:"no-default-models",children:"No Default Models"},"no-default-models"),C.map(e=>(0,l.jsx)(A,{value:e,children:(0,x.W0)(e)},e))]}):"string"===n&&s.enum?(0,l.jsx)(i.default,{style:{width:"100%"},value:_[e]||"",onChange:s=>M(e,s),className:"mt-2",children:s.enum.map(e=>(0,l.jsx)(A,{value:e,children:e},e))}):(0,l.jsx)(r.oi,{value:void 0!==_[e]?String(_[e]):"",onChange:s=>M(e,s.target.value),placeholder:s.description||"",className:"mt-2"})},E=(e,s)=>null==s?(0,l.jsx)("span",{className:"text-gray-400",children:"Not set"}):"budget_duration"===e?(0,l.jsx)("span",{children:(0,m.m)(s)}):"boolean"==typeof s?(0,l.jsx)("span",{children:s?"Enabled":"Disabled"}):"models"===e&&Array.isArray(s)?0===s.length?(0,l.jsx)("span",{className:"text-gray-400",children:"None"}):(0,l.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:s.map((e,s)=>(0,l.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:(0,x.W0)(e)},s))}):"object"==typeof s?Array.isArray(s)?0===s.length?(0,l.jsx)("span",{className:"text-gray-400",children:"None"}):(0,l.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:s.map((e,s)=>(0,l.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:"object"==typeof e?JSON.stringify(e):String(e)},s))}):(0,l.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(s,null,2)}):(0,l.jsx)("span",{children:String(s)});return p?(0,l.jsx)("div",{className:"flex justify-center items-center h-64",children:(0,l.jsx)(o.Z,{size:"large"})}):f?(0,l.jsxs)(r.Zb,{children:[(0,l.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,l.jsx)(r.Dx,{className:"text-xl",children:"Default Team Settings"}),!p&&f&&(v?(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(r.zx,{variant:"secondary",onClick:()=>{y(!1),N(f.values||{})},disabled:w,children:"Cancel"}),(0,l.jsx)(r.zx,{onClick:T,loading:w,children:"Save Changes"})]}):(0,l.jsx)(r.zx,{onClick:()=>y(!0),children:"Edit Settings"}))]}),(0,l.jsx)(r.xv,{children:"These settings will be applied by default when creating new teams."}),(null==f?void 0:null===(s=f.field_schema)||void 0===s?void 0:s.description)&&(0,l.jsx)(k,{className:"mb-4 mt-2",children:f.field_schema.description}),(0,l.jsx)(r.iz,{}),(0,l.jsx)("div",{className:"mt-4 space-y-4",children:(()=>{let{values:e,field_schema:s}=f;return s&&s.properties?Object.entries(s.properties).map(s=>{let[a,t]=s,n=e[a],i=a.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase());return(0,l.jsxs)("div",{className:"mb-6 pb-6 border-b border-gray-200 last:border-0",children:[(0,l.jsx)(r.xv,{className:"font-medium text-lg",children:i}),(0,l.jsx)(k,{className:"text-sm text-gray-500 mt-1",children:t.description||"No description available"}),v?(0,l.jsx)("div",{className:"mt-2",children:z(a,t,n)}):(0,l.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:E(a,n)})]},a)}):(0,l.jsx)(r.xv,{children:"No schema information available"})})()})]}):(0,l.jsx)(r.Zb,{children:(0,l.jsx)(r.xv,{children:"No team settings available or you do not have permission to view them."})})}},72885:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(77355),n=a(93416),i=a(74998),c=a(95704),o=a(76593),d=a(9114);s.Z=e=>{let{accessToken:s,initialModelAliases:a={},onAliasUpdate:m,showExampleConfig:x=!0}=e,[u,h]=(0,t.useState)([]),[g,p]=(0,t.useState)({aliasName:"",targetModel:""}),[j,f]=(0,t.useState)(null);(0,t.useEffect)(()=>{h(Object.entries(a).map((e,s)=>{let[a,l]=e;return{id:"".concat(s,"-").concat(a),aliasName:a,targetModel:l}}))},[a]);let b=e=>{f({...e})},v=()=>{if(!j)return;if(!j.aliasName||!j.targetModel){d.Z.fromBackend("Please provide both alias name and target model");return}if(u.some(e=>e.id!==j.id&&e.aliasName===j.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=u.map(e=>e.id===j.id?j:e);h(e),f(null);let s={};e.forEach(e=>{s[e.aliasName]=e.targetModel}),m&&m(s),d.Z.success("Alias updated successfully")},y=()=>{f(null)},_=e=>{let s=u.filter(s=>s.id!==e);h(s);let a={};s.forEach(e=>{a[e.aliasName]=e.targetModel}),m&&m(a),d.Z.success("Alias deleted successfully")},N=u.reduce((e,s)=>(e[s.aliasName]=s.targetModel,e),{});return(0,l.jsxs)("div",{className:"mt-4",children:[(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsx)(c.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Add New Alias"}),(0,l.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Alias Name"}),(0,l.jsx)("input",{type:"text",value:g.aliasName,onChange:e=>p({...g,aliasName:e.target.value}),placeholder:"e.g., gpt-4o",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Target Model"}),(0,l.jsx)(o.Z,{accessToken:s,value:g.targetModel,placeholder:"Select target model",onChange:e=>p({...g,targetModel:e}),showLabel:!1})]}),(0,l.jsx)("div",{className:"flex items-end",children:(0,l.jsxs)("button",{onClick:()=>{if(!g.aliasName||!g.targetModel){d.Z.fromBackend("Please provide both alias name and target model");return}if(u.some(e=>e.aliasName===g.aliasName)){d.Z.fromBackend("An alias with this name already exists");return}let e=[...u,{id:"".concat(Date.now(),"-").concat(g.aliasName),aliasName:g.aliasName,targetModel:g.targetModel}];h(e),p({aliasName:"",targetModel:""});let s={};e.forEach(e=>{s[e.aliasName]=e.targetModel}),m&&m(s),d.Z.success("Alias added successfully")},disabled:!g.aliasName||!g.targetModel,className:"flex items-center px-4 py-2 rounded-md text-sm ".concat(g.aliasName&&g.targetModel?"bg-green-600 text-white hover:bg-green-700":"bg-gray-300 text-gray-500 cursor-not-allowed"),children:[(0,l.jsx)(r.Z,{className:"w-4 h-4 mr-1"}),"Add Alias"]})})]})]}),(0,l.jsx)(c.xv,{className:"text-sm font-medium text-gray-700 mb-2",children:"Manage Existing Aliases"}),(0,l.jsx)("div",{className:"rounded-lg custom-border relative mb-6",children:(0,l.jsx)("div",{className:"overflow-x-auto",children:(0,l.jsxs)(c.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,l.jsx)(c.ss,{children:(0,l.jsxs)(c.SC,{children:[(0,l.jsx)(c.xs,{className:"py-1 h-8",children:"Alias Name"}),(0,l.jsx)(c.xs,{className:"py-1 h-8",children:"Target Model"}),(0,l.jsx)(c.xs,{className:"py-1 h-8",children:"Actions"})]})}),(0,l.jsxs)(c.RM,{children:[u.map(e=>(0,l.jsx)(c.SC,{className:"h-8",children:j&&j.id===e.id?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.pj,{className:"py-0.5",children:(0,l.jsx)("input",{type:"text",value:j.aliasName,onChange:e=>f({...j,aliasName:e.target.value}),className:"w-full px-2 py-1 border border-gray-300 rounded-md text-sm"})}),(0,l.jsx)(c.pj,{className:"py-0.5",children:(0,l.jsx)(o.Z,{accessToken:s,value:j.targetModel,onChange:e=>f({...j,targetModel:e}),showLabel:!1,style:{height:"32px"}})}),(0,l.jsx)(c.pj,{className:"py-0.5 whitespace-nowrap",children:(0,l.jsxs)("div",{className:"flex space-x-2",children:[(0,l.jsx)("button",{onClick:v,className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:"Save"}),(0,l.jsx)("button",{onClick:y,className:"text-xs bg-gray-50 text-gray-600 px-2 py-1 rounded hover:bg-gray-100",children:"Cancel"})]})})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.pj,{className:"py-0.5 text-sm text-gray-900",children:e.aliasName}),(0,l.jsx)(c.pj,{className:"py-0.5 text-sm text-gray-500",children:e.targetModel}),(0,l.jsx)(c.pj,{className:"py-0.5 whitespace-nowrap",children:(0,l.jsxs)("div",{className:"flex space-x-2",children:[(0,l.jsx)("button",{onClick:()=>b(e),className:"text-xs bg-blue-50 text-blue-600 px-2 py-1 rounded hover:bg-blue-100",children:(0,l.jsx)(n.Z,{className:"w-3 h-3"})}),(0,l.jsx)("button",{onClick:()=>_(e.id),className:"text-xs bg-red-50 text-red-600 px-2 py-1 rounded hover:bg-red-100",children:(0,l.jsx)(i.Z,{className:"w-3 h-3"})})]})})]})},e.id)),0===u.length&&(0,l.jsx)(c.SC,{children:(0,l.jsx)(c.pj,{colSpan:3,className:"py-0.5 text-sm text-gray-500 text-center",children:"No aliases added yet. Add a new alias above."})})]})]})})}),x&&(0,l.jsxs)(c.Zb,{children:[(0,l.jsx)(c.Dx,{className:"mb-4",children:"Configuration Example"}),(0,l.jsx)(c.xv,{className:"text-gray-600 mb-4",children:"Here's how your current aliases would look in the config:"}),(0,l.jsx)("div",{className:"bg-gray-100 rounded-lg p-4 font-mono text-sm",children:(0,l.jsxs)("div",{className:"text-gray-700",children:["model_aliases:",0===Object.keys(N).length?(0,l.jsxs)("span",{className:"text-gray-500",children:[(0,l.jsx)("br",{}),"\xa0\xa0# No aliases configured yet"]}):Object.entries(N).map(e=>{let[s,a]=e;return(0,l.jsxs)("span",{children:[(0,l.jsx)("br",{}),'\xa0\xa0"',s,'": "',a,'"']},s)})]})})]})]})}},76593:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(56522),n=a(37592),i=a(69993),c=a(10703);s.Z=e=>{let{accessToken:s,value:a,placeholder:o="Select a Model",onChange:d,disabled:m=!1,style:x,className:u,showLabel:h=!0,labelText:g="Select Model"}=e,[p,j]=(0,t.useState)(a),[f,b]=(0,t.useState)(!1),[v,y]=(0,t.useState)([]),_=(0,t.useRef)(null);return(0,t.useEffect)(()=>{j(a)},[a]),(0,t.useEffect)(()=>{s&&(async()=>{try{let e=await (0,c.p)(s);console.log("Fetched models for selector:",e),e.length>0&&y(e)}catch(e){console.error("Error fetching model info:",e)}})()},[s]),(0,l.jsxs)("div",{children:[h&&(0,l.jsxs)(r.x,{className:"font-medium block mb-2 text-gray-700 flex items-center",children:[(0,l.jsx)(i.Z,{className:"mr-2"})," ",g]}),(0,l.jsx)(n.default,{value:p,placeholder:o,onChange:e=>{"custom"===e?(b(!0),j(void 0)):(b(!1),j(e),d&&d(e))},options:[...Array.from(new Set(v.map(e=>e.model_group))).map((e,s)=>({value:e,label:e,key:s})),{value:"custom",label:"Enter custom model",key:"custom"}],style:{width:"100%",...x},showSearch:!0,className:"rounded-md ".concat(u||""),disabled:m}),f&&(0,l.jsx)(r.o,{className:"mt-2",placeholder:"Enter custom model name",onValueChange:e=>{_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{j(e),d&&d(e)},500)},disabled:m})]})}},2597:function(e,s,a){"use strict";var l=a(57437);a(2265);var t=a(92280),r=a(54507);s.Z=function(e){let{value:s,onChange:a,premiumUser:n=!1,disabledCallbacks:i=[],onDisabledCallbacksChange:c}=e;return n?(0,l.jsx)(r.Z,{value:s,onChange:a,disabledCallbacks:i,onDisabledCallbacksChange:c}):(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex flex-wrap gap-2 mb-3",children:[(0,l.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-green-50 border border-green-200 text-green-800 text-sm font-medium opacity-50",children:"✨ langfuse-logging"}),(0,l.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-green-50 border border-green-200 text-green-800 text-sm font-medium opacity-50",children:"✨ datadog-logging"})]}),(0,l.jsx)("div",{className:"p-3 bg-yellow-50 border border-yellow-200 rounded-lg",children:(0,l.jsxs)(t.x,{className:"text-sm text-yellow-800",children:["Setting Key/Team logging settings is a LiteLLM Enterprise feature. Global Logging Settings are available for all free users. Get a trial key"," ",(0,l.jsx)("a",{href:"https://www.litellm.ai/#pricing",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"here"}),"."]})})]})}},65925:function(e,s,a){"use strict";a.d(s,{m:function(){return n}});var l=a(57437);a(2265);var t=a(37592);let{Option:r}=t.default,n=e=>e?({"24h":"daily","7d":"weekly","30d":"monthly"})[e]||e:"Not set";s.Z=e=>{let{value:s,onChange:a,className:n="",style:i={}}=e;return(0,l.jsxs)(t.default,{style:{width:"100%",...i},value:s||void 0,onChange:a,className:n,placeholder:"n/a",children:[(0,l.jsx)(r,{value:"24h",children:"daily"}),(0,l.jsx)(r,{value:"7d",children:"weekly"}),(0,l.jsx)(r,{value:"30d",children:"monthly"})]})}},39210:function(e,s,a){"use strict";a.d(s,{Z:function(){return t}});var l=a(19250);let t=async(e,s,a,t,r)=>{let n;n="Admin"!=a&&"Admin Viewer"!=a?await (0,l.teamListCall)(e,(null==t?void 0:t.organization_id)||null,s):await (0,l.teamListCall)(e,(null==t?void 0:t.organization_id)||null),console.log("givenTeams: ".concat(n)),r(n)}},27799:function(e,s,a){"use strict";var l=a(57437);a(2265);var t=a(40728),r=a(82182),n=a(91777),i=a(97434);s.Z=function(e){let{loggingConfigs:s=[],disabledCallbacks:a=[],variant:c="card",className:o=""}=e,d=e=>{var s;return(null===(s=Object.entries(i.Lo).find(s=>{let[a,l]=s;return l===e}))||void 0===s?void 0:s[0])||e},m=e=>{switch(e){case"success":return"green";case"failure":return"red";case"success_and_failure":return"blue";default:return"gray"}},x=e=>{switch(e){case"success":return"Success Only";case"failure":return"Failure Only";case"success_and_failure":return"Success & Failure";default:return e}},u=(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(r.Z,{className:"h-4 w-4 text-blue-600"}),(0,l.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Logging Integrations"}),(0,l.jsx)(t.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,l.jsx)("div",{className:"space-y-3",children:s.map((e,s)=>{var a;let n=d(e.callback_name),c=null===(a=i.Dg[n])||void 0===a?void 0:a.logo;return(0,l.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-blue-50 border border-blue-200",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[c?(0,l.jsx)("img",{src:c,alt:n,className:"w-5 h-5 object-contain"}):(0,l.jsx)(r.Z,{className:"h-5 w-5 text-gray-400"}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.x,{className:"font-medium text-blue-800",children:n}),(0,l.jsxs)(t.x,{className:"text-xs text-blue-600",children:[Object.keys(e.callback_vars).length," parameters configured"]})]})]}),(0,l.jsx)(t.C,{color:m(e.callback_type),size:"sm",children:x(e.callback_type)})]},s)})}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(r.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(t.x,{className:"text-gray-500 text-sm",children:"No logging integrations configured"})]})]}),(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(n.Z,{className:"h-4 w-4 text-red-600"}),(0,l.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Disabled Callbacks"}),(0,l.jsx)(t.C,{color:"red",size:"xs",children:a.length})]}),a.length>0?(0,l.jsx)("div",{className:"space-y-3",children:a.map((e,s)=>{var a;let r=i.RD[e]||e,c=null===(a=i.Dg[r])||void 0===a?void 0:a.logo;return(0,l.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-red-50 border border-red-200",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[c?(0,l.jsx)("img",{src:c,alt:r,className:"w-5 h-5 object-contain"}):(0,l.jsx)(n.Z,{className:"h-5 w-5 text-gray-400"}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.x,{className:"font-medium text-red-800",children:r}),(0,l.jsx)(t.x,{className:"text-xs text-red-600",children:"Disabled for this key"})]})]}),(0,l.jsx)(t.C,{color:"red",size:"sm",children:"Disabled"})]},s)})}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(n.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(t.x,{className:"text-gray-500 text-sm",children:"No callbacks disabled"})]})]})]});return"card"===c?(0,l.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(o),children:[(0,l.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(t.x,{className:"font-semibold text-gray-900",children:"Logging Settings"}),(0,l.jsx)(t.x,{className:"text-xs text-gray-500",children:"Active logging integrations and disabled callbacks for this key"})]})}),u]}):(0,l.jsxs)("div",{className:"".concat(o),children:[(0,l.jsx)(t.x,{className:"font-medium text-gray-900 mb-3",children:"Logging Settings"}),u]})}},60131:function(e,s,a){"use strict";a.d(s,{Z:function(){return j}});var l=a(57437),t=a(2265),r=a(92280),n=a(40728),i=a(79814),c=a(19250),o=function(e){let{vectorStores:s,accessToken:a}=e,[r,o]=(0,t.useState)([]);(0,t.useEffect)(()=>{(async()=>{if(a&&0!==s.length)try{let e=await (0,c.vectorStoreListCall)(a);e.data&&o(e.data.map(e=>({vector_store_id:e.vector_store_id,vector_store_name:e.vector_store_name})))}catch(e){console.error("Error fetching vector stores:",e)}})()},[a,s.length]);let d=e=>{let s=r.find(s=>s.vector_store_id===e);return s?"".concat(s.vector_store_name||s.vector_store_id," (").concat(s.vector_store_id,")"):e};return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(i.Z,{className:"h-4 w-4 text-blue-600"}),(0,l.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Vector Stores"}),(0,l.jsx)(n.C,{color:"blue",size:"xs",children:s.length})]}),s.length>0?(0,l.jsx)("div",{className:"flex flex-wrap gap-2",children:s.map((e,s)=>(0,l.jsx)("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-sm font-medium",children:d(e)},s))}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(i.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No vector stores configured"})]})]})},d=a(25327),m=a(86462),x=a(47686),u=a(99981),h=function(e){let{mcpServers:s,mcpAccessGroups:r=[],mcpToolPermissions:i={},accessToken:o}=e,[h,g]=(0,t.useState)([]),[p,j]=(0,t.useState)([]),[f,b]=(0,t.useState)(new Set),v=e=>{b(s=>{let a=new Set(s);return a.has(e)?a.delete(e):a.add(e),a})};(0,t.useEffect)(()=>{(async()=>{if(o&&s.length>0)try{let e=await (0,c.fetchMCPServers)(o);e&&Array.isArray(e)?g(e):e.data&&Array.isArray(e.data)&&g(e.data)}catch(e){console.error("Error fetching MCP servers:",e)}})()},[o,s.length]),(0,t.useEffect)(()=>{(async()=>{if(o&&r.length>0)try{let e=await Promise.resolve().then(a.bind(a,19250)).then(e=>e.fetchMCPAccessGroups(o));j(Array.isArray(e)?e:e.data||[])}catch(e){console.error("Error fetching MCP access groups:",e)}})()},[o,r.length]);let y=e=>{let s=h.find(s=>s.server_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.alias," (").concat(a,")")}return e},_=e=>e,N=[...s.map(e=>({type:"server",value:e})),...r.map(e=>({type:"accessGroup",value:e}))],w=N.length;return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(d.Z,{className:"h-4 w-4 text-blue-600"}),(0,l.jsx)(n.x,{className:"font-semibold text-gray-900",children:"MCP Servers"}),(0,l.jsx)(n.C,{color:"blue",size:"xs",children:w})]}),w>0?(0,l.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:N.map((e,s)=>{let a="server"===e.type?i[e.value]:void 0,t=a&&a.length>0,r=f.has(e.value);return(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("div",{onClick:()=>t&&v(e.value),className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 transition-all ".concat(t?"cursor-pointer hover:bg-gray-50 hover:border-gray-300":"bg-white"),children:[(0,l.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"server"===e.type?(0,l.jsx)(u.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-blue-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:y(e.value)})]})}):(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:_(e.value)}),(0,l.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})}),t&&(0,l.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap",children:[(0,l.jsx)("span",{className:"text-xs font-medium text-gray-600",children:a.length}),(0,l.jsx)("span",{className:"text-xs text-gray-500",children:1===a.length?"tool":"tools"}),r?(0,l.jsx)(m.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"}):(0,l.jsx)(x.Z,{className:"h-3.5 w-3.5 text-gray-400 ml-0.5"})]})]}),t&&r&&(0,l.jsx)("div",{className:"ml-4 pl-4 border-l-2 border-blue-200 pb-1",children:(0,l.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.map((e,s)=>(0,l.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-lg bg-blue-50 border border-blue-200 text-blue-800 text-xs font-medium",children:e},s))})})]},s)})}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No MCP servers or access groups configured"})]})]})},g=a(3497),p=function(e){let{agents:s,agentAccessGroups:a=[],accessToken:r}=e,[i,o]=(0,t.useState)([]);(0,t.useEffect)(()=>{(async()=>{if(r&&s.length>0)try{let e=await (0,c.getAgentsList)(r);e&&e.agents&&Array.isArray(e.agents)&&o(e.agents)}catch(e){console.error("Error fetching agents:",e)}})()},[r,s.length]);let d=e=>{let s=i.find(s=>s.agent_id===e);if(s){let a=e.length>7?"".concat(e.slice(0,3),"...").concat(e.slice(-4)):e;return"".concat(s.agent_name," (").concat(a,")")}return e},m=[...s.map(e=>({type:"agent",value:e})),...a.map(e=>({type:"accessGroup",value:e}))],x=m.length;return(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(g.Z,{className:"h-4 w-4 text-purple-600"}),(0,l.jsx)(n.x,{className:"font-semibold text-gray-900",children:"Agents"}),(0,l.jsx)(n.C,{color:"purple",size:"xs",children:x})]}),x>0?(0,l.jsx)("div",{className:"max-h-[400px] overflow-y-auto space-y-2 pr-1",children:m.map((e,s)=>(0,l.jsx)("div",{className:"space-y-2",children:(0,l.jsx)("div",{className:"flex items-center gap-3 py-2 px-3 rounded-lg border border-gray-200 bg-white",children:(0,l.jsx)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:"agent"===e.type?(0,l.jsx)(u.Z,{title:"Full ID: ".concat(e.value),placement:"top",children:(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-purple-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:d(e.value)})]})}):(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"inline-block w-1.5 h-1.5 bg-green-500 rounded-full flex-shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.value}),(0,l.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold text-green-600 bg-green-50 border border-green-200 rounded uppercase tracking-wide flex-shrink-0",children:"Group"})]})})})},s))}):(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-50 border border-gray-200",children:[(0,l.jsx)(g.Z,{className:"h-4 w-4 text-gray-400"}),(0,l.jsx)(n.x,{className:"text-gray-500 text-sm",children:"No agents or access groups configured"})]})]})},j=function(e){let{objectPermission:s,variant:a="card",className:t="",accessToken:n}=e,i=(null==s?void 0:s.vector_stores)||[],c=(null==s?void 0:s.mcp_servers)||[],d=(null==s?void 0:s.mcp_access_groups)||[],m=(null==s?void 0:s.mcp_tool_permissions)||{},x=(null==s?void 0:s.agents)||[],u=(null==s?void 0:s.agent_access_groups)||[],g=(0,l.jsxs)("div",{className:"card"===a?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6":"space-y-4",children:[(0,l.jsx)(o,{vectorStores:i,accessToken:n}),(0,l.jsx)(h,{mcpServers:c,mcpAccessGroups:d,mcpToolPermissions:m,accessToken:n}),(0,l.jsx)(p,{agents:x,agentAccessGroups:u,accessToken:n})]});return"card"===a?(0,l.jsxs)("div",{className:"bg-white border border-gray-200 rounded-lg p-6 ".concat(t),children:[(0,l.jsx)("div",{className:"flex items-center gap-2 mb-6",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(r.x,{className:"font-semibold text-gray-900",children:"Object Permissions"}),(0,l.jsx)(r.x,{className:"text-xs text-gray-500",children:"Access control for Vector Stores and MCP Servers"})]})}),g]}):(0,l.jsxs)("div",{className:"".concat(t),children:[(0,l.jsx)(r.x,{className:"font-medium text-gray-900 mb-3",children:"Object Permissions"}),g]})}},21425:function(e,s,a){"use strict";var l=a(57437);a(2265);var t=a(54507);s.Z=e=>{let{value:s,onChange:a,disabledCallbacks:r=[],onDisabledCallbacksChange:n}=e;return(0,l.jsx)(t.Z,{value:s,onChange:a,disabledCallbacks:r,onDisabledCallbacksChange:n})}},918:function(e,s,a){"use strict";var l=a(57437),t=a(2265),r=a(62490),n=a(19250),i=a(9114);s.Z=e=>{let{accessToken:s,userID:a}=e,[c,o]=(0,t.useState)([]);(0,t.useEffect)(()=>{(async()=>{if(s&&a)try{let e=await (0,n.availableTeamListCall)(s);o(e)}catch(e){console.error("Error fetching available teams:",e)}})()},[s,a]);let d=async e=>{if(s&&a)try{await (0,n.teamMemberAddCall)(s,e,{user_id:a,role:"user"}),i.Z.success("Successfully joined team"),o(s=>s.filter(s=>s.team_id!==e))}catch(e){console.error("Error joining team:",e),i.Z.fromBackend("Failed to join team")}};return(0,l.jsx)(r.Zb,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,l.jsxs)(r.iA,{children:[(0,l.jsx)(r.ss,{children:(0,l.jsxs)(r.SC,{children:[(0,l.jsx)(r.xs,{children:"Team Name"}),(0,l.jsx)(r.xs,{children:"Description"}),(0,l.jsx)(r.xs,{children:"Members"}),(0,l.jsx)(r.xs,{children:"Models"}),(0,l.jsx)(r.xs,{children:"Actions"})]})}),(0,l.jsxs)(r.RM,{children:[c.map(e=>(0,l.jsxs)(r.SC,{children:[(0,l.jsx)(r.pj,{children:(0,l.jsx)(r.xv,{children:e.team_alias})}),(0,l.jsx)(r.pj,{children:(0,l.jsx)(r.xv,{children:e.description||"No description available"})}),(0,l.jsx)(r.pj,{children:(0,l.jsxs)(r.xv,{children:[e.members_with_roles.length," members"]})}),(0,l.jsx)(r.pj,{children:(0,l.jsx)("div",{className:"flex flex-col",children:e.models&&0!==e.models.length?e.models.map((e,s)=>(0,l.jsx)(r.Ct,{size:"xs",className:"mb-1",color:"blue",children:(0,l.jsx)(r.xv,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},s)):(0,l.jsx)(r.Ct,{size:"xs",color:"red",children:(0,l.jsx)(r.xv,{children:"All Proxy Models"})})})}),(0,l.jsx)(r.pj,{children:(0,l.jsx)(r.zx,{size:"xs",variant:"secondary",onClick:()=>d(e.team_id),children:"Join Team"})})]},e.team_id)),0===c.length&&(0,l.jsx)(r.SC,{children:(0,l.jsx)(r.pj,{colSpan:5,className:"text-center",children:(0,l.jsx)(r.xv,{children:"No available teams to join"})})})]})]})})}},33304:function(e,s,a){"use strict";function l(e){return""===e?null:e}a.d(s,{C:function(){return l}})}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,353,1994,3709,5333,4546,7996,7692,8049,4679,5068,2004,2971,2117,1744],function(){return e(e.s=11478)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/test-key/page-658c5020a04f1921.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/test-key/page-36bd1b362fe7168f.js similarity index 99% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/test-key/page-658c5020a04f1921.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/test-key/page-36bd1b362fe7168f.js index 0c4c261648..38d65121f1 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/test-key/page-658c5020a04f1921.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/test-key/page-36bd1b362fe7168f.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2322],{35831:function(e,n,t){Promise.resolve().then(t.bind(t,38511))},92280:function(e,n,t){"use strict";t.d(n,{x:function(){return a.Z}});var a=t(84264)},39760:function(e,n,t){"use strict";var a=t(2265),i=t(99376),o=t(14474),r=t(3914),s=t(19250);n.Z=()=>{var e,n,t,l,p,u;let m=(0,i.useRouter)(),c="undefined"!=typeof document?(0,r.e)("token"):null;(0,a.useEffect)(()=>{c||m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[c,m]);let d=(0,a.useMemo)(()=>{if(!c)return null;try{return(0,o.o)(c)}catch(e){return(0,r.b)(),m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[c,m]);return{token:c,accessToken:null!==(e=null==d?void 0:d.key)&&void 0!==e?e:null,userId:null!==(n=null==d?void 0:d.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==d?void 0:d.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(l=null==d?void 0:d.user_role)&&void 0!==l?l:null),premiumUser:null!==(p=null==d?void 0:d.premium_user)&&void 0!==p?p:null,disabledPersonalKeyCreation:null!==(u=null==d?void 0:d.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==d?void 0:d.login_method)==="username_password"}}},38511:function(e,n,t){"use strict";t.r(n);var a=t(57437),i=t(71253),o=t(39760),r=t(2265),s=t(91624);n.default=()=>{let{token:e,accessToken:n,userRole:t,userId:l,disabledPersonalKeyCreation:p}=(0,o.Z)(),[u,m]=(0,r.useState)(void 0);return(0,r.useEffect)(()=>{(async()=>{if(n){let e=await (0,s.C)(n);e&&m({PROXY_BASE_URL:e.PROXY_BASE_URL||void 0,LITELLM_UI_API_DOC_BASE_URL:e.LITELLM_UI_API_DOC_BASE_URL})}})()},[n]),(0,a.jsx)(i.Z,{accessToken:n,token:e,userRole:t,userID:l,disabledPersonalKeyCreation:p,proxySettings:u})}},67479:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,disabled:p}=e,[u,m]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){d(!0);try{let e=await (0,r.getGuardrailsList)(l);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),m(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{d(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",disabled:p,placeholder:p?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),n(e)},value:t,loading:c,className:s,options:u.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},82971:function(e,n,t){"use strict";t.d(n,{L:function(){return i}});var a=t(8443);let i=e=>{let n;let{apiKeySource:t,accessToken:i,apiKey:o,inputMessage:r,chatHistory:s,selectedTags:l,selectedVectorStores:p,selectedGuardrails:u,selectedMCPTools:m,selectedVoice:c,endpointType:d,selectedModel:g,selectedSdk:_,proxySettings:f}=e,h="session"===t?i:o,b=window.location.origin,y=null==f?void 0:f.LITELLM_UI_API_DOC_BASE_URL;y&&y.trim()?b=y:(null==f?void 0:f.PROXY_BASE_URL)&&(b=f.PROXY_BASE_URL);let E=r||"Your prompt here",I=E.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),v=s.filter(e=>!e.isImage).map(e=>{let{role:n,content:t}=e;return{role:n,content:t}}),x={};l.length>0&&(x.tags=l),p.length>0&&(x.vector_stores=p),u.length>0&&(x.guardrails=u);let w=g||"your-model-name",S="azure"===_?'import openai\n\nclient = openai.AzureOpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n azure_endpoint="').concat(b,'",\n api_version="2024-02-01"\n)'):'import openai\n\nclient = openai.OpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n base_url="').concat(b,'"\n)');switch(d){case a.KP.CHAT:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=v.length>0?v:[{role:"user",content:E}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.chat.completions.create(\n model="'.concat(w,'",\n messages=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.chat.completions.create(\n# model="').concat(w,'",\n# messages=[\n# {\n# "role": "user",\n# "content": [\n# {\n# "type": "text",\n# "text": "').concat(I,'"\n# },\n# {\n# "type": "image_url",\n# "image_url": {\n# "url": f"data:image/jpeg;base64,{base64_file}" # or data:application/pdf;base64,{base64_file}\n# }\n# }\n# ]\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file)\n");break}case a.KP.RESPONSES:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=v.length>0?v:[{role:"user",content:E}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.responses.create(\n model="'.concat(w,'",\n input=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response.output_text)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.responses.create(\n# model="').concat(w,'",\n# input=[\n# {\n# "role": "user",\n# "content": [\n# {"type": "input_text", "text": "').concat(I,'"},\n# {\n# "type": "input_image",\n# "image_url": f"data:image/jpeg;base64,{base64_file}", # or data:application/pdf;base64,{base64_file}\n# },\n# ],\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file.output_text)\n");break}case a.KP.IMAGE:n="azure"===_?"\n# NOTE: The Azure SDK does not have a direct equivalent to the multi-modal 'responses.create' method shown for OpenAI.\n# This snippet uses 'client.images.generate' and will create a new image based on your prompt.\n# It does not use the uploaded image, as 'client.images.generate' does not support image inputs in this context.\nimport os\nimport requests\nimport json\nimport time\nfrom PIL import Image\n\nresult = client.images.generate(\n model=\"".concat(w,'",\n prompt="').concat(r,'",\n n=1\n)\n\njson_response = json.loads(result.model_dump_json())\n\n# Set the directory for the stored image\nimage_dir = os.path.join(os.curdir, \'images\')\n\n# If the directory doesn\'t exist, create it\nif not os.path.isdir(image_dir):\n os.mkdir(image_dir)\n\n# Initialize the image path\nimage_filename = f"generated_image_{int(time.time())}.png"\nimage_path = os.path.join(image_dir, image_filename)\n\ntry:\n # Retrieve the generated image\n if json_response.get("data") && len(json_response["data"]) > 0 && json_response["data"][0].get("url"):\n image_url = json_response["data"][0]["url"]\n generated_image = requests.get(image_url).content\n with open(image_path, "wb") as image_file:\n image_file.write(generated_image)\n\n print(f"Image saved to {image_path}")\n # Display the image\n image = Image.open(image_path)\n image.show()\n else:\n print("Could not find image URL in response.")\n print("Full response:", json_response)\nexcept Exception as e:\n print(f"An error occurred: {e}")\n print("Full response:", json_response)\n'):"\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(I,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.IMAGE_EDITS:n="azure"===_?'\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# The prompt entered by the user\nprompt = "'.concat(I,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n'):"\nimport base64\nimport os\nimport time\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(I,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.EMBEDDINGS:n='\nresponse = client.embeddings.create(\n input="'.concat(r||"Your string here",'",\n model="').concat(w,'",\n encoding_format="base64" # or "float"\n)\n\nprint(response.data[0].embedding)\n');break;case a.KP.TRANSCRIPTION:n='\n# Open the audio file\naudio_file = open("path/to/your/audio/file.mp3", "rb")\n\n# Make the transcription request\nresponse = client.audio.transcriptions.create(\n model="'.concat(w,'",\n file=audio_file').concat(r?',\n prompt="'.concat(r.replace(/"/g,'\\"'),'"'):"","\n)\n\nprint(response.text)\n");break;case a.KP.SPEECH:n='\n# Make the text-to-speech request\nresponse = client.audio.speech.create(\n model="'.concat(w,'",\n input="').concat(r||"Your text to convert to speech here",'",\n voice="').concat(c,'" # Options: alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer\n)\n\n# Save the audio to a file\noutput_filename = "output_speech.mp3"\nresponse.stream_to_file(output_filename)\nprint(f"Audio saved to {output_filename}")\n\n# Optional: Customize response format and speed\n# response = client.audio.speech.create(\n# model="').concat(w,'",\n# input="').concat(r||"Your text to convert to speech here",'",\n# voice="alloy",\n# response_format="mp3", # Options: mp3, opus, aac, flac, wav, pcm\n# speed=1.0 # Range: 0.25 to 4.0\n# )\n# response.stream_to_file("output_speech.mp3")\n');break;default:n="\n# Code generation for this endpoint is not implemented yet."}return"".concat(S,"\n").concat(n)}},8443:function(e,n,t){"use strict";var a,i,o,r;t.d(n,{KP:function(){return i},vf:function(){return l}}),(o=a||(a={})).AUDIO_SPEECH="audio_speech",o.AUDIO_TRANSCRIPTION="audio_transcription",o.IMAGE_GENERATION="image_generation",o.VIDEO_GENERATION="video_generation",o.CHAT="chat",o.RESPONSES="responses",o.IMAGE_EDITS="image_edits",o.ANTHROPIC_MESSAGES="anthropic_messages",o.EMBEDDING="embedding",(r=i||(i={})).IMAGE="image",r.VIDEO="video",r.CHAT="chat",r.RESPONSES="responses",r.IMAGE_EDITS="image_edits",r.ANTHROPIC_MESSAGES="anthropic_messages",r.EMBEDDINGS="embeddings",r.SPEECH="speech",r.TRANSCRIPTION="transcription",r.A2A_AGENTS="a2a_agents";let s={image_generation:"image",video_generation:"video",chat:"chat",responses:"responses",image_edits:"image_edits",anthropic_messages:"anthropic_messages",audio_speech:"speech",audio_transcription:"transcription",embedding:"embeddings"},l=e=>{if(console.log("getEndpointType:",e),Object.values(a).includes(e)){let n=s[e];return console.log("endpointType:",n),n}return"chat"}},10703:function(e,n,t){"use strict";t.d(n,{p:function(){return i}});var a=t(19250);let i=async e=>{try{let n=await (0,a.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},97415:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,placeholder:p="Select vector stores",disabled:u=!1}=e,[m,c]=(0,i.useState)([]),[d,g]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){g(!0);try{let e=await (0,r.vectorStoreListCall)(l);e.data&&c(e.data)}catch(e){console.error("Error fetching vector stores:",e)}finally{g(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",placeholder:p,onChange:n,value:t,loading:d,className:s,options:m.map(e=>({label:"".concat(e.vector_store_name||e.vector_store_id," (").concat(e.vector_store_id,")"),value:e.vector_store_id,title:e.vector_store_description||e.vector_store_id})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:u})})}},91624:function(e,n,t){"use strict";t.d(n,{C:function(){return i}});var a=t(19250);let i=async e=>{if(!e)return null;try{return await (0,a.getProxyUISettings)(e)}catch(e){return console.error("Error fetching proxy settings:",e),null}}}},function(e){e.O(0,[9028,9409,4865,337,8135,2409,353,1994,8565,3709,5319,7906,816,7271,2586,8717,8049,1253,2971,2117,1744],function(){return e(e.s=35831)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2322],{22859:function(e,n,t){Promise.resolve().then(t.bind(t,38511))},92280:function(e,n,t){"use strict";t.d(n,{x:function(){return a.Z}});var a=t(84264)},39760:function(e,n,t){"use strict";var a=t(2265),i=t(99376),o=t(14474),r=t(3914),s=t(19250);n.Z=()=>{var e,n,t,l,p,u;let m=(0,i.useRouter)(),c="undefined"!=typeof document?(0,r.e)("token"):null;(0,a.useEffect)(()=>{c||m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login"))},[c,m]);let d=(0,a.useMemo)(()=>{if(!c)return null;try{return(0,o.o)(c)}catch(e){return(0,r.b)(),m.replace("".concat((0,s.getProxyBaseUrl)(),"/ui/login")),null}},[c,m]);return{token:c,accessToken:null!==(e=null==d?void 0:d.key)&&void 0!==e?e:null,userId:null!==(n=null==d?void 0:d.user_id)&&void 0!==n?n:null,userEmail:null!==(t=null==d?void 0:d.user_email)&&void 0!==t?t:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(l=null==d?void 0:d.user_role)&&void 0!==l?l:null),premiumUser:null!==(p=null==d?void 0:d.premium_user)&&void 0!==p?p:null,disabledPersonalKeyCreation:null!==(u=null==d?void 0:d.disabled_non_admin_personal_key_creation)&&void 0!==u?u:null,showSSOBanner:(null==d?void 0:d.login_method)==="username_password"}}},38511:function(e,n,t){"use strict";t.r(n);var a=t(57437),i=t(71253),o=t(39760),r=t(2265),s=t(91624);n.default=()=>{let{token:e,accessToken:n,userRole:t,userId:l,disabledPersonalKeyCreation:p}=(0,o.Z)(),[u,m]=(0,r.useState)(void 0);return(0,r.useEffect)(()=>{(async()=>{if(n){let e=await (0,s.C)(n);e&&m({PROXY_BASE_URL:e.PROXY_BASE_URL||void 0,LITELLM_UI_API_DOC_BASE_URL:e.LITELLM_UI_API_DOC_BASE_URL})}})()},[n]),(0,a.jsx)(i.Z,{accessToken:n,token:e,userRole:t,userID:l,disabledPersonalKeyCreation:p,proxySettings:u})}},67479:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,disabled:p}=e,[u,m]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){d(!0);try{let e=await (0,r.getGuardrailsList)(l);console.log("Guardrails response:",e),e.guardrails&&(console.log("Guardrails data:",e.guardrails),m(e.guardrails))}catch(e){console.error("Error fetching guardrails:",e)}finally{d(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",disabled:p,placeholder:p?"Setting guardrails is a premium feature.":"Select guardrails",onChange:e=>{console.log("Selected guardrails:",e),n(e)},value:t,loading:c,className:s,options:u.map(e=>(console.log("Mapping guardrail:",e),{label:"".concat(e.guardrail_name),value:e.guardrail_name})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"}})})}},82971:function(e,n,t){"use strict";t.d(n,{L:function(){return i}});var a=t(8443);let i=e=>{let n;let{apiKeySource:t,accessToken:i,apiKey:o,inputMessage:r,chatHistory:s,selectedTags:l,selectedVectorStores:p,selectedGuardrails:u,selectedMCPTools:m,selectedVoice:c,endpointType:d,selectedModel:g,selectedSdk:_,proxySettings:f}=e,h="session"===t?i:o,b=window.location.origin,y=null==f?void 0:f.LITELLM_UI_API_DOC_BASE_URL;y&&y.trim()?b=y:(null==f?void 0:f.PROXY_BASE_URL)&&(b=f.PROXY_BASE_URL);let E=r||"Your prompt here",I=E.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),v=s.filter(e=>!e.isImage).map(e=>{let{role:n,content:t}=e;return{role:n,content:t}}),x={};l.length>0&&(x.tags=l),p.length>0&&(x.vector_stores=p),u.length>0&&(x.guardrails=u);let w=g||"your-model-name",S="azure"===_?'import openai\n\nclient = openai.AzureOpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n azure_endpoint="').concat(b,'",\n api_version="2024-02-01"\n)'):'import openai\n\nclient = openai.OpenAI(\n api_key="'.concat(h||"YOUR_LITELLM_API_KEY",'",\n base_url="').concat(b,'"\n)');switch(d){case a.KP.CHAT:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=v.length>0?v:[{role:"user",content:E}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.chat.completions.create(\n model="'.concat(w,'",\n messages=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.chat.completions.create(\n# model="').concat(w,'",\n# messages=[\n# {\n# "role": "user",\n# "content": [\n# {\n# "type": "text",\n# "text": "').concat(I,'"\n# },\n# {\n# "type": "image_url",\n# "image_url": {\n# "url": f"data:image/jpeg;base64,{base64_file}" # or data:application/pdf;base64,{base64_file}\n# }\n# }\n# ]\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file)\n");break}case a.KP.RESPONSES:{let e=Object.keys(x).length>0,t="";if(e){let e=JSON.stringify({metadata:x},null,2).split("\n").map(e=>" ".repeat(4)+e).join("\n").trim();t=",\n extra_body=".concat(e)}let a=v.length>0?v:[{role:"user",content:E}];n='\nimport base64\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# Example with text only\nresponse = client.responses.create(\n model="'.concat(w,'",\n input=').concat(JSON.stringify(a,null,4)).concat(t,'\n)\n\nprint(response.output_text)\n\n# Example with image or PDF (uncomment and provide file path to use)\n# base64_file = encode_image("path/to/your/file.jpg") # or .pdf\n# response_with_file = client.responses.create(\n# model="').concat(w,'",\n# input=[\n# {\n# "role": "user",\n# "content": [\n# {"type": "input_text", "text": "').concat(I,'"},\n# {\n# "type": "input_image",\n# "image_url": f"data:image/jpeg;base64,{base64_file}", # or data:application/pdf;base64,{base64_file}\n# },\n# ],\n# }\n# ]').concat(t,"\n# )\n# print(response_with_file.output_text)\n");break}case a.KP.IMAGE:n="azure"===_?"\n# NOTE: The Azure SDK does not have a direct equivalent to the multi-modal 'responses.create' method shown for OpenAI.\n# This snippet uses 'client.images.generate' and will create a new image based on your prompt.\n# It does not use the uploaded image, as 'client.images.generate' does not support image inputs in this context.\nimport os\nimport requests\nimport json\nimport time\nfrom PIL import Image\n\nresult = client.images.generate(\n model=\"".concat(w,'",\n prompt="').concat(r,'",\n n=1\n)\n\njson_response = json.loads(result.model_dump_json())\n\n# Set the directory for the stored image\nimage_dir = os.path.join(os.curdir, \'images\')\n\n# If the directory doesn\'t exist, create it\nif not os.path.isdir(image_dir):\n os.mkdir(image_dir)\n\n# Initialize the image path\nimage_filename = f"generated_image_{int(time.time())}.png"\nimage_path = os.path.join(image_dir, image_filename)\n\ntry:\n # Retrieve the generated image\n if json_response.get("data") && len(json_response["data"]) > 0 && json_response["data"][0].get("url"):\n image_url = json_response["data"][0]["url"]\n generated_image = requests.get(image_url).content\n with open(image_path, "wb") as image_file:\n image_file.write(generated_image)\n\n print(f"Image saved to {image_path}")\n # Display the image\n image = Image.open(image_path)\n image.show()\n else:\n print("Could not find image URL in response.")\n print("Full response:", json_response)\nexcept Exception as e:\n print(f"An error occurred: {e}")\n print("Full response:", json_response)\n'):"\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(I,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.IMAGE_EDITS:n="azure"===_?'\nimport base64\nimport os\nimport time\nimport json\nfrom PIL import Image\nimport requests\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, "rb") as image_file:\n return base64.b64encode(image_file.read()).decode(\'utf-8\')\n\n# The prompt entered by the user\nprompt = "'.concat(I,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n'):"\nimport base64\nimport os\nimport time\n\n# Helper function to encode images to base64\ndef encode_image(image_path):\n with open(image_path, \"rb\") as image_file:\n return base64.b64encode(image_file.read()).decode('utf-8')\n\n# Helper function to create a file (simplified for this example)\ndef create_file(image_path):\n # In a real implementation, this would upload the file to OpenAI\n # For this example, we'll just return a placeholder ID\n return f\"file_{os.path.basename(image_path).replace('.', '_')}\"\n\n# The prompt entered by the user\nprompt = \"".concat(I,'"\n\n# Encode images to base64\nbase64_image1 = encode_image("body-lotion.png")\nbase64_image2 = encode_image("soap.png")\n\n# Create file IDs\nfile_id1 = create_file("body-lotion.png")\nfile_id2 = create_file("incense-kit.png")\n\nresponse = client.responses.create(\n model="').concat(w,'",\n input=[\n {\n "role": "user",\n "content": [\n {"type": "input_text", "text": prompt},\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image1}",\n },\n {\n "type": "input_image",\n "image_url": f"data:image/jpeg;base64,{base64_image2}",\n },\n {\n "type": "input_image",\n "file_id": file_id1,\n },\n {\n "type": "input_image",\n "file_id": file_id2,\n }\n ],\n }\n ],\n tools=[{"type": "image_generation"}],\n)\n\n# Process the response\nimage_generation_calls = [\n output\n for output in response.output\n if output.type == "image_generation_call"\n]\n\nimage_data = [output.result for output in image_generation_calls]\n\nif image_data:\n image_base64 = image_data[0]\n image_filename = f"edited_image_{int(time.time())}.png"\n with open(image_filename, "wb") as f:\n f.write(base64.b64decode(image_base64))\n print(f"Image saved to {image_filename}")\nelse:\n # If no image is generated, there might be a text response with an explanation\n text_response = [output.text for output in response.output if hasattr(output, \'text\')]\n if text_response:\n print("No image generated. Model response:")\n print("\\n".join(text_response))\n else:\n print("No image data found in response.")\n print("Full response for debugging:")\n print(response)\n');break;case a.KP.EMBEDDINGS:n='\nresponse = client.embeddings.create(\n input="'.concat(r||"Your string here",'",\n model="').concat(w,'",\n encoding_format="base64" # or "float"\n)\n\nprint(response.data[0].embedding)\n');break;case a.KP.TRANSCRIPTION:n='\n# Open the audio file\naudio_file = open("path/to/your/audio/file.mp3", "rb")\n\n# Make the transcription request\nresponse = client.audio.transcriptions.create(\n model="'.concat(w,'",\n file=audio_file').concat(r?',\n prompt="'.concat(r.replace(/"/g,'\\"'),'"'):"","\n)\n\nprint(response.text)\n");break;case a.KP.SPEECH:n='\n# Make the text-to-speech request\nresponse = client.audio.speech.create(\n model="'.concat(w,'",\n input="').concat(r||"Your text to convert to speech here",'",\n voice="').concat(c,'" # Options: alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer\n)\n\n# Save the audio to a file\noutput_filename = "output_speech.mp3"\nresponse.stream_to_file(output_filename)\nprint(f"Audio saved to {output_filename}")\n\n# Optional: Customize response format and speed\n# response = client.audio.speech.create(\n# model="').concat(w,'",\n# input="').concat(r||"Your text to convert to speech here",'",\n# voice="alloy",\n# response_format="mp3", # Options: mp3, opus, aac, flac, wav, pcm\n# speed=1.0 # Range: 0.25 to 4.0\n# )\n# response.stream_to_file("output_speech.mp3")\n');break;default:n="\n# Code generation for this endpoint is not implemented yet."}return"".concat(S,"\n").concat(n)}},8443:function(e,n,t){"use strict";var a,i,o,r;t.d(n,{KP:function(){return i},vf:function(){return l}}),(o=a||(a={})).AUDIO_SPEECH="audio_speech",o.AUDIO_TRANSCRIPTION="audio_transcription",o.IMAGE_GENERATION="image_generation",o.VIDEO_GENERATION="video_generation",o.CHAT="chat",o.RESPONSES="responses",o.IMAGE_EDITS="image_edits",o.ANTHROPIC_MESSAGES="anthropic_messages",o.EMBEDDING="embedding",(r=i||(i={})).IMAGE="image",r.VIDEO="video",r.CHAT="chat",r.RESPONSES="responses",r.IMAGE_EDITS="image_edits",r.ANTHROPIC_MESSAGES="anthropic_messages",r.EMBEDDINGS="embeddings",r.SPEECH="speech",r.TRANSCRIPTION="transcription",r.A2A_AGENTS="a2a_agents";let s={image_generation:"image",video_generation:"video",chat:"chat",responses:"responses",image_edits:"image_edits",anthropic_messages:"anthropic_messages",audio_speech:"speech",audio_transcription:"transcription",embedding:"embeddings"},l=e=>{if(console.log("getEndpointType:",e),Object.values(a).includes(e)){let n=s[e];return console.log("endpointType:",n),n}return"chat"}},10703:function(e,n,t){"use strict";t.d(n,{p:function(){return i}});var a=t(19250);let i=async e=>{try{let n=await (0,a.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},97415:function(e,n,t){"use strict";var a=t(57437),i=t(2265),o=t(37592),r=t(19250);n.Z=e=>{let{onChange:n,value:t,className:s,accessToken:l,placeholder:p="Select vector stores",disabled:u=!1}=e,[m,c]=(0,i.useState)([]),[d,g]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{(async()=>{if(l){g(!0);try{let e=await (0,r.vectorStoreListCall)(l);e.data&&c(e.data)}catch(e){console.error("Error fetching vector stores:",e)}finally{g(!1)}}})()},[l]),(0,a.jsx)("div",{children:(0,a.jsx)(o.default,{mode:"multiple",placeholder:p,onChange:n,value:t,loading:d,className:s,options:m.map(e=>({label:"".concat(e.vector_store_name||e.vector_store_id," (").concat(e.vector_store_id,")"),value:e.vector_store_id,title:e.vector_store_description||e.vector_store_id})),optionFilterProp:"label",showSearch:!0,style:{width:"100%"},disabled:u})})}},91624:function(e,n,t){"use strict";t.d(n,{C:function(){return i}});var a=t(19250);let i=async e=>{if(!e)return null;try{return await (0,a.getProxyUISettings)(e)}catch(e){return console.error("Error fetching proxy settings:",e),null}}}},function(e){e.O(0,[9028,9409,4865,337,8135,2409,353,1994,8565,3709,5319,7906,4804,7271,8205,3792,8049,1253,2971,2117,1744],function(){return e(e.s=22859)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/mcp-servers/page-de42c0bc4fea3c90.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/mcp-servers/page-75cbf1f7cdaead36.js similarity index 73% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/mcp-servers/page-de42c0bc4fea3c90.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/mcp-servers/page-75cbf1f7cdaead36.js index 908c682c08..a0ae07e270 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/mcp-servers/page-de42c0bc4fea3c90.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/mcp-servers/page-75cbf1f7cdaead36.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6940],{61621:function(e,n,r){Promise.resolve().then(r.bind(r,45045))},64504:function(e,n,r){"use strict";r.d(n,{o:function(){return i.Z},z:function(){return t.Z}});var t=r(78489),i=r(49566)},58927:function(e,n,r){"use strict";r.d(n,{J:function(){return t.Z}});var t=r(47323)},19130:function(e,n,r){"use strict";r.d(n,{RM:function(){return i.Z},SC:function(){return c.Z},iA:function(){return t.Z},pj:function(){return l.Z},ss:function(){return o.Z},xs:function(){return u.Z}});var t=r(21626),i=r(97214),l=r(28241),o=r(58834),u=r(69552),c=r(71876)},92280:function(e,n,r){"use strict";r.d(n,{x:function(){return t.Z}});var t=r(84264)},39760:function(e,n,r){"use strict";var t=r(2265),i=r(99376),l=r(14474),o=r(3914),u=r(19250);n.Z=()=>{var e,n,r,c,s,a;let d=(0,i.useRouter)(),f="undefined"!=typeof document?(0,o.e)("token"):null;(0,t.useEffect)(()=>{f||d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let m=(0,t.useMemo)(()=>{if(!f)return null;try{return(0,l.o)(f)}catch(e){return(0,o.b)(),d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(n=null==m?void 0:m.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==m?void 0:m.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(c=null==m?void 0:m.user_role)&&void 0!==c?c:null),premiumUser:null!==(s=null==m?void 0:m.premium_user)&&void 0!==s?s:null,disabledPersonalKeyCreation:null!==(a=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==a?a:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},45045:function(e,n,r){"use strict";r.r(n);var t=r(57437),i=r(87641),l=r(39760),o=r(21623),u=r(29827);n.default=()=>{let{accessToken:e,userRole:n,userId:r}=(0,l.Z)(),c=new o.S;return(0,t.jsx)(u.aH,{client:c,children:(0,t.jsx)(i.d,{accessToken:e,userRole:n,userID:r})})}},12322:function(e,n,r){"use strict";r.d(n,{w:function(){return c}});var t=r(57437),i=r(2265),l=r(71594),o=r(24525),u=r(19130);function c(e){let{data:n=[],columns:r,getRowCanExpand:c,renderSubComponent:s,isLoading:a=!1,loadingMessage:d="\uD83D\uDE85 Loading logs...",noDataMessage:f="No logs found"}=e,m=(0,l.b7)({data:n,columns:r,getRowCanExpand:c,getRowId:(e,n)=>{var r;return null!==(r=null==e?void 0:e.request_id)&&void 0!==r?r:String(n)},getCoreRowModel:(0,o.sC)(),getExpandedRowModel:(0,o.rV)()});return(0,t.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,t.jsxs)(u.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,t.jsx)(u.ss,{children:m.getHeaderGroups().map(e=>(0,t.jsx)(u.SC,{children:e.headers.map(e=>(0,t.jsx)(u.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,l.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,t.jsx)(u.RM,{children:a?(0,t.jsx)(u.SC,{children:(0,t.jsx)(u.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,t.jsx)("div",{className:"text-center text-gray-500",children:(0,t.jsx)("p",{children:d})})})}):m.getRowModel().rows.length>0?m.getRowModel().rows.map(e=>(0,t.jsxs)(i.Fragment,{children:[(0,t.jsx)(u.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,t.jsx)(u.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,l.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,t.jsx)(u.SC,{children:(0,t.jsx)(u.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,t.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:s({row:e})})})})]},e.id)):(0,t.jsx)(u.SC,{children:(0,t.jsx)(u.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,t.jsx)("div",{className:"text-center text-gray-500",children:(0,t.jsx)("p",{children:f})})})})})]})})}},59872:function(e,n,r){"use strict";r.d(n,{GS:function(){return o},nl:function(){return i},pw:function(){return l},vQ:function(){return u}});var t=r(9114);function i(e,n){let r=structuredClone(e);for(let[e,t]of Object.entries(n))e in r&&(r[e]=t);return r}let l=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!t)return"-";let i={minimumFractionDigits:n,maximumFractionDigits:n};if(!r)return e.toLocaleString("en-US",i);let l=Math.abs(e),o=l,u="";return l>=1e6?(o=l/1e6,u="M"):l>=1e3&&(o=l/1e3,u="K"),"".concat(e<0?"-":"").concat(o.toLocaleString("en-US",i)).concat(u)},o=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let r=l(e,n,!1,!1);if(0===Number(r.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(r)},u=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return c(e,n);try{return await navigator.clipboard.writeText(e),t.Z.success(n),!0}catch(r){return console.error("Clipboard API failed: ",r),c(e,n)}},c=(e,n)=>{try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.left="-999999px",r.style.top="-999999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select();let i=document.execCommand("copy");if(document.body.removeChild(r),i)return t.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return t.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return l},P4:function(){return u},ZL:function(){return t},lo:function(){return i},tY:function(){return o}});let t=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],i=["Internal User","Internal Viewer"],l=["Internal User","Admin","proxy_admin"],o=e=>t.includes(e),u=e=>"proxy_admin"===e||"Admin"===e}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3709,5869,1713,4546,5945,2843,1623,1250,8049,7641,2971,2117,1744],function(){return e(e.s=61621)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6940],{18270:function(e,n,r){Promise.resolve().then(r.bind(r,45045))},64504:function(e,n,r){"use strict";r.d(n,{o:function(){return i.Z},z:function(){return t.Z}});var t=r(78489),i=r(49566)},58927:function(e,n,r){"use strict";r.d(n,{J:function(){return t.Z}});var t=r(47323)},19130:function(e,n,r){"use strict";r.d(n,{RM:function(){return i.Z},SC:function(){return c.Z},iA:function(){return t.Z},pj:function(){return l.Z},ss:function(){return o.Z},xs:function(){return u.Z}});var t=r(21626),i=r(97214),l=r(28241),o=r(58834),u=r(69552),c=r(71876)},92280:function(e,n,r){"use strict";r.d(n,{x:function(){return t.Z}});var t=r(84264)},39760:function(e,n,r){"use strict";var t=r(2265),i=r(99376),l=r(14474),o=r(3914),u=r(19250);n.Z=()=>{var e,n,r,c,s,a;let d=(0,i.useRouter)(),m="undefined"!=typeof document?(0,o.e)("token"):null;(0,t.useEffect)(()=>{m||d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login"))},[m,d]);let f=(0,t.useMemo)(()=>{if(!m)return null;try{return(0,l.o)(m)}catch(e){return(0,o.b)(),d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login")),null}},[m,d]);return{token:m,accessToken:null!==(e=null==f?void 0:f.key)&&void 0!==e?e:null,userId:null!==(n=null==f?void 0:f.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==f?void 0:f.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(c=null==f?void 0:f.user_role)&&void 0!==c?c:null),premiumUser:null!==(s=null==f?void 0:f.premium_user)&&void 0!==s?s:null,disabledPersonalKeyCreation:null!==(a=null==f?void 0:f.disabled_non_admin_personal_key_creation)&&void 0!==a?a:null,showSSOBanner:(null==f?void 0:f.login_method)==="username_password"}}},45045:function(e,n,r){"use strict";r.r(n);var t=r(57437),i=r(87641),l=r(39760),o=r(21623),u=r(29827);n.default=()=>{let{accessToken:e,userRole:n,userId:r}=(0,l.Z)(),c=new o.S;return(0,t.jsx)(u.aH,{client:c,children:(0,t.jsx)(i.d,{accessToken:e,userRole:n,userID:r})})}},12322:function(e,n,r){"use strict";r.d(n,{w:function(){return c}});var t=r(57437),i=r(2265),l=r(71594),o=r(24525),u=r(19130);function c(e){let{data:n=[],columns:r,getRowCanExpand:c,renderSubComponent:s,isLoading:a=!1,loadingMessage:d="\uD83D\uDE85 Loading logs...",noDataMessage:m="No logs found"}=e,f=(0,l.b7)({data:n,columns:r,getRowCanExpand:c,getRowId:(e,n)=>{var r;return null!==(r=null==e?void 0:e.request_id)&&void 0!==r?r:String(n)},getCoreRowModel:(0,o.sC)(),getExpandedRowModel:(0,o.rV)()});return(0,t.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,t.jsxs)(u.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,t.jsx)(u.ss,{children:f.getHeaderGroups().map(e=>(0,t.jsx)(u.SC,{children:e.headers.map(e=>(0,t.jsx)(u.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,l.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,t.jsx)(u.RM,{children:a?(0,t.jsx)(u.SC,{children:(0,t.jsx)(u.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,t.jsx)("div",{className:"text-center text-gray-500",children:(0,t.jsx)("p",{children:d})})})}):f.getRowModel().rows.length>0?f.getRowModel().rows.map(e=>(0,t.jsxs)(i.Fragment,{children:[(0,t.jsx)(u.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,t.jsx)(u.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,l.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,t.jsx)(u.SC,{children:(0,t.jsx)(u.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,t.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:s({row:e})})})})]},e.id)):(0,t.jsx)(u.SC,{children:(0,t.jsx)(u.pj,{colSpan:r.length,className:"h-8 text-center",children:(0,t.jsx)("div",{className:"text-center text-gray-500",children:(0,t.jsx)("p",{children:m})})})})})]})})}},59872:function(e,n,r){"use strict";r.d(n,{GS:function(){return o},nl:function(){return i},pw:function(){return l},vQ:function(){return u}});var t=r(9114);function i(e,n){let r=structuredClone(e);for(let[e,t]of Object.entries(n))e in r&&(r[e]=t);return r}let l=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!t)return"-";let i={minimumFractionDigits:n,maximumFractionDigits:n};if(!r)return e.toLocaleString("en-US",i);let l=Math.abs(e),o=l,u="";return l>=1e6?(o=l/1e6,u="M"):l>=1e3&&(o=l/1e3,u="K"),"".concat(e<0?"-":"").concat(o.toLocaleString("en-US",i)).concat(u)},o=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let r=l(e,n,!1,!1);if(0===Number(r.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(r)},u=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return c(e,n);try{return await navigator.clipboard.writeText(e),t.Z.success(n),!0}catch(r){return console.error("Clipboard API failed: ",r),c(e,n)}},c=(e,n)=>{try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.left="-999999px",r.style.top="-999999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select();let i=document.execCommand("copy");if(document.body.removeChild(r),i)return t.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return t.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return l},P4:function(){return u},ZL:function(){return t},_p:function(){return s},lo:function(){return i},tY:function(){return o},yV:function(){return c}});let t=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],i=["Internal User","Internal Viewer"],l=["Internal User","Admin","proxy_admin"],o=e=>t.includes(e),u=e=>"proxy_admin"===e||"Admin"===e,c=(e,n)=>null!=e&&e.some(e=>s(e,n)),s=(e,n)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===n&&"admin"===e.role)}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3709,5869,1713,4546,5945,2843,1623,1250,8049,7641,2971,2117,1744],function(){return e(e.s=18270)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/vector-stores/page-2510c114ed5c405a.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/vector-stores/page-2510c114ed5c405a.js new file mode 100644 index 0000000000..c921e7e7fa --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/vector-stores/page-2510c114ed5c405a.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6248],{65153:function(e,n,r){Promise.resolve().then(r.bind(r,77438))},64748:function(e,n,r){"use strict";r.d(n,{Ct:function(){return o.Z},Dx:function(){return d.Z},OK:function(){return i.Z},Zb:function(){return a.Z},nP:function(){return s.Z},td:function(){return c.Z},v0:function(){return l.Z},x4:function(){return u.Z},xv:function(){return p.Z},zx:function(){return t.Z}});var o=r(41649),t=r(78489),a=r(12514),i=r(12485),l=r(18135),c=r(35242),u=r(29706),s=r(77991),p=r(84264),d=r(96761)},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return o.Z}});var o=r(78489)},64504:function(e,n,r){"use strict";r.d(n,{o:function(){return t.Z},z:function(){return o.Z}});var o=r(78489),t=r(49566)},39760:function(e,n,r){"use strict";var o=r(2265),t=r(99376),a=r(14474),i=r(3914),l=r(19250);n.Z=()=>{var e,n,r,c,u,s;let p=(0,t.useRouter)(),d="undefined"!=typeof document?(0,i.e)("token"):null;(0,o.useEffect)(()=>{d||p.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[d,p]);let m=(0,o.useMemo)(()=>{if(!d)return null;try{return(0,a.o)(d)}catch(e){return(0,i.b)(),p.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[d,p]);return{token:d,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(n=null==m?void 0:m.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==m?void 0:m.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(c=null==m?void 0:m.user_role)&&void 0!==c?c:null),premiumUser:null!==(u=null==m?void 0:m.premium_user)&&void 0!==u?u:null,disabledPersonalKeyCreation:null!==(s=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==s?s:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},77438:function(e,n,r){"use strict";r.r(n);var o=r(57437),t=r(98524),a=r(39760);n.default=()=>{let{accessToken:e,userId:n,userRole:r}=(0,a.Z)();return(0,o.jsx)(t.Z,{accessToken:e,userID:n,userRole:r})}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return t}});var o=r(19250);let t=async e=>{try{let n=await (0,o.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},42673:function(e,n,r){"use strict";var o,t;r.d(n,{Cl:function(){return o},bK:function(){return s},cd:function(){return l},dr:function(){return c},fK:function(){return a},ph:function(){return u}}),(t=o||(o={})).A2A_Agent="A2A Agent",t.AIML="AI/ML API",t.Bedrock="Amazon Bedrock",t.Anthropic="Anthropic",t.AssemblyAI="AssemblyAI",t.SageMaker="AWS SageMaker",t.Azure="Azure",t.Azure_AI_Studio="Azure AI Foundry (Studio)",t.Cerebras="Cerebras",t.Cohere="Cohere",t.Dashscope="Dashscope",t.Databricks="Databricks (Qwen API)",t.DeepInfra="DeepInfra",t.Deepgram="Deepgram",t.Deepseek="Deepseek",t.ElevenLabs="ElevenLabs",t.FalAI="Fal AI",t.FireworksAI="Fireworks AI",t.Google_AI_Studio="Google AI Studio",t.GradientAI="GradientAI",t.Groq="Groq",t.Hosted_Vllm="vllm",t.Infinity="Infinity",t.JinaAI="Jina AI",t.MistralAI="Mistral AI",t.Ollama="Ollama",t.OpenAI="OpenAI",t.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",t.OpenAI_Text="OpenAI Text Completion",t.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",t.Openrouter="Openrouter",t.Oracle="Oracle Cloud Infrastructure (OCI)",t.Perplexity="Perplexity",t.RunwayML="RunwayML",t.Sambanova="Sambanova",t.Snowflake="Snowflake",t.TogetherAI="TogetherAI",t.Triton="Triton",t.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",t.VolcEngine="VolcEngine",t.Voyage="Voyage AI",t.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},i="../ui/assets/logos/",l={"A2A Agent":"".concat(i,"a2a_agent.png"),"AI/ML API":"".concat(i,"aiml_api.svg"),Anthropic:"".concat(i,"anthropic.svg"),AssemblyAI:"".concat(i,"assemblyai_small.png"),Azure:"".concat(i,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(i,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(i,"bedrock.svg"),"AWS SageMaker":"".concat(i,"bedrock.svg"),Cerebras:"".concat(i,"cerebras.svg"),Cohere:"".concat(i,"cohere.svg"),"Databricks (Qwen API)":"".concat(i,"databricks.svg"),Dashscope:"".concat(i,"dashscope.svg"),Deepseek:"".concat(i,"deepseek.svg"),"Fireworks AI":"".concat(i,"fireworks.svg"),Groq:"".concat(i,"groq.svg"),"Google AI Studio":"".concat(i,"google.svg"),vllm:"".concat(i,"vllm.png"),Infinity:"".concat(i,"infinity.png"),"Mistral AI":"".concat(i,"mistral.svg"),Ollama:"".concat(i,"ollama.svg"),OpenAI:"".concat(i,"openai_small.svg"),"OpenAI Text Completion":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(i,"openai_small.svg"),Openrouter:"".concat(i,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(i,"oracle.svg"),Perplexity:"".concat(i,"perplexity-ai.svg"),RunwayML:"".concat(i,"runwayml.png"),Sambanova:"".concat(i,"sambanova.svg"),Snowflake:"".concat(i,"snowflake.svg"),TogetherAI:"".concat(i,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(i,"google.svg"),xAI:"".concat(i,"xai.svg"),GradientAI:"".concat(i,"gradientai.svg"),Triton:"".concat(i,"nvidia_triton.png"),Deepgram:"".concat(i,"deepgram.png"),ElevenLabs:"".concat(i,"elevenlabs.png"),"Fal AI":"".concat(i,"fal_ai.jpg"),"Voyage AI":"".concat(i,"voyage.webp"),"Jina AI":"".concat(i,"jina.png"),VolcEngine:"".concat(i,"volcengine.png"),DeepInfra:"".concat(i,"deepinfra.png")},c=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:l[e],displayName:e}}let n=Object.keys(a).find(n=>a[n].toLowerCase()===e.toLowerCase());if(!n)return{logo:"",displayName:e};let r=o[n];return{logo:l[r],displayName:r}},u=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},s=(e,n)=>{console.log("Provider key: ".concat(e));let r=a[e];console.log("Provider mapped to: ".concat(r));let o=[];return e&&"object"==typeof n&&(Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&(t.litellm_provider===r||t.litellm_provider.includes(r))&&o.push(n)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(n).forEach(e=>{let[n,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&"cohere_chat"===r.litellm_provider&&o.push(n)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(n).forEach(e=>{let[n,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&"sagemaker_chat"===r.litellm_provider&&o.push(n)}))),o}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return a},P4:function(){return l},ZL:function(){return o},_p:function(){return u},lo:function(){return t},tY:function(){return i},yV:function(){return c}});let o=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],t=["Internal User","Internal Viewer"],a=["Internal User","Admin","proxy_admin"],i=e=>o.includes(e),l=e=>"proxy_admin"===e||"Admin"===e,c=(e,n)=>null!=e&&e.some(e=>u(e,n)),u=(e,n)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===n&&"admin"===e.role)}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,7318,5869,5945,5830,8049,8524,2971,2117,1744],function(){return e(e.s=65153)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/vector-stores/page-f97e1665bda235bc.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/vector-stores/page-f97e1665bda235bc.js deleted file mode 100644 index 997f4562c8..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/tools/vector-stores/page-f97e1665bda235bc.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6248],{64362:function(e,n,r){Promise.resolve().then(r.bind(r,77438))},64748:function(e,n,r){"use strict";r.d(n,{Ct:function(){return o.Z},Dx:function(){return A.Z},OK:function(){return i.Z},Zb:function(){return a.Z},nP:function(){return s.Z},td:function(){return c.Z},v0:function(){return l.Z},x4:function(){return u.Z},xv:function(){return p.Z},zx:function(){return t.Z}});var o=r(41649),t=r(78489),a=r(12514),i=r(12485),l=r(18135),c=r(35242),u=r(29706),s=r(77991),p=r(84264),A=r(96761)},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return o.Z}});var o=r(78489)},64504:function(e,n,r){"use strict";r.d(n,{o:function(){return t.Z},z:function(){return o.Z}});var o=r(78489),t=r(49566)},39760:function(e,n,r){"use strict";var o=r(2265),t=r(99376),a=r(14474),i=r(3914),l=r(19250);n.Z=()=>{var e,n,r,c,u,s;let p=(0,t.useRouter)(),A="undefined"!=typeof document?(0,i.e)("token"):null;(0,o.useEffect)(()=>{A||p.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[A,p]);let d=(0,o.useMemo)(()=>{if(!A)return null;try{return(0,a.o)(A)}catch(e){return(0,i.b)(),p.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[A,p]);return{token:A,accessToken:null!==(e=null==d?void 0:d.key)&&void 0!==e?e:null,userId:null!==(n=null==d?void 0:d.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==d?void 0:d.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(c=null==d?void 0:d.user_role)&&void 0!==c?c:null),premiumUser:null!==(u=null==d?void 0:d.premium_user)&&void 0!==u?u:null,disabledPersonalKeyCreation:null!==(s=null==d?void 0:d.disabled_non_admin_personal_key_creation)&&void 0!==s?s:null,showSSOBanner:(null==d?void 0:d.login_method)==="username_password"}}},77438:function(e,n,r){"use strict";r.r(n);var o=r(57437),t=r(98524),a=r(39760);n.default=()=>{let{accessToken:e,userId:n,userRole:r}=(0,a.Z)();return(0,o.jsx)(t.Z,{accessToken:e,userID:n,userRole:r})}},42673:function(e,n,r){"use strict";var o,t;r.d(n,{Cl:function(){return o},bK:function(){return s},cd:function(){return l},dr:function(){return c},fK:function(){return a},ph:function(){return u}}),(t=o||(o={})).A2A_Agent="A2A Agent",t.AIML="AI/ML API",t.Bedrock="Amazon Bedrock",t.Anthropic="Anthropic",t.AssemblyAI="AssemblyAI",t.SageMaker="AWS SageMaker",t.Azure="Azure",t.Azure_AI_Studio="Azure AI Foundry (Studio)",t.Cerebras="Cerebras",t.Cohere="Cohere",t.Dashscope="Dashscope",t.Databricks="Databricks (Qwen API)",t.DeepInfra="DeepInfra",t.Deepgram="Deepgram",t.Deepseek="Deepseek",t.ElevenLabs="ElevenLabs",t.FalAI="Fal AI",t.FireworksAI="Fireworks AI",t.Google_AI_Studio="Google AI Studio",t.GradientAI="GradientAI",t.Groq="Groq",t.Hosted_Vllm="vllm",t.Infinity="Infinity",t.JinaAI="Jina AI",t.MistralAI="Mistral AI",t.Ollama="Ollama",t.OpenAI="OpenAI",t.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",t.OpenAI_Text="OpenAI Text Completion",t.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",t.Openrouter="Openrouter",t.Oracle="Oracle Cloud Infrastructure (OCI)",t.Perplexity="Perplexity",t.RunwayML="RunwayML",t.Sambanova="Sambanova",t.Snowflake="Snowflake",t.TogetherAI="TogetherAI",t.Triton="Triton",t.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",t.VolcEngine="VolcEngine",t.Voyage="Voyage AI",t.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},i="../ui/assets/logos/",l={"A2A Agent":"".concat(i,"a2a_agent.png"),"AI/ML API":"".concat(i,"aiml_api.svg"),Anthropic:"".concat(i,"anthropic.svg"),AssemblyAI:"".concat(i,"assemblyai_small.png"),Azure:"".concat(i,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(i,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(i,"bedrock.svg"),"AWS SageMaker":"".concat(i,"bedrock.svg"),Cerebras:"".concat(i,"cerebras.svg"),Cohere:"".concat(i,"cohere.svg"),"Databricks (Qwen API)":"".concat(i,"databricks.svg"),Dashscope:"".concat(i,"dashscope.svg"),Deepseek:"".concat(i,"deepseek.svg"),"Fireworks AI":"".concat(i,"fireworks.svg"),Groq:"".concat(i,"groq.svg"),"Google AI Studio":"".concat(i,"google.svg"),vllm:"".concat(i,"vllm.png"),Infinity:"".concat(i,"infinity.png"),"Mistral AI":"".concat(i,"mistral.svg"),Ollama:"".concat(i,"ollama.svg"),OpenAI:"".concat(i,"openai_small.svg"),"OpenAI Text Completion":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(i,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(i,"openai_small.svg"),Openrouter:"".concat(i,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(i,"oracle.svg"),Perplexity:"".concat(i,"perplexity-ai.svg"),RunwayML:"".concat(i,"runwayml.png"),Sambanova:"".concat(i,"sambanova.svg"),Snowflake:"".concat(i,"snowflake.svg"),TogetherAI:"".concat(i,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(i,"google.svg"),xAI:"".concat(i,"xai.svg"),GradientAI:"".concat(i,"gradientai.svg"),Triton:"".concat(i,"nvidia_triton.png"),Deepgram:"".concat(i,"deepgram.png"),ElevenLabs:"".concat(i,"elevenlabs.png"),"Fal AI":"".concat(i,"fal_ai.jpg"),"Voyage AI":"".concat(i,"voyage.webp"),"Jina AI":"".concat(i,"jina.png"),VolcEngine:"".concat(i,"volcengine.png"),DeepInfra:"".concat(i,"deepinfra.png")},c=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:l[e],displayName:e}}let n=Object.keys(a).find(n=>a[n].toLowerCase()===e.toLowerCase());if(!n)return{logo:"",displayName:e};let r=o[n];return{logo:l[r],displayName:r}},u=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},s=(e,n)=>{console.log("Provider key: ".concat(e));let r=a[e];console.log("Provider mapped to: ".concat(r));let o=[];return e&&"object"==typeof n&&(Object.entries(n).forEach(e=>{let[n,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&(t.litellm_provider===r||t.litellm_provider.includes(r))&&o.push(n)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(n).forEach(e=>{let[n,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&"cohere_chat"===r.litellm_provider&&o.push(n)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(n).forEach(e=>{let[n,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&"sagemaker_chat"===r.litellm_provider&&o.push(n)}))),o}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return a},P4:function(){return l},ZL:function(){return o},lo:function(){return t},tY:function(){return i}});let o=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],t=["Internal User","Internal Viewer"],a=["Internal User","Admin","proxy_admin"],i=e=>o.includes(e),l=e=>"proxy_admin"===e||"Admin"===e}},function(e){e.O(0,[9028,9409,4865,337,8135,1442,2926,2409,3367,353,7318,5869,5945,5830,8049,8524,2971,2117,1744],function(){return e(e.s=64362)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/usage/page-4118e4bc818bddd4.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/usage/page-4118e4bc818bddd4.js deleted file mode 100644 index 2da043955f..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/usage/page-4118e4bc818bddd4.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4746],{58109:function(e,t,n){Promise.resolve().then(n.bind(n,26661))},37527:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z"}}]},name:"bank",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},9775:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z"}}]},name:"bar-chart",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},49634:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},5540:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},64739:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},48231:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z"}}]},name:"line-chart",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},69993:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"robot",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},40312:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z"}}]},name:"shopping-cart",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},71891:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1067.88-67.89 48 48 0 10-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z"}}]},name:"tags",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},41361:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(1119),a=n(2265),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z"}}]},name:"team",theme:"outlined"},c=n(55015),i=a.forwardRef(function(e,t){return a.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:r}))})},94789:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var o=n(5853),a=n(2265),r=n(26898),c=n(13241),i=n(1153);let l=(0,i.fn)("Callout"),s=a.forwardRef((e,t)=>{let{title:n,icon:s,color:d,className:u,children:m}=e,p=(0,o._T)(e,["title","icon","color","className","children"]);return a.createElement("div",Object.assign({ref:t,className:(0,c.q)(l("root"),"flex flex-col overflow-hidden rounded-tremor-default text-tremor-default border-l-4 py-3 pr-3 pl-4",d?(0,c.q)((0,i.bM)(d,r.K.background).bgColor,(0,i.bM)(d,r.K.darkBorder).borderColor,(0,i.bM)(d,r.K.darkText).textColor,"dark:bg-opacity-10 bg-opacity-10"):(0,c.q)("bg-tremor-brand-faint border-tremor-brand-emphasis text-tremor-brand-emphasis","dark:bg-dark-tremor-brand-muted/70 dark:border-dark-tremor-brand-emphasis dark:text-dark-tremor-brand-emphasis"),u)},p),a.createElement("div",{className:(0,c.q)(l("header"),"flex items-start")},s?a.createElement(s,{className:(0,c.q)(l("icon"),"flex-none h-5 w-5 mr-1.5")}):null,a.createElement("h4",{className:(0,c.q)(l("title"),"font-semibold")},n)),a.createElement("p",{className:(0,c.q)(l("body"),"overflow-y-auto",m?"mt-2":"")},m))});s.displayName="Callout"},35829:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(5853),a=n(26898),r=n(13241),c=n(1153),i=n(2265);let l=i.forwardRef((e,t)=>{let{color:n,children:l,className:s}=e,d=(0,o._T)(e,["color","children","className"]);return i.createElement("p",Object.assign({ref:t,className:(0,r.q)("font-semibold text-tremor-metric",n?(0,c.bM)(n,a.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",s)},d),l)});l.displayName="Metric"},51653:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var o=n(2265),a=n(8900),r=n(39725),c=n(49638),i=n(54537),l=n(55726),s=n(36760),d=n.n(s),u=n(66632),m=n(18242),p=n(28791),f=n(19722),g=n(71744),h=n(93463),v=n(12918),b=n(99320);let A=(e,t,n,o,a)=>({background:e,border:"".concat((0,h.bf)(o.lineWidth)," ").concat(o.lineType," ").concat(t),["".concat(a,"-icon")]:{color:n}}),I=e=>{let{componentCls:t,motionDurationSlow:n,marginXS:o,marginSM:a,fontSize:r,fontSizeLG:c,lineHeight:i,borderRadiusLG:l,motionEaseInOutCirc:s,withDescriptionIconSize:d,colorText:u,colorTextHeading:m,withDescriptionPadding:p,defaultPadding:f}=e;return{[t]:Object.assign(Object.assign({},(0,v.Wf)(e)),{position:"relative",display:"flex",alignItems:"center",padding:f,wordWrap:"break-word",borderRadius:l,["&".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-content")]:{flex:1,minWidth:0},["".concat(t,"-icon")]:{marginInlineEnd:o,lineHeight:0},"&-description":{display:"none",fontSize:r,lineHeight:i},"&-message":{color:m},["&".concat(t,"-motion-leave")]:{overflow:"hidden",opacity:1,transition:"max-height ".concat(n," ").concat(s,", opacity ").concat(n," ").concat(s,",\n padding-top ").concat(n," ").concat(s,", padding-bottom ").concat(n," ").concat(s,",\n margin-bottom ").concat(n," ").concat(s)},["&".concat(t,"-motion-leave-active")]:{maxHeight:0,marginBottom:"0 !important",paddingTop:0,paddingBottom:0,opacity:0}}),["".concat(t,"-with-description")]:{alignItems:"flex-start",padding:p,["".concat(t,"-icon")]:{marginInlineEnd:a,fontSize:d,lineHeight:0},["".concat(t,"-message")]:{display:"block",marginBottom:o,color:m,fontSize:c},["".concat(t,"-description")]:{display:"block",color:u}},["".concat(t,"-banner")]:{marginBottom:0,border:"0 !important",borderRadius:0}}},x=e=>{let{componentCls:t,colorSuccess:n,colorSuccessBorder:o,colorSuccessBg:a,colorWarning:r,colorWarningBorder:c,colorWarningBg:i,colorError:l,colorErrorBorder:s,colorErrorBg:d,colorInfo:u,colorInfoBorder:m,colorInfoBg:p}=e;return{[t]:{"&-success":A(a,o,n,e,t),"&-info":A(p,m,u,e,t),"&-warning":A(i,c,r,e,t),"&-error":Object.assign(Object.assign({},A(d,s,l,e,t)),{["".concat(t,"-description > pre")]:{margin:0,padding:0}})}}},y=e=>{let{componentCls:t,iconCls:n,motionDurationMid:o,marginXS:a,fontSizeIcon:r,colorIcon:c,colorIconHover:i}=e;return{[t]:{"&-action":{marginInlineStart:a},["".concat(t,"-close-icon")]:{marginInlineStart:a,padding:0,overflow:"hidden",fontSize:r,lineHeight:(0,h.bf)(r),backgroundColor:"transparent",border:"none",outline:"none",cursor:"pointer",["".concat(n,"-close")]:{color:c,transition:"color ".concat(o),"&:hover":{color:i}}},"&-close-text":{color:c,transition:"color ".concat(o),"&:hover":{color:i}}}}};var w=(0,b.I$)("Alert",e=>[I(e),x(e),y(e)],e=>({withDescriptionIconSize:e.fontSizeHeading3,defaultPadding:"".concat(e.paddingContentVerticalSM,"px ").concat(12,"px"),withDescriptionPadding:"".concat(e.paddingMD,"px ").concat(e.paddingContentHorizontalLG,"px")})),z=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,o=Object.getOwnPropertySymbols(e);at.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]]);return n};let k={success:a.Z,info:l.Z,error:r.Z,warning:i.Z},C=e=>{let{icon:t,prefixCls:n,type:a}=e,r=k[a]||null;return t?(0,f.wm)(t,o.createElement("span",{className:"".concat(n,"-icon")},t),()=>({className:d()("".concat(n,"-icon"),t.props.className)})):o.createElement(r,{className:"".concat(n,"-icon")})},M=e=>{let{isClosable:t,prefixCls:n,closeIcon:a,handleClose:r,ariaProps:i}=e,l=!0===a||void 0===a?o.createElement(c.Z,null):a;return t?o.createElement("button",Object.assign({type:"button",onClick:r,className:"".concat(n,"-close-icon"),tabIndex:0},i),l):null},_=o.forwardRef((e,t)=>{let{description:n,prefixCls:a,message:r,banner:c,className:i,rootClassName:l,style:s,onMouseEnter:f,onMouseLeave:h,onClick:v,afterClose:b,showIcon:A,closable:I,closeText:x,closeIcon:y,action:k,id:_}=e,E=z(e,["description","prefixCls","message","banner","className","rootClassName","style","onMouseEnter","onMouseLeave","onClick","afterClose","showIcon","closable","closeText","closeIcon","action","id"]),[S,j]=o.useState(!1),Z=o.useRef(null);o.useImperativeHandle(t,()=>({nativeElement:Z.current}));let{getPrefixCls:O,direction:N,closable:V,closeIcon:L,className:H,style:D}=(0,g.dj)("alert"),R=O("alert",a),[T,B,G]=w(R),P=t=>{var n;j(!0),null===(n=e.onClose)||void 0===n||n.call(e,t)},q=o.useMemo(()=>void 0!==e.type?e.type:c?"warning":"info",[e.type,c]),F=o.useMemo(()=>"object"==typeof I&&!!I.closeIcon||!!x||("boolean"==typeof I?I:!1!==y&&null!=y||!!V),[x,y,I,V]),W=!!c&&void 0===A||A,K=d()(R,"".concat(R,"-").concat(q),{["".concat(R,"-with-description")]:!!n,["".concat(R,"-no-icon")]:!W,["".concat(R,"-banner")]:!!c,["".concat(R,"-rtl")]:"rtl"===N},H,i,l,G,B),J=(0,m.Z)(E,{aria:!0,data:!0}),Q=o.useMemo(()=>"object"==typeof I&&I.closeIcon?I.closeIcon:x||(void 0!==y?y:"object"==typeof V&&V.closeIcon?V.closeIcon:L),[y,I,V,x,L]),X=o.useMemo(()=>{let e=null!=I?I:V;if("object"==typeof e){let{closeIcon:t}=e;return z(e,["closeIcon"])}return{}},[I,V]);return T(o.createElement(u.ZP,{visible:!S,motionName:"".concat(R,"-motion"),motionAppear:!1,motionEnter:!1,onLeaveStart:e=>({maxHeight:e.offsetHeight}),onLeaveEnd:b},(t,a)=>{let{className:c,style:i}=t;return o.createElement("div",Object.assign({id:_,ref:(0,p.sQ)(Z,a),"data-show":!S,className:d()(K,c),style:Object.assign(Object.assign(Object.assign({},D),s),i),onMouseEnter:f,onMouseLeave:h,onClick:v,role:"alert"},J),W?o.createElement(C,{description:n,icon:e.icon,prefixCls:R,type:q}):null,o.createElement("div",{className:"".concat(R,"-content")},r?o.createElement("div",{className:"".concat(R,"-message")},r):null,n?o.createElement("div",{className:"".concat(R,"-description")},n):null),k?o.createElement("div",{className:"".concat(R,"-action")},k):null,o.createElement(M,{isClosable:F,prefixCls:R,closeIcon:Q,handleClose:P,ariaProps:X}))}))});var E=n(76405),S=n(25049),j=n(24995),Z=n(63929),O=n(37977),N=n(41690);let V=function(e){function t(){var e,n,o;return(0,E.Z)(this,t),n=t,o=arguments,n=(0,j.Z)(n),(e=(0,O.Z)(this,(0,Z.Z)()?Reflect.construct(n,o||[],(0,j.Z)(this).constructor):n.apply(this,o))).state={error:void 0,info:{componentStack:""}},e}return(0,N.Z)(t,e),(0,S.Z)(t,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,info:t})}},{key:"render",value:function(){let{message:e,description:t,id:n,children:a}=this.props,{error:r,info:c}=this.state,i=(null==c?void 0:c.componentStack)||null,l=void 0===e?(r||"").toString():e;return r?o.createElement(_,{id:n,type:"error",message:l,description:o.createElement("pre",{style:{fontSize:"0.9em",overflowX:"auto"}},void 0===t?i:t)}):a}}])}(o.Component);_.ErrorBoundary=V;var L=_},19130:function(e,t,n){"use strict";n.d(t,{RM:function(){return a.Z},SC:function(){return l.Z},iA:function(){return o.Z},pj:function(){return r.Z},ss:function(){return c.Z},xs:function(){return i.Z}});var o=n(21626),a=n(97214),r=n(28241),c=n(58834),i=n(69552),l=n(71876)},90246:function(e,t,n){"use strict";function o(e){let t=[e];return{all:t,lists:()=>[...t,"list"],list:e=>[...t,"list",{params:e}],details:()=>[...t,"detail"],detail:e=>[...t,"detail",e]}}n.d(t,{n:function(){return o}})},11318:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(2265),a=n(39760),r=n(19250);let c=async(e,t,n,o)=>"Admin"!=n&&"Admin Viewer"!=n?await (0,r.teamListCall)(e,(null==o?void 0:o.organization_id)||null,t):await (0,r.teamListCall)(e,(null==o?void 0:o.organization_id)||null);var i=()=>{let[e,t]=(0,o.useState)([]),{accessToken:n,userId:r,userRole:i}=(0,a.Z)();return(0,o.useEffect)(()=>{(async()=>{t(await c(n,r,i,null))})()},[n,r,i]),{teams:e,setTeams:t}}},26661:function(e,t,n){"use strict";n.r(t);var o=n(57437),a=n(68478),r=n(39760),c=n(11318);t.default=()=>{let{accessToken:e,userRole:t,userId:n,premiumUser:i}=(0,r.Z)(),{teams:l}=(0,c.Z)();return(0,o.jsx)(a.Z,{teams:null!=l?l:[],organizations:[]})}},42673:function(e,t,n){"use strict";var o,a;n.d(t,{Cl:function(){return o},bK:function(){return d},cd:function(){return i},dr:function(){return l},fK:function(){return r},ph:function(){return s}}),(a=o||(o={})).A2A_Agent="A2A Agent",a.AIML="AI/ML API",a.Bedrock="Amazon Bedrock",a.Anthropic="Anthropic",a.AssemblyAI="AssemblyAI",a.SageMaker="AWS SageMaker",a.Azure="Azure",a.Azure_AI_Studio="Azure AI Foundry (Studio)",a.Cerebras="Cerebras",a.Cohere="Cohere",a.Dashscope="Dashscope",a.Databricks="Databricks (Qwen API)",a.DeepInfra="DeepInfra",a.Deepgram="Deepgram",a.Deepseek="Deepseek",a.ElevenLabs="ElevenLabs",a.FalAI="Fal AI",a.FireworksAI="Fireworks AI",a.Google_AI_Studio="Google AI Studio",a.GradientAI="GradientAI",a.Groq="Groq",a.Hosted_Vllm="vllm",a.Infinity="Infinity",a.JinaAI="Jina AI",a.MistralAI="Mistral AI",a.Ollama="Ollama",a.OpenAI="OpenAI",a.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",a.OpenAI_Text="OpenAI Text Completion",a.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",a.Openrouter="Openrouter",a.Oracle="Oracle Cloud Infrastructure (OCI)",a.Perplexity="Perplexity",a.RunwayML="RunwayML",a.Sambanova="Sambanova",a.Snowflake="Snowflake",a.TogetherAI="TogetherAI",a.Triton="Triton",a.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",a.VolcEngine="VolcEngine",a.Voyage="Voyage AI",a.xAI="xAI";let r={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},c="../ui/assets/logos/",i={"A2A Agent":"".concat(c,"a2a_agent.png"),"AI/ML API":"".concat(c,"aiml_api.svg"),Anthropic:"".concat(c,"anthropic.svg"),AssemblyAI:"".concat(c,"assemblyai_small.png"),Azure:"".concat(c,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(c,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(c,"bedrock.svg"),"AWS SageMaker":"".concat(c,"bedrock.svg"),Cerebras:"".concat(c,"cerebras.svg"),Cohere:"".concat(c,"cohere.svg"),"Databricks (Qwen API)":"".concat(c,"databricks.svg"),Dashscope:"".concat(c,"dashscope.svg"),Deepseek:"".concat(c,"deepseek.svg"),"Fireworks AI":"".concat(c,"fireworks.svg"),Groq:"".concat(c,"groq.svg"),"Google AI Studio":"".concat(c,"google.svg"),vllm:"".concat(c,"vllm.png"),Infinity:"".concat(c,"infinity.png"),"Mistral AI":"".concat(c,"mistral.svg"),Ollama:"".concat(c,"ollama.svg"),OpenAI:"".concat(c,"openai_small.svg"),"OpenAI Text Completion":"".concat(c,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(c,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(c,"openai_small.svg"),Openrouter:"".concat(c,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(c,"oracle.svg"),Perplexity:"".concat(c,"perplexity-ai.svg"),RunwayML:"".concat(c,"runwayml.png"),Sambanova:"".concat(c,"sambanova.svg"),Snowflake:"".concat(c,"snowflake.svg"),TogetherAI:"".concat(c,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(c,"google.svg"),xAI:"".concat(c,"xai.svg"),GradientAI:"".concat(c,"gradientai.svg"),Triton:"".concat(c,"nvidia_triton.png"),Deepgram:"".concat(c,"deepgram.png"),ElevenLabs:"".concat(c,"elevenlabs.png"),"Fal AI":"".concat(c,"fal_ai.jpg"),"Voyage AI":"".concat(c,"voyage.webp"),"Jina AI":"".concat(c,"jina.png"),VolcEngine:"".concat(c,"volcengine.png"),DeepInfra:"".concat(c,"deepinfra.png")},l=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:i[e],displayName:e}}let t=Object.keys(r).find(t=>r[t].toLowerCase()===e.toLowerCase());if(!t)return{logo:"",displayName:e};let n=o[t];return{logo:i[n],displayName:n}},s=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},d=(e,t)=>{console.log("Provider key: ".concat(e));let n=r[e];console.log("Provider mapped to: ".concat(n));let o=[];return e&&"object"==typeof t&&(Object.entries(t).forEach(e=>{let[t,a]=e;null!==a&&"object"==typeof a&&"litellm_provider"in a&&(a.litellm_provider===n||a.litellm_provider.includes(n))&&o.push(t)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(t).forEach(e=>{let[t,n]=e;null!==n&&"object"==typeof n&&"litellm_provider"in n&&"cohere_chat"===n.litellm_provider&&o.push(t)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(t).forEach(e=>{let[t,n]=e;null!==n&&"object"==typeof n&&"litellm_provider"in n&&"sagemaker_chat"===n.litellm_provider&&o.push(t)}))),o}},12322:function(e,t,n){"use strict";n.d(t,{w:function(){return l}});var o=n(57437),a=n(2265),r=n(71594),c=n(24525),i=n(19130);function l(e){let{data:t=[],columns:n,getRowCanExpand:l,renderSubComponent:s,isLoading:d=!1,loadingMessage:u="\uD83D\uDE85 Loading logs...",noDataMessage:m="No logs found"}=e,p=(0,r.b7)({data:t,columns:n,getRowCanExpand:l,getRowId:(e,t)=>{var n;return null!==(n=null==e?void 0:e.request_id)&&void 0!==n?n:String(t)},getCoreRowModel:(0,c.sC)(),getExpandedRowModel:(0,c.rV)()});return(0,o.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,o.jsxs)(i.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,o.jsx)(i.ss,{children:p.getHeaderGroups().map(e=>(0,o.jsx)(i.SC,{children:e.headers.map(e=>(0,o.jsx)(i.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,r.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,o.jsx)(i.RM,{children:d?(0,o.jsx)(i.SC,{children:(0,o.jsx)(i.pj,{colSpan:n.length,className:"h-8 text-center",children:(0,o.jsx)("div",{className:"text-center text-gray-500",children:(0,o.jsx)("p",{children:u})})})}):p.getRowModel().rows.length>0?p.getRowModel().rows.map(e=>(0,o.jsxs)(a.Fragment,{children:[(0,o.jsx)(i.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,o.jsx)(i.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,r.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,o.jsx)(i.SC,{children:(0,o.jsx)(i.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,o.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:s({row:e})})})})]},e.id)):(0,o.jsx)(i.SC,{children:(0,o.jsx)(i.pj,{colSpan:n.length,className:"h-8 text-center",children:(0,o.jsx)("div",{className:"text-center text-gray-500",children:(0,o.jsx)("p",{children:m})})})})})]})})}},10012:function(e,t,n){"use strict";n.d(t,{cx:function(){return c}});var o=n(49096),a=n(53335);let{cva:r,cx:c,compose:i}=(0,o.ZD)({hooks:{onComplete:e=>(0,a.m6)(e)}})}},function(e){e.O(0,[1047,6990,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,525,6609,1713,7996,4623,9611,2618,9349,2843,849,8049,4679,2202,874,4292,8478,2971,2117,1744],function(){return e(e.s=58109)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/usage/page-e0d45a52d4f486e6.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/usage/page-e0d45a52d4f486e6.js new file mode 100644 index 0000000000..b211f6204e --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/usage/page-e0d45a52d4f486e6.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4746],{55576:function(e,t,n){Promise.resolve().then(n.bind(n,26661))},37527:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z"}}]},name:"bank",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},9775:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z"}}]},name:"bar-chart",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},49634:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},5540:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},64739:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},48231:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z"}}]},name:"line-chart",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},40312:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z"}}]},name:"shopping-cart",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},71891:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1067.88-67.89 48 48 0 10-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z"}}]},name:"tags",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},41361:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var o=n(1119),r=n(2265),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z"}}]},name:"team",theme:"outlined"},c=n(55015),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,o.Z)({},e,{ref:t,icon:a}))})},94789:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var o=n(5853),r=n(2265),a=n(26898),c=n(13241),l=n(1153);let i=(0,l.fn)("Callout"),s=r.forwardRef((e,t)=>{let{title:n,icon:s,color:d,className:u,children:m}=e,p=(0,o._T)(e,["title","icon","color","className","children"]);return r.createElement("div",Object.assign({ref:t,className:(0,c.q)(i("root"),"flex flex-col overflow-hidden rounded-tremor-default text-tremor-default border-l-4 py-3 pr-3 pl-4",d?(0,c.q)((0,l.bM)(d,a.K.background).bgColor,(0,l.bM)(d,a.K.darkBorder).borderColor,(0,l.bM)(d,a.K.darkText).textColor,"dark:bg-opacity-10 bg-opacity-10"):(0,c.q)("bg-tremor-brand-faint border-tremor-brand-emphasis text-tremor-brand-emphasis","dark:bg-dark-tremor-brand-muted/70 dark:border-dark-tremor-brand-emphasis dark:text-dark-tremor-brand-emphasis"),u)},p),r.createElement("div",{className:(0,c.q)(i("header"),"flex items-start")},s?r.createElement(s,{className:(0,c.q)(i("icon"),"flex-none h-5 w-5 mr-1.5")}):null,r.createElement("h4",{className:(0,c.q)(i("title"),"font-semibold")},n)),r.createElement("p",{className:(0,c.q)(i("body"),"overflow-y-auto",m?"mt-2":"")},m))});s.displayName="Callout"},35829:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(5853),r=n(26898),a=n(13241),c=n(1153),l=n(2265);let i=l.forwardRef((e,t)=>{let{color:n,children:i,className:s}=e,d=(0,o._T)(e,["color","children","className"]);return l.createElement("p",Object.assign({ref:t,className:(0,a.q)("font-semibold text-tremor-metric",n?(0,c.bM)(n,r.K.darkText).textColor:"text-tremor-content-strong dark:text-dark-tremor-content-strong",s)},d),i)});i.displayName="Metric"},51653:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var o=n(2265),r=n(8900),a=n(39725),c=n(49638),l=n(54537),i=n(55726),s=n(36760),d=n.n(s),u=n(66632),m=n(18242),p=n(28791),f=n(19722),g=n(71744),h=n(93463),v=n(12918),b=n(99320);let A=(e,t,n,o,r)=>({background:e,border:"".concat((0,h.bf)(o.lineWidth)," ").concat(o.lineType," ").concat(t),["".concat(r,"-icon")]:{color:n}}),I=e=>{let{componentCls:t,motionDurationSlow:n,marginXS:o,marginSM:r,fontSize:a,fontSizeLG:c,lineHeight:l,borderRadiusLG:i,motionEaseInOutCirc:s,withDescriptionIconSize:d,colorText:u,colorTextHeading:m,withDescriptionPadding:p,defaultPadding:f}=e;return{[t]:Object.assign(Object.assign({},(0,v.Wf)(e)),{position:"relative",display:"flex",alignItems:"center",padding:f,wordWrap:"break-word",borderRadius:i,["&".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-content")]:{flex:1,minWidth:0},["".concat(t,"-icon")]:{marginInlineEnd:o,lineHeight:0},"&-description":{display:"none",fontSize:a,lineHeight:l},"&-message":{color:m},["&".concat(t,"-motion-leave")]:{overflow:"hidden",opacity:1,transition:"max-height ".concat(n," ").concat(s,", opacity ").concat(n," ").concat(s,",\n padding-top ").concat(n," ").concat(s,", padding-bottom ").concat(n," ").concat(s,",\n margin-bottom ").concat(n," ").concat(s)},["&".concat(t,"-motion-leave-active")]:{maxHeight:0,marginBottom:"0 !important",paddingTop:0,paddingBottom:0,opacity:0}}),["".concat(t,"-with-description")]:{alignItems:"flex-start",padding:p,["".concat(t,"-icon")]:{marginInlineEnd:r,fontSize:d,lineHeight:0},["".concat(t,"-message")]:{display:"block",marginBottom:o,color:m,fontSize:c},["".concat(t,"-description")]:{display:"block",color:u}},["".concat(t,"-banner")]:{marginBottom:0,border:"0 !important",borderRadius:0}}},x=e=>{let{componentCls:t,colorSuccess:n,colorSuccessBorder:o,colorSuccessBg:r,colorWarning:a,colorWarningBorder:c,colorWarningBg:l,colorError:i,colorErrorBorder:s,colorErrorBg:d,colorInfo:u,colorInfoBorder:m,colorInfoBg:p}=e;return{[t]:{"&-success":A(r,o,n,e,t),"&-info":A(p,m,u,e,t),"&-warning":A(l,c,a,e,t),"&-error":Object.assign(Object.assign({},A(d,s,i,e,t)),{["".concat(t,"-description > pre")]:{margin:0,padding:0}})}}},y=e=>{let{componentCls:t,iconCls:n,motionDurationMid:o,marginXS:r,fontSizeIcon:a,colorIcon:c,colorIconHover:l}=e;return{[t]:{"&-action":{marginInlineStart:r},["".concat(t,"-close-icon")]:{marginInlineStart:r,padding:0,overflow:"hidden",fontSize:a,lineHeight:(0,h.bf)(a),backgroundColor:"transparent",border:"none",outline:"none",cursor:"pointer",["".concat(n,"-close")]:{color:c,transition:"color ".concat(o),"&:hover":{color:l}}},"&-close-text":{color:c,transition:"color ".concat(o),"&:hover":{color:l}}}}};var w=(0,b.I$)("Alert",e=>[I(e),x(e),y(e)],e=>({withDescriptionIconSize:e.fontSizeHeading3,defaultPadding:"".concat(e.paddingContentVerticalSM,"px ").concat(12,"px"),withDescriptionPadding:"".concat(e.paddingMD,"px ").concat(e.paddingContentHorizontalLG,"px")})),k=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(e);rt.indexOf(o[r])&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};let C={success:r.Z,info:i.Z,error:a.Z,warning:l.Z},z=e=>{let{icon:t,prefixCls:n,type:r}=e,a=C[r]||null;return t?(0,f.wm)(t,o.createElement("span",{className:"".concat(n,"-icon")},t),()=>({className:d()("".concat(n,"-icon"),t.props.className)})):o.createElement(a,{className:"".concat(n,"-icon")})},M=e=>{let{isClosable:t,prefixCls:n,closeIcon:r,handleClose:a,ariaProps:l}=e,i=!0===r||void 0===r?o.createElement(c.Z,null):r;return t?o.createElement("button",Object.assign({type:"button",onClick:a,className:"".concat(n,"-close-icon"),tabIndex:0},l),i):null},_=o.forwardRef((e,t)=>{let{description:n,prefixCls:r,message:a,banner:c,className:l,rootClassName:i,style:s,onMouseEnter:f,onMouseLeave:h,onClick:v,afterClose:b,showIcon:A,closable:I,closeText:x,closeIcon:y,action:C,id:_}=e,j=k(e,["description","prefixCls","message","banner","className","rootClassName","style","onMouseEnter","onMouseLeave","onClick","afterClose","showIcon","closable","closeText","closeIcon","action","id"]),[E,O]=o.useState(!1),S=o.useRef(null);o.useImperativeHandle(t,()=>({nativeElement:S.current}));let{getPrefixCls:Z,direction:N,closable:V,closeIcon:L,className:H,style:D}=(0,g.dj)("alert"),R=Z("alert",r),[T,B,G]=w(R),P=t=>{var n;O(!0),null===(n=e.onClose)||void 0===n||n.call(e,t)},q=o.useMemo(()=>void 0!==e.type?e.type:c?"warning":"info",[e.type,c]),F=o.useMemo(()=>"object"==typeof I&&!!I.closeIcon||!!x||("boolean"==typeof I?I:!1!==y&&null!=y||!!V),[x,y,I,V]),W=!!c&&void 0===A||A,K=d()(R,"".concat(R,"-").concat(q),{["".concat(R,"-with-description")]:!!n,["".concat(R,"-no-icon")]:!W,["".concat(R,"-banner")]:!!c,["".concat(R,"-rtl")]:"rtl"===N},H,l,i,G,B),J=(0,m.Z)(j,{aria:!0,data:!0}),Q=o.useMemo(()=>"object"==typeof I&&I.closeIcon?I.closeIcon:x||(void 0!==y?y:"object"==typeof V&&V.closeIcon?V.closeIcon:L),[y,I,V,x,L]),X=o.useMemo(()=>{let e=null!=I?I:V;if("object"==typeof e){let{closeIcon:t}=e;return k(e,["closeIcon"])}return{}},[I,V]);return T(o.createElement(u.ZP,{visible:!E,motionName:"".concat(R,"-motion"),motionAppear:!1,motionEnter:!1,onLeaveStart:e=>({maxHeight:e.offsetHeight}),onLeaveEnd:b},(t,r)=>{let{className:c,style:l}=t;return o.createElement("div",Object.assign({id:_,ref:(0,p.sQ)(S,r),"data-show":!E,className:d()(K,c),style:Object.assign(Object.assign(Object.assign({},D),s),l),onMouseEnter:f,onMouseLeave:h,onClick:v,role:"alert"},J),W?o.createElement(z,{description:n,icon:e.icon,prefixCls:R,type:q}):null,o.createElement("div",{className:"".concat(R,"-content")},a?o.createElement("div",{className:"".concat(R,"-message")},a):null,n?o.createElement("div",{className:"".concat(R,"-description")},n):null),C?o.createElement("div",{className:"".concat(R,"-action")},C):null,o.createElement(M,{isClosable:F,prefixCls:R,closeIcon:Q,handleClose:P,ariaProps:X}))}))});var j=n(76405),E=n(25049),O=n(24995),S=n(63929),Z=n(37977),N=n(41690);let V=function(e){function t(){var e,n,o;return(0,j.Z)(this,t),n=t,o=arguments,n=(0,O.Z)(n),(e=(0,Z.Z)(this,(0,S.Z)()?Reflect.construct(n,o||[],(0,O.Z)(this).constructor):n.apply(this,o))).state={error:void 0,info:{componentStack:""}},e}return(0,N.Z)(t,e),(0,E.Z)(t,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,info:t})}},{key:"render",value:function(){let{message:e,description:t,id:n,children:r}=this.props,{error:a,info:c}=this.state,l=(null==c?void 0:c.componentStack)||null,i=void 0===e?(a||"").toString():e;return a?o.createElement(_,{id:n,type:"error",message:i,description:o.createElement("pre",{style:{fontSize:"0.9em",overflowX:"auto"}},void 0===t?l:t)}):r}}])}(o.Component);_.ErrorBoundary=V;var L=_},19130:function(e,t,n){"use strict";n.d(t,{RM:function(){return r.Z},SC:function(){return i.Z},iA:function(){return o.Z},pj:function(){return a.Z},ss:function(){return c.Z},xs:function(){return l.Z}});var o=n(21626),r=n(97214),a=n(28241),c=n(58834),l=n(69552),i=n(71876)},90246:function(e,t,n){"use strict";function o(e){let t=[e];return{all:t,lists:()=>[...t,"list"],list:e=>[...t,"list",{params:e}],details:()=>[...t,"detail"],detail:e=>[...t,"detail",e]}}n.d(t,{n:function(){return o}})},26661:function(e,t,n){"use strict";n.r(t);var o=n(57437),r=n(51385),a=n(39760),c=n(11318);t.default=()=>{let{accessToken:e,userRole:t,userId:n,premiumUser:l}=(0,a.Z)(),{teams:i}=(0,c.Z)();return(0,o.jsx)(r.Z,{teams:null!=i?i:[],organizations:[]})}},42673:function(e,t,n){"use strict";var o,r;n.d(t,{Cl:function(){return o},bK:function(){return d},cd:function(){return l},dr:function(){return i},fK:function(){return a},ph:function(){return s}}),(r=o||(o={})).A2A_Agent="A2A Agent",r.AIML="AI/ML API",r.Bedrock="Amazon Bedrock",r.Anthropic="Anthropic",r.AssemblyAI="AssemblyAI",r.SageMaker="AWS SageMaker",r.Azure="Azure",r.Azure_AI_Studio="Azure AI Foundry (Studio)",r.Cerebras="Cerebras",r.Cohere="Cohere",r.Dashscope="Dashscope",r.Databricks="Databricks (Qwen API)",r.DeepInfra="DeepInfra",r.Deepgram="Deepgram",r.Deepseek="Deepseek",r.ElevenLabs="ElevenLabs",r.FalAI="Fal AI",r.FireworksAI="Fireworks AI",r.Google_AI_Studio="Google AI Studio",r.GradientAI="GradientAI",r.Groq="Groq",r.Hosted_Vllm="vllm",r.Infinity="Infinity",r.JinaAI="Jina AI",r.MistralAI="Mistral AI",r.Ollama="Ollama",r.OpenAI="OpenAI",r.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",r.OpenAI_Text="OpenAI Text Completion",r.OpenAI_Text_Compatible="OpenAI-Compatible Text Completion Models (Together AI, etc.)",r.Openrouter="Openrouter",r.Oracle="Oracle Cloud Infrastructure (OCI)",r.Perplexity="Perplexity",r.RunwayML="RunwayML",r.Sambanova="Sambanova",r.Snowflake="Snowflake",r.TogetherAI="TogetherAI",r.Triton="Triton",r.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",r.VolcEngine="VolcEngine",r.Voyage="Voyage AI",r.xAI="xAI";let a={A2A_Agent:"a2a_agent",AIML:"aiml",OpenAI:"openai",OpenAI_Text:"text-completion-openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere",OpenAI_Compatible:"openai",OpenAI_Text_Compatible:"text-completion-openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Dashscope:"dashscope",xAI:"xai",Deepseek:"deepseek",Ollama:"ollama",AssemblyAI:"assemblyai",Cerebras:"cerebras",Sambanova:"sambanova",Perplexity:"perplexity",RunwayML:"runwayml",TogetherAI:"together_ai",Openrouter:"openrouter",Oracle:"oci",Snowflake:"snowflake",FireworksAI:"fireworks_ai",GradientAI:"gradient_ai",Triton:"triton",Deepgram:"deepgram",ElevenLabs:"elevenlabs",FalAI:"fal_ai",SageMaker:"sagemaker_chat",Voyage:"voyage",JinaAI:"jina_ai",VolcEngine:"volcengine",DeepInfra:"deepinfra",Hosted_Vllm:"hosted_vllm",Infinity:"infinity"},c="../ui/assets/logos/",l={"A2A Agent":"".concat(c,"a2a_agent.png"),"AI/ML API":"".concat(c,"aiml_api.svg"),Anthropic:"".concat(c,"anthropic.svg"),AssemblyAI:"".concat(c,"assemblyai_small.png"),Azure:"".concat(c,"microsoft_azure.svg"),"Azure AI Foundry (Studio)":"".concat(c,"microsoft_azure.svg"),"Amazon Bedrock":"".concat(c,"bedrock.svg"),"AWS SageMaker":"".concat(c,"bedrock.svg"),Cerebras:"".concat(c,"cerebras.svg"),Cohere:"".concat(c,"cohere.svg"),"Databricks (Qwen API)":"".concat(c,"databricks.svg"),Dashscope:"".concat(c,"dashscope.svg"),Deepseek:"".concat(c,"deepseek.svg"),"Fireworks AI":"".concat(c,"fireworks.svg"),Groq:"".concat(c,"groq.svg"),"Google AI Studio":"".concat(c,"google.svg"),vllm:"".concat(c,"vllm.png"),Infinity:"".concat(c,"infinity.png"),"Mistral AI":"".concat(c,"mistral.svg"),Ollama:"".concat(c,"ollama.svg"),OpenAI:"".concat(c,"openai_small.svg"),"OpenAI Text Completion":"".concat(c,"openai_small.svg"),"OpenAI-Compatible Text Completion Models (Together AI, etc.)":"".concat(c,"openai_small.svg"),"OpenAI-Compatible Endpoints (Together AI, etc.)":"".concat(c,"openai_small.svg"),Openrouter:"".concat(c,"openrouter.svg"),"Oracle Cloud Infrastructure (OCI)":"".concat(c,"oracle.svg"),Perplexity:"".concat(c,"perplexity-ai.svg"),RunwayML:"".concat(c,"runwayml.png"),Sambanova:"".concat(c,"sambanova.svg"),Snowflake:"".concat(c,"snowflake.svg"),TogetherAI:"".concat(c,"togetherai.svg"),"Vertex AI (Anthropic, Gemini, etc.)":"".concat(c,"google.svg"),xAI:"".concat(c,"xai.svg"),GradientAI:"".concat(c,"gradientai.svg"),Triton:"".concat(c,"nvidia_triton.png"),Deepgram:"".concat(c,"deepgram.png"),ElevenLabs:"".concat(c,"elevenlabs.png"),"Fal AI":"".concat(c,"fal_ai.jpg"),"Voyage AI":"".concat(c,"voyage.webp"),"Jina AI":"".concat(c,"jina.png"),VolcEngine:"".concat(c,"volcengine.png"),DeepInfra:"".concat(c,"deepinfra.png")},i=e=>{if(!e)return{logo:"",displayName:"-"};if("gemini"===e.toLowerCase()){let e="Google AI Studio";return{logo:l[e],displayName:e}}let t=Object.keys(a).find(t=>a[t].toLowerCase()===e.toLowerCase());if(!t)return{logo:"",displayName:e};let n=o[t];return{logo:l[n],displayName:n}},s=e=>{if("AI/ML API"===e)return"aiml/flux-pro/v1.1";if("Vertex AI (Anthropic, Gemini, etc.)"===e)return"gemini-pro";if("Anthropic"==e||"Amazon Bedrock"==e)return"claude-3-opus";if("AWS SageMaker"==e)return"sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b";if("Google AI Studio"==e)return"gemini-pro";if("Azure AI Foundry (Studio)"==e)return"azure_ai/command-r-plus";else if("Azure"==e)return"my-deployment";else if("Oracle Cloud Infrastructure (OCI)"==e)return"oci/xai.grok-4";else if("Snowflake"==e)return"snowflake/mistral-7b";else if("Voyage AI"==e)return"voyage/";else if("Jina AI"==e)return"jina_ai/";else if("VolcEngine"==e)return"volcengine/";else if("DeepInfra"==e)return"deepinfra/";else if("Fal AI"==e)return"fal_ai/fal-ai/flux-pro/v1.1-ultra";else if("RunwayML"==e)return"runwayml/gen4_turbo";else return"gpt-3.5-turbo"},d=(e,t)=>{console.log("Provider key: ".concat(e));let n=a[e];console.log("Provider mapped to: ".concat(n));let o=[];return e&&"object"==typeof t&&(Object.entries(t).forEach(e=>{let[t,r]=e;null!==r&&"object"==typeof r&&"litellm_provider"in r&&(r.litellm_provider===n||r.litellm_provider.includes(n))&&o.push(t)}),"Cohere"==e&&(console.log("Adding cohere chat models"),Object.entries(t).forEach(e=>{let[t,n]=e;null!==n&&"object"==typeof n&&"litellm_provider"in n&&"cohere_chat"===n.litellm_provider&&o.push(t)})),"AWS SageMaker"==e&&(console.log("Adding sagemaker chat models"),Object.entries(t).forEach(e=>{let[t,n]=e;null!==n&&"object"==typeof n&&"litellm_provider"in n&&"sagemaker_chat"===n.litellm_provider&&o.push(t)}))),o}},12322:function(e,t,n){"use strict";n.d(t,{w:function(){return i}});var o=n(57437),r=n(2265),a=n(71594),c=n(24525),l=n(19130);function i(e){let{data:t=[],columns:n,getRowCanExpand:i,renderSubComponent:s,isLoading:d=!1,loadingMessage:u="\uD83D\uDE85 Loading logs...",noDataMessage:m="No logs found"}=e,p=(0,a.b7)({data:t,columns:n,getRowCanExpand:i,getRowId:(e,t)=>{var n;return null!==(n=null==e?void 0:e.request_id)&&void 0!==n?n:String(t)},getCoreRowModel:(0,c.sC)(),getExpandedRowModel:(0,c.rV)()});return(0,o.jsx)("div",{className:"rounded-lg custom-border overflow-x-auto w-full max-w-full box-border",children:(0,o.jsxs)(l.iA,{className:"[&_td]:py-0.5 [&_th]:py-1 table-fixed w-full box-border",style:{minWidth:"400px"},children:[(0,o.jsx)(l.ss,{children:p.getHeaderGroups().map(e=>(0,o.jsx)(l.SC,{children:e.headers.map(e=>(0,o.jsx)(l.xs,{className:"py-1 h-8",children:e.isPlaceholder?null:(0,a.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,o.jsx)(l.RM,{children:d?(0,o.jsx)(l.SC,{children:(0,o.jsx)(l.pj,{colSpan:n.length,className:"h-8 text-center",children:(0,o.jsx)("div",{className:"text-center text-gray-500",children:(0,o.jsx)("p",{children:u})})})}):p.getRowModel().rows.length>0?p.getRowModel().rows.map(e=>(0,o.jsxs)(r.Fragment,{children:[(0,o.jsx)(l.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,o.jsx)(l.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,a.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),e.getIsExpanded()&&(0,o.jsx)(l.SC,{children:(0,o.jsx)(l.pj,{colSpan:e.getVisibleCells().length,className:"p-0",children:(0,o.jsx)("div",{className:"w-full max-w-full overflow-hidden box-border",children:s({row:e})})})})]},e.id)):(0,o.jsx)(l.SC,{children:(0,o.jsx)(l.pj,{colSpan:n.length,className:"h-8 text-center",children:(0,o.jsx)("div",{className:"text-center text-gray-500",children:(0,o.jsx)("p",{children:m})})})})})]})})}},10012:function(e,t,n){"use strict";n.d(t,{cx:function(){return c}});var o=n(49096),r=n(53335);let{cva:a,cx:c,compose:l}=(0,o.ZD)({hooks:{onComplete:e=>(0,r.m6)(e)}})},44633:function(e,t,n){"use strict";var o=n(2265);let r=o.forwardRef(function(e,t){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});t.Z=r}},function(e){e.O(0,[1047,6990,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5319,5333,525,6609,1713,7996,9611,2618,1130,5105,2843,4042,8049,4679,2202,874,4292,1385,2971,2117,1744],function(){return e(e.s=55576)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/users/page-080f7500175749cb.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/users/page-a93ecbc03b9176f1.js similarity index 71% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/users/page-080f7500175749cb.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/users/page-a93ecbc03b9176f1.js index 6c48fb8297..ea0e46f181 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/users/page-080f7500175749cb.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/users/page-a93ecbc03b9176f1.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7297],{32963:function(e,n,r){Promise.resolve().then(r.bind(r,87654))},84717:function(e,n,r){"use strict";r.d(n,{Ct:function(){return t.Z},Dx:function(){return m.Z},OK:function(){return u.Z},Zb:function(){return i.Z},nP:function(){return d.Z},rj:function(){return o.Z},td:function(){return c.Z},v0:function(){return a.Z},x4:function(){return s.Z},xv:function(){return f.Z},zx:function(){return l.Z}});var t=r(41649),l=r(78489),i=r(12514),o=r(67101),u=r(12485),a=r(18135),c=r(35242),s=r(29706),d=r(77991),f=r(84264),m=r(96761)},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},39760:function(e,n,r){"use strict";var t=r(2265),l=r(99376),i=r(14474),o=r(3914),u=r(19250);n.Z=()=>{var e,n,r,a,c,s;let d=(0,l.useRouter)(),f="undefined"!=typeof document?(0,o.e)("token"):null;(0,t.useEffect)(()=>{f||d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let m=(0,t.useMemo)(()=>{if(!f)return null;try{return(0,i.o)(f)}catch(e){return(0,o.b)(),d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(n=null==m?void 0:m.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==m?void 0:m.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(a=null==m?void 0:m.user_role)&&void 0!==a?a:null),premiumUser:null!==(c=null==m?void 0:m.premium_user)&&void 0!==c?c:null,disabledPersonalKeyCreation:null!==(s=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==s?s:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},11318:function(e,n,r){"use strict";r.d(n,{Z:function(){return u}});var t=r(2265),l=r(39760),i=r(19250);let o=async(e,n,r,t)=>"Admin"!=r&&"Admin Viewer"!=r?await (0,i.teamListCall)(e,(null==t?void 0:t.organization_id)||null,n):await (0,i.teamListCall)(e,(null==t?void 0:t.organization_id)||null);var u=()=>{let[e,n]=(0,t.useState)([]),{accessToken:r,userId:i,userRole:u}=(0,l.Z)();return(0,t.useEffect)(()=>{(async()=>{n(await o(r,i,u,null))})()},[r,i,u]),{teams:e,setTeams:n}}},87654:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(86653),i=r(39760),o=r(11318),u=r(2265),a=r(21623),c=r(29827);n.default=()=>{let{accessToken:e,userRole:n,userId:r,token:s}=(0,i.Z)(),[d,f]=(0,u.useState)([]),{teams:m}=(0,o.Z)(),p=new a.S;return(0,t.jsx)(c.aH,{client:p,children:(0,t.jsx)(l.Z,{accessToken:e,token:s,keys:d,userRole:n,userID:r,teams:m,setKeys:f})})}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return s}});var t=r(57437),l=r(57840),i=r(22116),o=r(51653),u=r(76188),a=r(4260),c=r(2265);function s(e){let{isOpen:n,title:r,alertMessage:s,message:d,resourceInformationTitle:f,resourceInformation:m,onCancel:p,onOk:v,confirmLoading:h,requiredConfirmation:x}=e,{Title:g,Text:y}=l.default,[b,_]=(0,c.useState)("");return(0,c.useEffect)(()=>{n&&_("")},[n]),(0,t.jsx)(i.Z,{title:r,open:n,onOk:v,onCancel:p,confirmLoading:h,okText:h?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!x&&b!==x||h},cancelButtonProps:{disabled:h},children:(0,t.jsxs)("div",{className:"space-y-4",children:[s&&(0,t.jsx)(o.Z,{message:s,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(g,{level:5,className:"mb-3 text-gray-900",children:f}),(0,t.jsx)(u.Z,{column:1,size:"small",children:m&&m.map(e=>{let{label:n,value:r,...l}=e;return(0,t.jsx)(u.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(y,{...l,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(y,{children:d})}),x&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(y,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(y,{children:"Type "}),(0,t.jsx)(y,{strong:!0,type:"danger",children:x}),(0,t.jsx)(y,{children:" to confirm deletion:"})]}),(0,t.jsx)(a.default,{value:b,onChange:e=>_(e.target.value),placeholder:x,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},46468:function(e,n,r){"use strict";r.d(n,{K2:function(){return l},Ob:function(){return o},W0:function(){return i}});var t=r(19250);let l=async(e,n,r)=>{try{if(null===e||null===n)return;if(null!==r){let l=(await (0,t.modelAvailableCall)(r,e,n,!0,null,!0)).data.map(e=>e.id),i=[],o=[];return l.forEach(e=>{e.endsWith("/*")?i.push(e):o.push(e)}),[...i,...o]}}catch(e){console.error("Error fetching user models:",e)}},i=e=>{if("all-proxy-models"===e)return"All Proxy Models";if(e.endsWith("/*")){let n=e.replace("/*","");return"All ".concat(n," models")}return e},o=(e,n)=>{let r=[],t=[];return console.log("teamModels",e),console.log("allModels",n),e.forEach(e=>{if(e.endsWith("/*")){let l=e.replace("/*",""),i=n.filter(e=>e.startsWith(l+"/"));t.push(...i),r.push(e)}else t.push(e)}),[...r,...t].filter((e,n,r)=>r.indexOf(e)===n)}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return i}});var t=r(57437);r(2265);var l=r(30150),i=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:i="Enter a numerical value",min:o,max:u,onChange:a,...c}=e;return(0,t.jsx)(l.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:i,min:o,max:u,onChange:a,...c})}},59872:function(e,n,r){"use strict";r.d(n,{GS:function(){return o},nl:function(){return l},pw:function(){return i},vQ:function(){return u}});var t=r(9114);function l(e,n){let r=structuredClone(e);for(let[e,t]of Object.entries(n))e in r&&(r[e]=t);return r}let i=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!t)return"-";let l={minimumFractionDigits:n,maximumFractionDigits:n};if(!r)return e.toLocaleString("en-US",l);let i=Math.abs(e),o=i,u="";return i>=1e6?(o=i/1e6,u="M"):i>=1e3&&(o=i/1e3,u="K"),"".concat(e<0?"-":"").concat(o.toLocaleString("en-US",l)).concat(u)},o=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let r=i(e,n,!1,!1);if(0===Number(r.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(r)},u=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return a(e,n);try{return await navigator.clipboard.writeText(e),t.Z.success(n),!0}catch(r){return console.error("Clipboard API failed: ",r),a(e,n)}},a=(e,n)=>{try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.left="-999999px",r.style.top="-999999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select();let l=document.execCommand("copy");if(document.body.removeChild(r),l)return t.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return t.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return i},P4:function(){return u},ZL:function(){return t},lo:function(){return l},tY:function(){return o}});let t=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],l=["Internal User","Internal Viewer"],i=["Internal User","Admin","proxy_admin"],o=e=>t.includes(e),u=e=>"proxy_admin"===e||"Admin"===e}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,5869,525,6609,1713,4546,4623,1971,8049,2202,6653,2971,2117,1744],function(){return e(e.s=32963)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7297],{27996:function(e,n,r){Promise.resolve().then(r.bind(r,87654))},84717:function(e,n,r){"use strict";r.d(n,{Ct:function(){return t.Z},Dx:function(){return m.Z},OK:function(){return u.Z},Zb:function(){return i.Z},nP:function(){return d.Z},rj:function(){return o.Z},td:function(){return s.Z},v0:function(){return a.Z},x4:function(){return c.Z},xv:function(){return f.Z},zx:function(){return l.Z}});var t=r(41649),l=r(78489),i=r(12514),o=r(67101),u=r(12485),a=r(18135),s=r(35242),c=r(29706),d=r(77991),f=r(84264),m=r(96761)},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},39760:function(e,n,r){"use strict";var t=r(2265),l=r(99376),i=r(14474),o=r(3914),u=r(19250);n.Z=()=>{var e,n,r,a,s,c;let d=(0,l.useRouter)(),f="undefined"!=typeof document?(0,o.e)("token"):null;(0,t.useEffect)(()=>{f||d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login"))},[f,d]);let m=(0,t.useMemo)(()=>{if(!f)return null;try{return(0,i.o)(f)}catch(e){return(0,o.b)(),d.replace("".concat((0,u.getProxyBaseUrl)(),"/ui/login")),null}},[f,d]);return{token:f,accessToken:null!==(e=null==m?void 0:m.key)&&void 0!==e?e:null,userId:null!==(n=null==m?void 0:m.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==m?void 0:m.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(a=null==m?void 0:m.user_role)&&void 0!==a?a:null),premiumUser:null!==(s=null==m?void 0:m.premium_user)&&void 0!==s?s:null,disabledPersonalKeyCreation:null!==(c=null==m?void 0:m.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==m?void 0:m.login_method)==="username_password"}}},11318:function(e,n,r){"use strict";r.d(n,{Z:function(){return u}});var t=r(2265),l=r(39760),i=r(19250);let o=async(e,n,r,t)=>"Admin"!=r&&"Admin Viewer"!=r?await (0,i.teamListCall)(e,(null==t?void 0:t.organization_id)||null,n):await (0,i.teamListCall)(e,(null==t?void 0:t.organization_id)||null);var u=()=>{let[e,n]=(0,t.useState)([]),{accessToken:r,userId:i,userRole:u}=(0,l.Z)();return(0,t.useEffect)(()=>{(async()=>{n(await o(r,i,u,null))})()},[r,i,u]),{teams:e,setTeams:n}}},87654:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(86653),i=r(39760),o=r(11318),u=r(2265),a=r(21623),s=r(29827);n.default=()=>{let{accessToken:e,userRole:n,userId:r,token:c}=(0,i.Z)(),[d,f]=(0,u.useState)([]),{teams:m}=(0,o.Z)(),p=new a.S;return(0,t.jsx)(s.aH,{client:p,children:(0,t.jsx)(l.Z,{accessToken:e,token:c,keys:d,userRole:n,userID:r,teams:m,setKeys:f})})}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return c}});var t=r(57437),l=r(57840),i=r(22116),o=r(51653),u=r(76188),a=r(4260),s=r(2265);function c(e){let{isOpen:n,title:r,alertMessage:c,message:d,resourceInformationTitle:f,resourceInformation:m,onCancel:p,onOk:h,confirmLoading:v,requiredConfirmation:x}=e,{Title:g,Text:y}=l.default,[_,b]=(0,s.useState)("");return(0,s.useEffect)(()=>{n&&b("")},[n]),(0,t.jsx)(i.Z,{title:r,open:n,onOk:h,onCancel:p,confirmLoading:v,okText:v?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!x&&_!==x||v},cancelButtonProps:{disabled:v},children:(0,t.jsxs)("div",{className:"space-y-4",children:[c&&(0,t.jsx)(o.Z,{message:c,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(g,{level:5,className:"mb-3 text-gray-900",children:f}),(0,t.jsx)(u.Z,{column:1,size:"small",children:m&&m.map(e=>{let{label:n,value:r,...l}=e;return(0,t.jsx)(u.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(y,{...l,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(y,{children:d})}),x&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(y,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(y,{children:"Type "}),(0,t.jsx)(y,{strong:!0,type:"danger",children:x}),(0,t.jsx)(y,{children:" to confirm deletion:"})]}),(0,t.jsx)(a.default,{value:_,onChange:e=>b(e.target.value),placeholder:x,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},46468:function(e,n,r){"use strict";r.d(n,{K2:function(){return l},Ob:function(){return o},W0:function(){return i}});var t=r(19250);let l=async(e,n,r)=>{try{if(null===e||null===n)return;if(null!==r){let l=(await (0,t.modelAvailableCall)(r,e,n,!0,null,!0)).data.map(e=>e.id),i=[],o=[];return l.forEach(e=>{e.endsWith("/*")?i.push(e):o.push(e)}),[...i,...o]}}catch(e){console.error("Error fetching user models:",e)}},i=e=>{if("all-proxy-models"===e)return"All Proxy Models";if(e.endsWith("/*")){let n=e.replace("/*","");return"All ".concat(n," models")}return e},o=(e,n)=>{let r=[],t=[];return console.log("teamModels",e),console.log("allModels",n),e.forEach(e=>{if(e.endsWith("/*")){let l=e.replace("/*",""),i=n.filter(e=>e.startsWith(l+"/"));t.push(...i),r.push(e)}else t.push(e)}),[...r,...t].filter((e,n,r)=>r.indexOf(e)===n)}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return i}});var t=r(57437);r(2265);var l=r(30150),i=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:i="Enter a numerical value",min:o,max:u,onChange:a,...s}=e;return(0,t.jsx)(l.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:i,min:o,max:u,onChange:a,...s})}},59872:function(e,n,r){"use strict";r.d(n,{GS:function(){return o},nl:function(){return l},pw:function(){return i},vQ:function(){return u}});var t=r(9114);function l(e,n){let r=structuredClone(e);for(let[e,t]of Object.entries(n))e in r&&(r[e]=t);return r}let i=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=!(arguments.length>3)||void 0===arguments[3]||arguments[3];if(null==e||!Number.isFinite(e)||0===e&&!t)return"-";let l={minimumFractionDigits:n,maximumFractionDigits:n};if(!r)return e.toLocaleString("en-US",l);let i=Math.abs(e),o=i,u="";return i>=1e6?(o=i/1e6,u="M"):i>=1e3&&(o=i/1e3,u="K"),"".concat(e<0?"-":"").concat(o.toLocaleString("en-US",l)).concat(u)},o=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(null==e||!Number.isFinite(e)||0===e)return"-";let r=i(e,n,!1,!1);if(0===Number(r.replace(/,/g,""))){let e=(1/10**n).toFixed(n);return"< $".concat(e)}return"$".concat(r)},u=async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Copied to clipboard";if(!e)return!1;if(!navigator||!navigator.clipboard||!navigator.clipboard.writeText)return a(e,n);try{return await navigator.clipboard.writeText(e),t.Z.success(n),!0}catch(r){return console.error("Clipboard API failed: ",r),a(e,n)}},a=(e,n)=>{try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.left="-999999px",r.style.top="-999999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select();let l=document.execCommand("copy");if(document.body.removeChild(r),l)return t.Z.success(n),!0;throw Error("execCommand failed")}catch(e){return t.Z.fromBackend("Failed to copy to clipboard"),console.error("Failed to copy: ",e),!1}}},20347:function(e,n,r){"use strict";r.d(n,{LQ:function(){return i},P4:function(){return u},ZL:function(){return t},_p:function(){return s},lo:function(){return l},tY:function(){return o},yV:function(){return a}});let t=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],l=["Internal User","Internal Viewer"],i=["Internal User","Admin","proxy_admin"],o=e=>t.includes(e),u=e=>"proxy_admin"===e||"Admin"===e,a=(e,n)=>null!=e&&e.some(e=>s(e,n)),s=(e,n)=>null!=e&&null!=e.members_with_roles&&e.members_with_roles.some(e=>e.user_id===n&&"admin"===e.role)}},function(e){e.O(0,[1047,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5869,5319,5333,525,6609,1713,4546,5945,7685,3911,8049,2202,6653,2971,2117,1744],function(){return e(e.s=27996)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/virtual-keys/page-8ad34276345dfe19.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/virtual-keys/page-8ad34276345dfe19.js deleted file mode 100644 index c19a2fc5e4..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/virtual-keys/page-8ad34276345dfe19.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7049],{4222:function(e,a,n){Promise.resolve().then(n.bind(n,2425))},16312:function(e,a,n){"use strict";n.d(a,{z:function(){return t.Z}});var t=n(78489)},10178:function(e,a,n){"use strict";n.d(a,{JO:function(){return t.Z},RM:function(){return l.Z},SC:function(){return o.Z},iA:function(){return r.Z},pj:function(){return s.Z},ss:function(){return i.Z},xs:function(){return c.Z}});var t=n(47323),r=n(21626),l=n(97214),s=n(28241),i=n(58834),c=n(69552),o=n(71876)},11318:function(e,a,n){"use strict";n.d(a,{Z:function(){return i}});var t=n(2265),r=n(39760),l=n(19250);let s=async(e,a,n,t)=>"Admin"!=n&&"Admin Viewer"!=n?await (0,l.teamListCall)(e,(null==t?void 0:t.organization_id)||null,a):await (0,l.teamListCall)(e,(null==t?void 0:t.organization_id)||null);var i=()=>{let[e,a]=(0,t.useState)([]),{accessToken:n,userId:l,userRole:i}=(0,r.Z)();return(0,t.useEffect)(()=>{(async()=>{a(await s(n,l,i,null))})()},[n,l,i]),{teams:e,setTeams:a}}},2425:function(e,a,n){"use strict";n.r(a);var t=n(57437),r=n(2265),l=n(49924),s=n(21623),i=n(29827),c=n(39760),o=n(21739),u=n(11318);a.default=()=>{let{accessToken:e,userRole:a,userId:n,premiumUser:f,userEmail:m}=(0,c.Z)(),{teams:d,setTeams:h}=(0,u.Z)(),[g,p]=(0,r.useState)(!1),[w,y]=(0,r.useState)([]),v=new s.S,{keys:S,isLoading:x,error:C,pagination:b,refresh:E,setKeys:Z}=(0,l.Z)({selectedKeyAlias:null,currentOrg:null,accessToken:e||"",createClicked:g});return(0,t.jsx)(i.aH,{client:v,children:(0,t.jsx)(o.Z,{userID:n,userRole:a,userEmail:m,teams:d,keys:S,setUserRole:()=>{},setUserEmail:()=>{},setTeams:h,setKeys:Z,premiumUser:f,organizations:w,addKey:e=>{Z(a=>a?[...a,e]:[e]),p(()=>!g)},createClicked:g})})}},12363:function(e,a,n){"use strict";n.d(a,{d:function(){return l},n:function(){return r}});var t=n(2265);let r=()=>{let[e,a]=(0,t.useState)("http://localhost:4000");return(0,t.useEffect)(()=>{{let{protocol:e,host:n}=window.location;a("".concat(e,"//").concat(n))}},[]),e},l=25},30841:function(e,a,n){"use strict";n.d(a,{IE:function(){return l},LO:function(){return r},cT:function(){return s}});var t=n(19250);let r=async e=>{if(!e)return[];try{let{aliases:a}=await (0,t.keyAliasesCall)(e);return Array.from(new Set((a||[]).filter(Boolean)))}catch(e){return console.error("Error fetching all key aliases:",e),[]}},l=async(e,a)=>{if(!e)return[];try{let n=[],r=1,l=!0;for(;l;){let s=await (0,t.teamListCall)(e,a||null,null);n=[...n,...s],r{if(!e)return[];try{let a=[],n=1,r=!0;for(;r;){let l=await (0,t.organizationListCall)(e);a=[...a,...l],n{let{options:a,onApplyFilters:n,onResetFilters:o,initialValues:f={},buttonLabel:m="Filters"}=e,[d,h]=(0,r.useState)(!1),[g,p]=(0,r.useState)(f),[w,y]=(0,r.useState)({}),[v,S]=(0,r.useState)({}),[x,C]=(0,r.useState)({}),[b,E]=(0,r.useState)({}),Z=(0,r.useCallback)(u()(async(e,a)=>{if(a.isSearchable&&a.searchFn){S(e=>({...e,[a.name]:!0}));try{let n=await a.searchFn(e);y(e=>({...e,[a.name]:n}))}catch(e){console.error("Error searching:",e),y(e=>({...e,[a.name]:[]}))}finally{S(e=>({...e,[a.name]:!1}))}}},300),[]),j=(0,r.useCallback)(async e=>{if(e.isSearchable&&e.searchFn&&!b[e.name]){S(a=>({...a,[e.name]:!0})),E(a=>({...a,[e.name]:!0}));try{let a=await e.searchFn("");y(n=>({...n,[e.name]:a}))}catch(a){console.error("Error loading initial options:",a),y(a=>({...a,[e.name]:[]}))}finally{S(a=>({...a,[e.name]:!1}))}}},[b]);(0,r.useEffect)(()=>{d&&a.forEach(e=>{e.isSearchable&&!b[e.name]&&j(e)})},[d,a,j,b]);let N=(e,a)=>{let t={...g,[e]:a};p(t),n(t)},k=(e,a)=>{e&&a.isSearchable&&!b[a.name]&&j(a)};return(0,t.jsxs)("div",{className:"w-full",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,t.jsx)(l.ZP,{icon:(0,t.jsx)(c.Z,{className:"h-4 w-4"}),onClick:()=>h(!d),className:"flex items-center gap-2",children:m}),(0,t.jsx)(l.ZP,{onClick:()=>{let e={};a.forEach(a=>{e[a.name]=""}),p(e),o()},children:"Reset Filters"})]}),d&&(0,t.jsx)("div",{className:"grid grid-cols-3 gap-x-6 gap-y-4 mb-6",children:["Team ID","Status","Organization ID","Key Alias","User ID","End User","Key Hash","Model"].map(e=>{let n=a.find(a=>a.label===e||a.name===e);return n?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-sm text-gray-600",children:n.label||n.name}),n.isSearchable?(0,t.jsx)(s.default,{showSearch:!0,className:"w-full",placeholder:"Search ".concat(n.label||n.name,"..."),value:g[n.name]||void 0,onChange:e=>N(n.name,e),onDropdownVisibleChange:e=>k(e,n),onSearch:e=>{C(a=>({...a,[n.name]:e})),n.searchFn&&Z(e,n)},filterOption:!1,loading:v[n.name],options:w[n.name]||[],allowClear:!0,notFoundContent:v[n.name]?"Loading...":"No results found"}):n.options?(0,t.jsx)(s.default,{className:"w-full",placeholder:"Select ".concat(n.label||n.name,"..."),value:g[n.name]||void 0,onChange:e=>N(n.name,e),allowClear:!0,children:n.options.map(e=>(0,t.jsx)(s.default.Option,{value:e.value,children:e.label},e.value))}):(0,t.jsx)(i.default,{className:"w-full",placeholder:"Enter ".concat(n.label||n.name,"..."),value:g[n.name]||"",onChange:e=>N(n.name,e.target.value),allowClear:!0})]},n.name):null})})]})}}},function(e){e.O(0,[1047,3665,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,525,6609,1713,7996,4623,1301,8049,4679,2202,874,4292,1739,2971,2117,1744],function(){return e(e.s=4222)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/virtual-keys/page-cc6fa8f5ff035516.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/virtual-keys/page-cc6fa8f5ff035516.js new file mode 100644 index 0000000000..fdd630fb4c --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/(dashboard)/virtual-keys/page-cc6fa8f5ff035516.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7049],{50347:function(e,a,n){Promise.resolve().then(n.bind(n,2425))},16312:function(e,a,n){"use strict";n.d(a,{z:function(){return t.Z}});var t=n(78489)},10178:function(e,a,n){"use strict";n.d(a,{JO:function(){return t.Z},RM:function(){return l.Z},SC:function(){return o.Z},iA:function(){return r.Z},pj:function(){return s.Z},ss:function(){return c.Z},xs:function(){return i.Z}});var t=n(47323),r=n(21626),l=n(97214),s=n(28241),c=n(58834),i=n(69552),o=n(71876)},2425:function(e,a,n){"use strict";n.r(a);var t=n(57437),r=n(2265),l=n(49924),s=n(21623),c=n(29827),i=n(39760),o=n(21739),u=n(11318);a.default=()=>{let{accessToken:e,userRole:a,userId:n,premiumUser:f,userEmail:m}=(0,i.Z)(),{teams:h,setTeams:d}=(0,u.Z)(),[g,p]=(0,r.useState)(!1),[y,x]=(0,r.useState)([]),S=new s.S,{keys:w,isLoading:b,error:v,pagination:C,refresh:E,setKeys:Z}=(0,l.Z)({selectedKeyAlias:null,currentOrg:null,accessToken:e||"",createClicked:g});return(0,t.jsx)(c.aH,{client:S,children:(0,t.jsx)(o.Z,{userID:n,userRole:a,userEmail:m,teams:h,keys:w,setUserRole:()=>{},setUserEmail:()=>{},setTeams:d,setKeys:Z,premiumUser:f,organizations:y,addKey:e=>{Z(a=>a?[...a,e]:[e]),p(()=>!g)},createClicked:g})})}},12363:function(e,a,n){"use strict";n.d(a,{d:function(){return l},n:function(){return r}});var t=n(2265);let r=()=>{let[e,a]=(0,t.useState)("http://localhost:4000");return(0,t.useEffect)(()=>{{let{protocol:e,host:n}=window.location;a("".concat(e,"//").concat(n))}},[]),e},l=25},30841:function(e,a,n){"use strict";n.d(a,{IE:function(){return l},LO:function(){return r},cT:function(){return s}});var t=n(19250);let r=async e=>{if(!e)return[];try{let{aliases:a}=await (0,t.keyAliasesCall)(e);return Array.from(new Set((a||[]).filter(Boolean)))}catch(e){return console.error("Error fetching all key aliases:",e),[]}},l=async(e,a)=>{if(!e)return[];try{let n=[],r=1,l=!0;for(;l;){let s=await (0,t.teamListCall)(e,a||null,null);n=[...n,...s],r{if(!e)return[];try{let a=[],n=1,r=!0;for(;r;){let l=await (0,t.organizationListCall)(e);a=[...a,...l],n{let{options:a,onApplyFilters:n,onResetFilters:o,initialValues:f={},buttonLabel:m="Filters"}=e,[h,d]=(0,r.useState)(!1),[g,p]=(0,r.useState)(f),[y,x]=(0,r.useState)({}),[S,w]=(0,r.useState)({}),[b,v]=(0,r.useState)({}),[C,E]=(0,r.useState)({}),Z=(0,r.useCallback)(u()(async(e,a)=>{if(a.isSearchable&&a.searchFn){w(e=>({...e,[a.name]:!0}));try{let n=await a.searchFn(e);x(e=>({...e,[a.name]:n}))}catch(e){console.error("Error searching:",e),x(e=>({...e,[a.name]:[]}))}finally{w(e=>({...e,[a.name]:!1}))}}},300),[]),j=(0,r.useCallback)(async e=>{if(e.isSearchable&&e.searchFn&&!C[e.name]){w(a=>({...a,[e.name]:!0})),E(a=>({...a,[e.name]:!0}));try{let a=await e.searchFn("");x(n=>({...n,[e.name]:a}))}catch(a){console.error("Error loading initial options:",a),x(a=>({...a,[e.name]:[]}))}finally{w(a=>({...a,[e.name]:!1}))}}},[C]);(0,r.useEffect)(()=>{h&&a.forEach(e=>{e.isSearchable&&!C[e.name]&&j(e)})},[h,a,j,C]);let N=(e,a)=>{let t={...g,[e]:a};p(t),n(t)},k=(e,a)=>{e&&a.isSearchable&&!C[a.name]&&j(a)};return(0,t.jsxs)("div",{className:"w-full",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,t.jsx)(l.ZP,{icon:(0,t.jsx)(i.Z,{className:"h-4 w-4"}),onClick:()=>d(!h),className:"flex items-center gap-2",children:m}),(0,t.jsx)(l.ZP,{onClick:()=>{let e={};a.forEach(a=>{e[a.name]=""}),p(e),o()},children:"Reset Filters"})]}),h&&(0,t.jsx)("div",{className:"grid grid-cols-3 gap-x-6 gap-y-4 mb-6",children:["Team ID","Status","Organization ID","Key Alias","User ID","End User","Key Hash","Model"].map(e=>{let n=a.find(a=>a.label===e||a.name===e);return n?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-sm text-gray-600",children:n.label||n.name}),n.isSearchable?(0,t.jsx)(s.default,{showSearch:!0,className:"w-full",placeholder:"Search ".concat(n.label||n.name,"..."),value:g[n.name]||void 0,onChange:e=>N(n.name,e),onDropdownVisibleChange:e=>k(e,n),onSearch:e=>{v(a=>({...a,[n.name]:e})),n.searchFn&&Z(e,n)},filterOption:!1,loading:S[n.name],options:y[n.name]||[],allowClear:!0,notFoundContent:S[n.name]?"Loading...":"No results found"}):n.options?(0,t.jsx)(s.default,{className:"w-full",placeholder:"Select ".concat(n.label||n.name,"..."),value:g[n.name]||void 0,onChange:e=>N(n.name,e),allowClear:!0,children:n.options.map(e=>(0,t.jsx)(s.default.Option,{value:e.value,children:e.label},e.value))}):(0,t.jsx)(c.default,{className:"w-full",placeholder:"Enter ".concat(n.label||n.name,"..."),value:g[n.name]||"",onChange:e=>N(n.name,e.target.value),allowClear:!0})]},n.name):null})})]})}}},function(e){e.O(0,[1047,3665,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5319,5333,525,6609,1713,7996,1130,302,8049,4679,2202,874,4292,1739,2971,2117,1744],function(){return e(e.s=50347)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-86876c52b469bf46.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-bed96765a7fb7bdd.js similarity index 73% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/layout-86876c52b469bf46.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/layout-bed96765a7fb7bdd.js index b14095b4b5..355c6b3cca 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-86876c52b469bf46.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-bed96765a7fb7bdd.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185],{85210:function(n,e,t){Promise.resolve().then(t.t.bind(t,39974,23)),Promise.resolve().then(t.t.bind(t,2778,23))},2778:function(){},39974:function(n){n.exports={style:{fontFamily:"'__Inter_1c856b', '__Inter_Fallback_1c856b'",fontStyle:"normal"},className:"__className_1c856b"}}},function(n){n.O(0,[1919,2461,2971,2117,1744],function(){return n(n.s=85210)}),_N_E=n.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185],{68655:function(n,e,t){Promise.resolve().then(t.t.bind(t,39974,23)),Promise.resolve().then(t.t.bind(t,2778,23))},2778:function(){},39974:function(n){n.exports={style:{fontFamily:"'__Inter_1c856b', '__Inter_Fallback_1c856b'",fontStyle:"normal"},className:"__className_1c856b"}}},function(n){n.O(0,[1919,2461,2971,2117,1744],function(){return n(n.s=68655)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/login/page-adfa774f2ae053f1.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/login/page-e509824bb3d72c16.js similarity index 96% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/login/page-adfa774f2ae053f1.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/login/page-e509824bb3d72c16.js index 13f7a23524..b9e8125e99 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/login/page-adfa774f2ae053f1.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/login/page-e509824bb3d72c16.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2626],{41629:function(e,t,r){Promise.resolve().then(r.bind(r,2160))},90246:function(e,t,r){"use strict";function s(e){let t=[e];return{all:t,lists:()=>[...t,"list"],list:e=>[...t,"list",{params:e}],details:()=>[...t,"detail"],detail:e=>[...t,"detail",e]}}r.d(t,{n:function(){return s}})},2160:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return k}});var s=r(57437),n=r(21770),a=r(19250);let i=()=>(0,n.D)({mutationFn:async e=>{let{username:t,password:r}=e;return await (0,a.loginCall)(t,r)}});var l=r(11713);let c=(0,r(90246).n)("uiConfig"),o=()=>(0,l.a)({queryKey:c.list({}),queryFn:async()=>await (0,a.getUiConfig)(),staleTime:864e5,gcTime:864e5});var u=r(94987),d=r(3914),m=r(97060),f=r(15424),x=r(21623),h=r(29827),g=r(57840),p=r(5945),y=r(58760),j=r(51653),v=r(10032),N=r(4260),b=r(5545),w=r(99376),L=r(2265);function C(){let[e,t]=(0,L.useState)(""),[r,n]=(0,L.useState)(""),[l,c]=(0,L.useState)(!0),{data:x,isLoading:h}=o(),C=i(),k=(0,w.useRouter)();(0,L.useEffect)(()=>{if(h)return;let e=(0,d.e)("token");if(e&&!(0,m.v)(e)){k.replace("".concat((0,a.getProxyBaseUrl)(),"/ui"));return}if(x&&x.auto_redirect_to_sso){k.push("".concat((0,a.getProxyBaseUrl)(),"/sso/key/generate"));return}c(!1)},[h,k,x]);let E=C.error instanceof Error?C.error.message:null,Z=C.isPending,{Title:S,Text:_,Paragraph:P}=g.default;return h||l?(0,s.jsx)(u.Z,{}):(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-gray-50",children:(0,s.jsx)(p.Z,{className:"w-full max-w-lg shadow-md",children:(0,s.jsxs)(y.Z,{direction:"vertical",size:"middle",className:"w-full",children:[(0,s.jsx)("div",{className:"text-center",children:(0,s.jsx)(S,{level:2,children:"\uD83D\uDE85 LiteLLM"})}),(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)(S,{level:3,children:"Login"}),(0,s.jsx)(_,{type:"secondary",children:"Access your LiteLLM Admin UI."})]}),(0,s.jsx)(j.Z,{message:"Default Credentials",description:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(P,{className:"text-sm",children:["By default, Username is ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 py-0.5 rounded text-xs",children:"admin"})," and Password is your set LiteLLM Proxy",(0,s.jsx)("code",{className:"bg-gray-100 px-1 py-0.5 rounded text-xs",children:"MASTER_KEY"}),"."]}),(0,s.jsxs)(P,{className:"text-sm",children:["Need to set UI credentials or SSO?"," ",(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/ui",target:"_blank",rel:"noopener noreferrer",children:"Check the documentation"}),"."]})]}),type:"info",icon:(0,s.jsx)(f.Z,{}),showIcon:!0}),E&&(0,s.jsx)(j.Z,{message:E,type:"error",showIcon:!0}),(0,s.jsxs)(v.Z,{onFinish:()=>{C.mutate({username:e,password:r},{onSuccess:e=>{k.push(e.redirect_url)}})},layout:"vertical",requiredMark:!0,children:[(0,s.jsx)(v.Z.Item,{label:"Username",name:"username",rules:[{required:!0,message:"Please enter your username"}],children:(0,s.jsx)(N.default,{placeholder:"Enter your username",autoComplete:"username",value:e,onChange:e=>t(e.target.value),disabled:Z,size:"large",className:"rounded-md border-gray-300"})}),(0,s.jsx)(v.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"Please enter your password"}],children:(0,s.jsx)(N.default.Password,{placeholder:"Enter your password",autoComplete:"current-password",value:r,onChange:e=>n(e.target.value),disabled:Z,size:"large"})}),(0,s.jsx)(v.Z.Item,{children:(0,s.jsx)(b.ZP,{type:"primary",htmlType:"submit",loading:Z,disabled:Z,block:!0,size:"large",children:Z?"Logging in...":"Login"})})]})]})})})}var k=function(){let e=new x.S;return(0,s.jsx)(h.aH,{client:e,children:(0,s.jsx)(C,{})})}},94987:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(57437),n=r(10012),a=r(91323);function i(){return(0,s.jsxs)("div",{className:(0,n.cx)("h-screen","flex items-center justify-center gap-4"),children:[(0,s.jsx)("div",{className:"text-lg font-medium py-2 pr-4 border-r border-r-gray-200",children:"\uD83D\uDE85 LiteLLM"}),(0,s.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,s.jsx)(a.S,{className:"size-4"}),(0,s.jsx)("span",{className:"text-gray-600 text-sm",children:"Loading..."})]})]})}},91323:function(e,t,r){"use strict";r.d(t,{S:function(){return i}});var s=r(57437),n=r(2265),a=r(10012);function i(e){var t,r;let{className:i="",...l}=e,c=(0,n.useId)();return t=()=>{let e=document.getAnimations().filter(e=>e instanceof CSSAnimation&&"spin"===e.animationName),t=e.find(e=>{var t;return(null===(t=e.effect.target)||void 0===t?void 0:t.getAttribute("data-spinner-id"))===c}),r=e.find(e=>{var t;return e.effect instanceof KeyframeEffect&&(null===(t=e.effect.target)||void 0===t?void 0:t.getAttribute("data-spinner-id"))!==c});t&&r&&(t.currentTime=r.currentTime)},r=[c],(0,n.useLayoutEffect)(t,r),(0,s.jsxs)("svg",{"data-spinner-id":c,className:(0,a.cx)("pointer-events-none size-12 animate-spin text-current",i),fill:"none",viewBox:"0 0 24 24",...l,children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},10012:function(e,t,r){"use strict";r.d(t,{cx:function(){return i}});var s=r(49096),n=r(53335);let{cva:a,cx:i,compose:l}=(0,s.ZD)({hooks:{onComplete:e=>(0,n.m6)(e)}})},97060:function(e,t,r){"use strict";r.d(t,{v:function(){return n}});var s=r(14474);function n(e){try{let t=(0,s.o)(e);if(t&&"number"==typeof t.exp)return 1e3*t.exp<=Date.now();return!1}catch(e){return!0}}}},function(e){e.O(0,[9028,9409,337,2409,3367,5869,1713,2618,5945,1623,3897,8049,2971,2117,1744],function(){return e(e.s=41629)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2626],{66125:function(e,t,r){Promise.resolve().then(r.bind(r,2160))},90246:function(e,t,r){"use strict";function s(e){let t=[e];return{all:t,lists:()=>[...t,"list"],list:e=>[...t,"list",{params:e}],details:()=>[...t,"detail"],detail:e=>[...t,"detail",e]}}r.d(t,{n:function(){return s}})},2160:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return k}});var s=r(57437),n=r(21770),a=r(19250);let i=()=>(0,n.D)({mutationFn:async e=>{let{username:t,password:r}=e;return await (0,a.loginCall)(t,r)}});var l=r(11713);let c=(0,r(90246).n)("uiConfig"),o=()=>(0,l.a)({queryKey:c.list({}),queryFn:async()=>await (0,a.getUiConfig)(),staleTime:864e5,gcTime:864e5});var u=r(94987),d=r(3914),m=r(97060),f=r(15424),x=r(21623),h=r(29827),g=r(57840),p=r(5945),y=r(58760),j=r(51653),v=r(10032),N=r(4260),b=r(5545),w=r(99376),L=r(2265);function C(){let[e,t]=(0,L.useState)(""),[r,n]=(0,L.useState)(""),[l,c]=(0,L.useState)(!0),{data:x,isLoading:h}=o(),C=i(),k=(0,w.useRouter)();(0,L.useEffect)(()=>{if(h)return;let e=(0,d.e)("token");if(e&&!(0,m.v)(e)){k.replace("".concat((0,a.getProxyBaseUrl)(),"/ui"));return}if(x&&x.auto_redirect_to_sso){k.push("".concat((0,a.getProxyBaseUrl)(),"/sso/key/generate"));return}c(!1)},[h,k,x]);let E=C.error instanceof Error?C.error.message:null,Z=C.isPending,{Title:S,Text:_,Paragraph:P}=g.default;return h||l?(0,s.jsx)(u.Z,{}):(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-gray-50",children:(0,s.jsx)(p.Z,{className:"w-full max-w-lg shadow-md",children:(0,s.jsxs)(y.Z,{direction:"vertical",size:"middle",className:"w-full",children:[(0,s.jsx)("div",{className:"text-center",children:(0,s.jsx)(S,{level:2,children:"\uD83D\uDE85 LiteLLM"})}),(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)(S,{level:3,children:"Login"}),(0,s.jsx)(_,{type:"secondary",children:"Access your LiteLLM Admin UI."})]}),(0,s.jsx)(j.Z,{message:"Default Credentials",description:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(P,{className:"text-sm",children:["By default, Username is ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 py-0.5 rounded text-xs",children:"admin"})," and Password is your set LiteLLM Proxy",(0,s.jsx)("code",{className:"bg-gray-100 px-1 py-0.5 rounded text-xs",children:"MASTER_KEY"}),"."]}),(0,s.jsxs)(P,{className:"text-sm",children:["Need to set UI credentials or SSO?"," ",(0,s.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/ui",target:"_blank",rel:"noopener noreferrer",children:"Check the documentation"}),"."]})]}),type:"info",icon:(0,s.jsx)(f.Z,{}),showIcon:!0}),E&&(0,s.jsx)(j.Z,{message:E,type:"error",showIcon:!0}),(0,s.jsxs)(v.Z,{onFinish:()=>{C.mutate({username:e,password:r},{onSuccess:e=>{k.push(e.redirect_url)}})},layout:"vertical",requiredMark:!0,children:[(0,s.jsx)(v.Z.Item,{label:"Username",name:"username",rules:[{required:!0,message:"Please enter your username"}],children:(0,s.jsx)(N.default,{placeholder:"Enter your username",autoComplete:"username",value:e,onChange:e=>t(e.target.value),disabled:Z,size:"large",className:"rounded-md border-gray-300"})}),(0,s.jsx)(v.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"Please enter your password"}],children:(0,s.jsx)(N.default.Password,{placeholder:"Enter your password",autoComplete:"current-password",value:r,onChange:e=>n(e.target.value),disabled:Z,size:"large"})}),(0,s.jsx)(v.Z.Item,{children:(0,s.jsx)(b.ZP,{type:"primary",htmlType:"submit",loading:Z,disabled:Z,block:!0,size:"large",children:Z?"Logging in...":"Login"})})]})]})})})}var k=function(){let e=new x.S;return(0,s.jsx)(h.aH,{client:e,children:(0,s.jsx)(C,{})})}},94987:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var s=r(57437),n=r(10012),a=r(91323);function i(){return(0,s.jsxs)("div",{className:(0,n.cx)("h-screen","flex items-center justify-center gap-4"),children:[(0,s.jsx)("div",{className:"text-lg font-medium py-2 pr-4 border-r border-r-gray-200",children:"\uD83D\uDE85 LiteLLM"}),(0,s.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,s.jsx)(a.S,{className:"size-4"}),(0,s.jsx)("span",{className:"text-gray-600 text-sm",children:"Loading..."})]})]})}},91323:function(e,t,r){"use strict";r.d(t,{S:function(){return i}});var s=r(57437),n=r(2265),a=r(10012);function i(e){var t,r;let{className:i="",...l}=e,c=(0,n.useId)();return t=()=>{let e=document.getAnimations().filter(e=>e instanceof CSSAnimation&&"spin"===e.animationName),t=e.find(e=>{var t;return(null===(t=e.effect.target)||void 0===t?void 0:t.getAttribute("data-spinner-id"))===c}),r=e.find(e=>{var t;return e.effect instanceof KeyframeEffect&&(null===(t=e.effect.target)||void 0===t?void 0:t.getAttribute("data-spinner-id"))!==c});t&&r&&(t.currentTime=r.currentTime)},r=[c],(0,n.useLayoutEffect)(t,r),(0,s.jsxs)("svg",{"data-spinner-id":c,className:(0,a.cx)("pointer-events-none size-12 animate-spin text-current",i),fill:"none",viewBox:"0 0 24 24",...l,children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},10012:function(e,t,r){"use strict";r.d(t,{cx:function(){return i}});var s=r(49096),n=r(53335);let{cva:a,cx:i,compose:l}=(0,s.ZD)({hooks:{onComplete:e=>(0,n.m6)(e)}})},97060:function(e,t,r){"use strict";r.d(t,{v:function(){return n}});var s=r(14474);function n(e){try{let t=(0,s.o)(e);if(t&&"number"==typeof t.exp)return 1e3*t.exp<=Date.now();return!1}catch(e){return!0}}}},function(e){e.O(0,[9028,9409,337,2409,3367,5869,1713,5945,2618,1623,3897,8049,2971,2117,1744],function(){return e(e.s=66125)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/mcp/oauth/callback/page-497caf09e19a569a.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/mcp/oauth/callback/page-01be1cae3559363d.js similarity index 90% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/mcp/oauth/callback/page-497caf09e19a569a.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/mcp/oauth/callback/page-01be1cae3559363d.js index 3815180088..2032c9b146 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/mcp/oauth/callback/page-497caf09e19a569a.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/mcp/oauth/callback/page-01be1cae3559363d.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[480],{98710:function(e,t,s){Promise.resolve().then(s.bind(s,33422))},99376:function(e,t,s){"use strict";var a=s(35475);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},33422:function(e,t,s){"use strict";s.r(t);var a=s(57437),n=s(2265),l=s(99376);let r=()=>{let e=window.location.pathname||"",t=e.indexOf("/ui");if(t>=0){let s=e.slice(0,t+3);return s.endsWith("/")?s:"".concat(s)}return"/"};t.default=()=>{let e=(0,l.useSearchParams)(),t=(0,n.useMemo)(()=>e?{type:"litellm-mcp-oauth",code:e.get("code"),state:e.get("state")}:null,[e]);return(0,n.useEffect)(()=>{if(!t)return;try{window.sessionStorage.setItem("litellm-mcp-oauth-result",JSON.stringify(t))}catch(e){console.error("Failed to persist OAuth callback payload",e)}let e=window.sessionStorage.getItem("litellm-mcp-oauth-return-url");console.info("[MCP OAuth callback] returnUrl",e);let s=e||r();window.location.replace(s)},[t]),(0,a.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-slate-50 p-6",children:(0,a.jsxs)("div",{className:"max-w-lg w-full rounded-lg bg-white shadow-md p-8 text-center space-y-4",children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-slate-900",children:"LiteLLM MCP OAuth"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:"Authorization complete. You may close this window and return to the LiteLLM dashboard."}),(0,a.jsx)("p",{className:"text-xs text-slate-500",children:"If the window does not close automatically, everything is still saved—you can close it manually."})]})})}}},function(e){e.O(0,[2971,2117,1744],function(){return e(e.s=98710)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[480],{64995:function(e,t,s){Promise.resolve().then(s.bind(s,33422))},99376:function(e,t,s){"use strict";var a=s(35475);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},33422:function(e,t,s){"use strict";s.r(t);var a=s(57437),n=s(2265),l=s(99376);let r=()=>{let e=window.location.pathname||"",t=e.indexOf("/ui");if(t>=0){let s=e.slice(0,t+3);return s.endsWith("/")?s:"".concat(s)}return"/"};t.default=()=>{let e=(0,l.useSearchParams)(),t=(0,n.useMemo)(()=>e?{type:"litellm-mcp-oauth",code:e.get("code"),state:e.get("state")}:null,[e]);return(0,n.useEffect)(()=>{if(!t)return;try{window.sessionStorage.setItem("litellm-mcp-oauth-result",JSON.stringify(t))}catch(e){console.error("Failed to persist OAuth callback payload",e)}let e=window.sessionStorage.getItem("litellm-mcp-oauth-return-url");console.info("[MCP OAuth callback] returnUrl",e);let s=e||r();window.location.replace(s)},[t]),(0,a.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-slate-50 p-6",children:(0,a.jsxs)("div",{className:"max-w-lg w-full rounded-lg bg-white shadow-md p-8 text-center space-y-4",children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-slate-900",children:"LiteLLM MCP OAuth"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:"Authorization complete. You may close this window and return to the LiteLLM dashboard."}),(0,a.jsx)("p",{className:"text-xs text-slate-500",children:"If the window does not close automatically, everything is still saved—you can close it manually."})]})})}}},function(e){e.O(0,[2971,2117,1744],function(){return e(e.s=64995)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-68bb7f322f019ac9.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-9da0d0cdedcea3c8.js similarity index 97% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-68bb7f322f019ac9.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-9da0d0cdedcea3c8.js index 4be3d15c98..500bbbe3b4 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-68bb7f322f019ac9.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-9da0d0cdedcea3c8.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1418],{67355:function(e,o,t){Promise.resolve().then(t.bind(t,52829))},3810:function(e,o,t){"use strict";t.d(o,{Z:function(){return P}});var r=t(2265),n=t(36760),c=t.n(n),l=t(18694),a=t(93350),i=t(53445),s=t(19722),u=t(6694),d=t(71744),f=t(93463),g=t(54558),p=t(12918),b=t(71140),h=t(99320);let m=e=>{let{paddingXXS:o,lineWidth:t,tagPaddingHorizontal:r,componentCls:n,calc:c}=e,l=c(r).sub(t).equal(),a=c(o).sub(t).equal();return{[n]:Object.assign(Object.assign({},(0,p.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:l,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,f.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(n,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(n,"-close-icon")]:{marginInlineStart:a,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(n,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(n,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:l}}),["".concat(n,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},k=e=>{let{lineWidth:o,fontSizeIcon:t,calc:r}=e,n=e.fontSizeSM;return(0,b.IX)(e,{tagFontSize:n,tagLineHeight:(0,f.bf)(r(e.lineHeightSM).mul(n).equal()),tagIconSize:r(t).sub(r(o).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},v=e=>({defaultBg:new g.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var C=(0,h.I$)("Tag",e=>m(k(e)),v),y=function(e,o){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>o.indexOf(r)&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);no.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]]);return t};let w=r.forwardRef((e,o)=>{let{prefixCls:t,style:n,className:l,checked:a,children:i,icon:s,onChange:u,onClick:f}=e,g=y(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:p,tag:b}=r.useContext(d.E_),h=p("tag",t),[m,k,v]=C(h),w=c()(h,"".concat(h,"-checkable"),{["".concat(h,"-checkable-checked")]:a},null==b?void 0:b.className,l,k,v);return m(r.createElement("span",Object.assign({},g,{ref:o,style:Object.assign(Object.assign({},n),null==b?void 0:b.style),className:w,onClick:e=>{null==u||u(!a),null==f||f(e)}}),s,r.createElement("span",null,i)))});var x=t(18536);let O=e=>(0,x.Z)(e,(o,t)=>{let{textColor:r,lightBorderColor:n,lightColor:c,darkColor:l}=t;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:r,background:c,borderColor:n,"&-inverse":{color:e.colorTextLightSolid,background:l,borderColor:l},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var E=(0,h.bk)(["Tag","preset"],e=>O(k(e)),v);let j=(e,o,t)=>{let r="string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:e["color".concat(t)],background:e["color".concat(r,"Bg")],borderColor:e["color".concat(r,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var S=(0,h.bk)(["Tag","status"],e=>{let o=k(e);return[j(o,"success","Success"),j(o,"processing","Info"),j(o,"error","Error"),j(o,"warning","Warning")]},v),B=function(e,o){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>o.indexOf(r)&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);no.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]]);return t};let L=r.forwardRef((e,o)=>{let{prefixCls:t,className:n,rootClassName:f,style:g,children:p,icon:b,color:h,onClose:m,bordered:k=!0,visible:v}=e,y=B(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:w,direction:x,tag:O}=r.useContext(d.E_),[j,L]=r.useState(!0),P=(0,l.Z)(y,["closeIcon","closable"]);r.useEffect(()=>{void 0!==v&&L(v)},[v]);let M=(0,a.o2)(h),Z=(0,a.yT)(h),I=M||Z,N=Object.assign(Object.assign({backgroundColor:h&&!I?h:void 0},null==O?void 0:O.style),g),T=w("tag",t),[R,z,H]=C(T),W=c()(T,null==O?void 0:O.className,{["".concat(T,"-").concat(h)]:I,["".concat(T,"-has-color")]:h&&!I,["".concat(T,"-hidden")]:!j,["".concat(T,"-rtl")]:"rtl"===x,["".concat(T,"-borderless")]:!k},n,f,z,H),_=e=>{e.stopPropagation(),null==m||m(e),e.defaultPrevented||L(!1)},[,q]=(0,i.b)((0,i.w)(e),(0,i.w)(O),{closable:!1,closeIconRender:e=>{let o=r.createElement("span",{className:"".concat(T,"-close-icon"),onClick:_},e);return(0,s.wm)(e,o,e=>({onClick:o=>{var t;null===(t=null==e?void 0:e.onClick)||void 0===t||t.call(e,o),_(o)},className:c()(null==e?void 0:e.className,"".concat(T,"-close-icon"))}))}}),F="function"==typeof y.onClick||p&&"a"===p.type,A=b||null,D=A?r.createElement(r.Fragment,null,A,p&&r.createElement("span",null,p)):p,V=r.createElement("span",Object.assign({},P,{ref:o,className:W,style:N}),D,q,M&&r.createElement(E,{key:"preset",prefixCls:T}),Z&&r.createElement(S,{key:"status",prefixCls:T}));return R(F?r.createElement(u.Z,{component:"Tag"},V):V)});L.CheckableTag=w;var P=L},78867:function(e,o,t){"use strict";t.d(o,{Z:function(){return r}});let r=(0,t(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},33245:function(e,o,t){"use strict";t.d(o,{Z:function(){return r}});let r=(0,t(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},52829:function(e,o,t){"use strict";t.r(o),t.d(o,{default:function(){return a}});var r=t(57437),n=t(2265),c=t(99376),l=t(87526);function a(){let e=(0,c.useSearchParams)().get("key"),[o,t]=(0,n.useState)(null);return(0,n.useEffect)(()=>{e&&t(e)},[e]),(0,r.jsx)(l.Z,{accessToken:o})}},86462:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});o.Z=n},44633:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});o.Z=n},3477:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});o.Z=n},17732:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});o.Z=n},49084:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});o.Z=n}},function(e){e.O(0,[9028,9409,4865,337,8135,3367,7318,3705,5869,7140,8049,7526,2971,2117,1744],function(){return e(e.s=67355)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1418],{88396:function(e,o,t){Promise.resolve().then(t.bind(t,52829))},3810:function(e,o,t){"use strict";t.d(o,{Z:function(){return P}});var r=t(2265),n=t(36760),c=t.n(n),l=t(18694),a=t(93350),i=t(53445),s=t(19722),u=t(6694),d=t(71744),f=t(93463),g=t(54558),p=t(12918),b=t(71140),h=t(99320);let m=e=>{let{paddingXXS:o,lineWidth:t,tagPaddingHorizontal:r,componentCls:n,calc:c}=e,l=c(r).sub(t).equal(),a=c(o).sub(t).equal();return{[n]:Object.assign(Object.assign({},(0,p.Wf)(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:l,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:"".concat((0,f.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderRadius:e.borderRadiusSM,opacity:1,transition:"all ".concat(e.motionDurationMid),textAlign:"start",position:"relative",["&".concat(n,"-rtl")]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},["".concat(n,"-close-icon")]:{marginInlineStart:a,fontSize:e.tagIconSize,color:e.colorIcon,cursor:"pointer",transition:"all ".concat(e.motionDurationMid),"&:hover":{color:e.colorTextHeading}},["&".concat(n,"-has-color")]:{borderColor:"transparent",["&, a, a:hover, ".concat(e.iconCls,"-close, ").concat(e.iconCls,"-close:hover")]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",["&:not(".concat(n,"-checkable-checked):hover")]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},["> ".concat(e.iconCls," + span, > span + ").concat(e.iconCls)]:{marginInlineStart:l}}),["".concat(n,"-borderless")]:{borderColor:"transparent",background:e.tagBorderlessBg}}},k=e=>{let{lineWidth:o,fontSizeIcon:t,calc:r}=e,n=e.fontSizeSM;return(0,b.IX)(e,{tagFontSize:n,tagLineHeight:(0,f.bf)(r(e.lineHeightSM).mul(n).equal()),tagIconSize:r(t).sub(r(o).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},v=e=>({defaultBg:new g.t(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText});var C=(0,h.I$)("Tag",e=>m(k(e)),v),y=function(e,o){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>o.indexOf(r)&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);no.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]]);return t};let w=r.forwardRef((e,o)=>{let{prefixCls:t,style:n,className:l,checked:a,children:i,icon:s,onChange:u,onClick:f}=e,g=y(e,["prefixCls","style","className","checked","children","icon","onChange","onClick"]),{getPrefixCls:p,tag:b}=r.useContext(d.E_),h=p("tag",t),[m,k,v]=C(h),w=c()(h,"".concat(h,"-checkable"),{["".concat(h,"-checkable-checked")]:a},null==b?void 0:b.className,l,k,v);return m(r.createElement("span",Object.assign({},g,{ref:o,style:Object.assign(Object.assign({},n),null==b?void 0:b.style),className:w,onClick:e=>{null==u||u(!a),null==f||f(e)}}),s,r.createElement("span",null,i)))});var x=t(18536);let O=e=>(0,x.Z)(e,(o,t)=>{let{textColor:r,lightBorderColor:n,lightColor:c,darkColor:l}=t;return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:r,background:c,borderColor:n,"&-inverse":{color:e.colorTextLightSolid,background:l,borderColor:l},["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}});var E=(0,h.bk)(["Tag","preset"],e=>O(k(e)),v);let j=(e,o,t)=>{let r="string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1);return{["".concat(e.componentCls).concat(e.componentCls,"-").concat(o)]:{color:e["color".concat(t)],background:e["color".concat(r,"Bg")],borderColor:e["color".concat(r,"Border")],["&".concat(e.componentCls,"-borderless")]:{borderColor:"transparent"}}}};var S=(0,h.bk)(["Tag","status"],e=>{let o=k(e);return[j(o,"success","Success"),j(o,"processing","Info"),j(o,"error","Error"),j(o,"warning","Warning")]},v),B=function(e,o){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>o.indexOf(r)&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);no.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]]);return t};let L=r.forwardRef((e,o)=>{let{prefixCls:t,className:n,rootClassName:f,style:g,children:p,icon:b,color:h,onClose:m,bordered:k=!0,visible:v}=e,y=B(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:w,direction:x,tag:O}=r.useContext(d.E_),[j,L]=r.useState(!0),P=(0,l.Z)(y,["closeIcon","closable"]);r.useEffect(()=>{void 0!==v&&L(v)},[v]);let M=(0,a.o2)(h),Z=(0,a.yT)(h),I=M||Z,N=Object.assign(Object.assign({backgroundColor:h&&!I?h:void 0},null==O?void 0:O.style),g),T=w("tag",t),[R,z,H]=C(T),W=c()(T,null==O?void 0:O.className,{["".concat(T,"-").concat(h)]:I,["".concat(T,"-has-color")]:h&&!I,["".concat(T,"-hidden")]:!j,["".concat(T,"-rtl")]:"rtl"===x,["".concat(T,"-borderless")]:!k},n,f,z,H),_=e=>{e.stopPropagation(),null==m||m(e),e.defaultPrevented||L(!1)},[,q]=(0,i.b)((0,i.w)(e),(0,i.w)(O),{closable:!1,closeIconRender:e=>{let o=r.createElement("span",{className:"".concat(T,"-close-icon"),onClick:_},e);return(0,s.wm)(e,o,e=>({onClick:o=>{var t;null===(t=null==e?void 0:e.onClick)||void 0===t||t.call(e,o),_(o)},className:c()(null==e?void 0:e.className,"".concat(T,"-close-icon"))}))}}),F="function"==typeof y.onClick||p&&"a"===p.type,A=b||null,D=A?r.createElement(r.Fragment,null,A,p&&r.createElement("span",null,p)):p,V=r.createElement("span",Object.assign({},P,{ref:o,className:W,style:N}),D,q,M&&r.createElement(E,{key:"preset",prefixCls:T}),Z&&r.createElement(S,{key:"status",prefixCls:T}));return R(F?r.createElement(u.Z,{component:"Tag"},V):V)});L.CheckableTag=w;var P=L},78867:function(e,o,t){"use strict";t.d(o,{Z:function(){return r}});let r=(0,t(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},33245:function(e,o,t){"use strict";t.d(o,{Z:function(){return r}});let r=(0,t(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},52829:function(e,o,t){"use strict";t.r(o),t.d(o,{default:function(){return a}});var r=t(57437),n=t(2265),c=t(99376),l=t(87526);function a(){let e=(0,c.useSearchParams)().get("key"),[o,t]=(0,n.useState)(null);return(0,n.useEffect)(()=>{e&&t(e)},[e]),(0,r.jsx)(l.Z,{accessToken:o})}},86462:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});o.Z=n},44633:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});o.Z=n},3477:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});o.Z=n},17732:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});o.Z=n},49084:function(e,o,t){"use strict";var r=t(2265);let n=r.forwardRef(function(e,o){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:o},e),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"}))});o.Z=n}},function(e){e.O(0,[9028,9409,4865,337,8135,3367,7318,7138,5869,9165,8049,7526,2971,2117,1744],function(){return e(e.s=88396)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub_table/page-6315d7b8f5a15b0d.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub_table/page-db771d9abf316050.js similarity index 57% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub_table/page-6315d7b8f5a15b0d.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub_table/page-db771d9abf316050.js index c5a4e6b051..b737f93126 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub_table/page-6315d7b8f5a15b0d.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub_table/page-db771d9abf316050.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9025],{38520:function(r,e,t){Promise.resolve().then(t.bind(t,22775))},23639:function(r,e,t){"use strict";t.d(e,{Z:function(){return d}});var n=t(1119),o=t(2265),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},a=t(55015),d=o.forwardRef(function(r,e){return o.createElement(a.Z,(0,n.Z)({},r,{ref:e,icon:i}))})},41649:function(r,e,t){"use strict";t.d(e,{Z:function(){return m}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(26898),s=t(13241),c=t(1153);let l={xs:{paddingX:"px-2",paddingY:"py-0.5",fontSize:"text-xs"},sm:{paddingX:"px-2.5",paddingY:"py-0.5",fontSize:"text-sm"},md:{paddingX:"px-3",paddingY:"py-0.5",fontSize:"text-md"},lg:{paddingX:"px-3.5",paddingY:"py-0.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-1",fontSize:"text-xl"}},u={xs:{height:"h-4",width:"w-4"},sm:{height:"h-4",width:"w-4"},md:{height:"h-4",width:"w-4"},lg:{height:"h-5",width:"w-5"},xl:{height:"h-6",width:"w-6"}},g=(0,c.fn)("Badge"),m=o.forwardRef((r,e)=>{let{color:t,icon:m,size:f=a.u8.SM,tooltip:h,className:b,children:p}=r,w=(0,n._T)(r,["color","icon","size","tooltip","className","children"]),k=m||null,{tooltipProps:x,getReferenceProps:v}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,c.lq)([e,x.refs.setReference]),className:(0,s.q)(g("root"),"w-max shrink-0 inline-flex justify-center items-center cursor-default rounded-tremor-small ring-1 ring-inset",t?(0,s.q)((0,c.bM)(t,d.K.background).bgColor,(0,c.bM)(t,d.K.iconText).textColor,(0,c.bM)(t,d.K.iconRing).ringColor,"bg-opacity-10 ring-opacity-20","dark:bg-opacity-5 dark:ring-opacity-60"):(0,s.q)("bg-tremor-brand-faint text-tremor-brand-emphasis ring-tremor-brand/20","dark:bg-dark-tremor-brand-muted/50 dark:text-dark-tremor-brand dark:ring-dark-tremor-subtle/20"),l[f].paddingX,l[f].paddingY,l[f].fontSize,b)},v,w),o.createElement(i.Z,Object.assign({text:h},x)),k?o.createElement(k,{className:(0,s.q)(g("icon"),"shrink-0 -ml-1 mr-1.5",u[f].height,u[f].width)}):null,o.createElement("span",{className:(0,s.q)(g("text"),"whitespace-nowrap")},p))});m.displayName="Badge"},47323:function(r,e,t){"use strict";t.d(e,{Z:function(){return h}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(13241),s=t(1153),c=t(26898);let l={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},u={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},g={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},m=(r,e)=>{switch(r){case"simple":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:e?(0,s.bM)(e,c.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:e?(0,d.q)((0,s.bM)(e,c.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},f=(0,s.fn)("Icon"),h=o.forwardRef((r,e)=>{let{icon:t,variant:c="simple",tooltip:h,size:b=a.u8.SM,color:p,className:w}=r,k=(0,n._T)(r,["icon","variant","tooltip","size","color","className"]),x=m(c,p),{tooltipProps:v,getReferenceProps:C}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,s.lq)([e,v.refs.setReference]),className:(0,d.q)(f("root"),"inline-flex shrink-0 items-center justify-center",x.bgColor,x.textColor,x.borderColor,x.ringColor,g[c].rounded,g[c].border,g[c].shadow,g[c].ring,l[b].paddingX,l[b].paddingY,w)},C,k),o.createElement(i.Z,Object.assign({text:h},v)),o.createElement(t,{className:(0,d.q)(f("icon"),"shrink-0",u[b].height,u[b].width)}))});h.displayName="Icon"},33245:function(r,e,t){"use strict";t.d(e,{Z:function(){return n}});let n=(0,t(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},95704:function(r,e,t){"use strict";t.d(e,{Dx:function(){return u.Z},RM:function(){return i.Z},SC:function(){return c.Z},Zb:function(){return n.Z},iA:function(){return o.Z},pj:function(){return a.Z},ss:function(){return d.Z},xs:function(){return s.Z},xv:function(){return l.Z}});var n=t(12514),o=t(21626),i=t(97214),a=t(28241),d=t(58834),s=t(69552),c=t(71876),l=t(84264),u=t(96761)},22775:function(r,e,t){"use strict";t.r(e),t.d(e,{default:function(){return d}});var n=t(57437),o=t(2265),i=t(99376),a=t(92249);function d(){let r=(0,i.useSearchParams)().get("key"),[e,t]=(0,o.useState)(null);return(0,o.useEffect)(()=>{r&&t(r)},[r]),(0,n.jsx)(a.Z,{accessToken:e,publicPage:!0,premiumUser:!1,userRole:null})}},20347:function(r,e,t){"use strict";t.d(e,{LQ:function(){return i},P4:function(){return d},ZL:function(){return n},lo:function(){return o},tY:function(){return a}});let n=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],o=["Internal User","Internal Viewer"],i=["Internal User","Admin","proxy_admin"],a=r=>n.includes(r),d=r=>"proxy_admin"===r||"Admin"===r},47686:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});e.Z=o},44633:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"}))});e.Z=o},3477:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});e.Z=o},53410:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});e.Z=o},91126:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=o},77355:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=o},23628:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});e.Z=o},17732:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});e.Z=o},74998:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"}))});e.Z=o},87602:function(r,e,t){"use strict";function n(){for(var r,e,t=0,n="",o=arguments.length;t{let{color:t,icon:m,size:f=a.u8.SM,tooltip:h,className:b,children:p}=r,w=(0,n._T)(r,["color","icon","size","tooltip","className","children"]),k=m||null,{tooltipProps:x,getReferenceProps:v}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,c.lq)([e,x.refs.setReference]),className:(0,s.q)(g("root"),"w-max shrink-0 inline-flex justify-center items-center cursor-default rounded-tremor-small ring-1 ring-inset",t?(0,s.q)((0,c.bM)(t,d.K.background).bgColor,(0,c.bM)(t,d.K.iconText).textColor,(0,c.bM)(t,d.K.iconRing).ringColor,"bg-opacity-10 ring-opacity-20","dark:bg-opacity-5 dark:ring-opacity-60"):(0,s.q)("bg-tremor-brand-faint text-tremor-brand-emphasis ring-tremor-brand/20","dark:bg-dark-tremor-brand-muted/50 dark:text-dark-tremor-brand dark:ring-dark-tremor-subtle/20"),l[f].paddingX,l[f].paddingY,l[f].fontSize,b)},v,w),o.createElement(i.Z,Object.assign({text:h},x)),k?o.createElement(k,{className:(0,s.q)(g("icon"),"shrink-0 -ml-1 mr-1.5",u[f].height,u[f].width)}):null,o.createElement("span",{className:(0,s.q)(g("text"),"whitespace-nowrap")},p))});m.displayName="Badge"},47323:function(r,e,t){"use strict";t.d(e,{Z:function(){return h}});var n=t(5853),o=t(2265),i=t(47187),a=t(7084),d=t(13241),s=t(1153),c=t(26898);let l={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},u={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},g={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},m=(r,e)=>{switch(r){case"simple":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:e?(0,s.bM)(e,c.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:e?(0,d.q)((0,s.bM)(e,c.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:e?(0,s.bM)(e,c.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:e?(0,d.q)((0,s.bM)(e,c.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},f=(0,s.fn)("Icon"),h=o.forwardRef((r,e)=>{let{icon:t,variant:c="simple",tooltip:h,size:b=a.u8.SM,color:p,className:w}=r,k=(0,n._T)(r,["icon","variant","tooltip","size","color","className"]),x=m(c,p),{tooltipProps:v,getReferenceProps:C}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,s.lq)([e,v.refs.setReference]),className:(0,d.q)(f("root"),"inline-flex shrink-0 items-center justify-center",x.bgColor,x.textColor,x.borderColor,x.ringColor,g[c].rounded,g[c].border,g[c].shadow,g[c].ring,l[b].paddingX,l[b].paddingY,w)},C,k),o.createElement(i.Z,Object.assign({text:h},v)),o.createElement(t,{className:(0,d.q)(f("icon"),"shrink-0",u[b].height,u[b].width)}))});h.displayName="Icon"},78867:function(r,e,t){"use strict";t.d(e,{Z:function(){return n}});let n=(0,t(79205).Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},33245:function(r,e,t){"use strict";t.d(e,{Z:function(){return n}});let n=(0,t(79205).Z)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},95704:function(r,e,t){"use strict";t.d(e,{Dx:function(){return u.Z},RM:function(){return i.Z},SC:function(){return c.Z},Zb:function(){return n.Z},iA:function(){return o.Z},pj:function(){return a.Z},ss:function(){return d.Z},xs:function(){return s.Z},xv:function(){return l.Z}});var n=t(12514),o=t(21626),i=t(97214),a=t(28241),d=t(58834),s=t(69552),c=t(71876),l=t(84264),u=t(96761)},22775:function(r,e,t){"use strict";t.r(e),t.d(e,{default:function(){return d}});var n=t(57437),o=t(2265),i=t(99376),a=t(92249);function d(){let r=(0,i.useSearchParams)().get("key"),[e,t]=(0,o.useState)(null);return(0,o.useEffect)(()=>{r&&t(r)},[r]),(0,n.jsx)(a.Z,{accessToken:e,publicPage:!0,premiumUser:!1,userRole:null})}},20347:function(r,e,t){"use strict";t.d(e,{LQ:function(){return i},P4:function(){return d},ZL:function(){return n},_p:function(){return c},lo:function(){return o},tY:function(){return a},yV:function(){return s}});let n=["Admin","Admin Viewer","proxy_admin","proxy_admin_viewer","org_admin"],o=["Internal User","Internal Viewer"],i=["Internal User","Admin","proxy_admin"],a=r=>n.includes(r),d=r=>"proxy_admin"===r||"Admin"===r,s=(r,e)=>null!=r&&r.some(r=>c(r,e)),c=(r,e)=>null!=r&&null!=r.members_with_roles&&r.members_with_roles.some(r=>r.user_id===e&&"admin"===r.role)},86462:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"}))});e.Z=o},47686:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"}))});e.Z=o},3477:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}))});e.Z=o},53410:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"}))});e.Z=o},91126:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=o},77355:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"}))});e.Z=o},23628:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))});e.Z=o},17732:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))});e.Z=o},74998:function(r,e,t){"use strict";var n=t(2265);let o=n.forwardRef(function(r,e){return n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:e},r),n.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"}))});e.Z=o},87602:function(r,e,t){"use strict";function n(){for(var r,e,t=0,n="",o=arguments.length;t{(0,g.getUiConfig)().then(e=>{console.log("ui config in onboarding.tsx:",e),I(!1)})},[]),(0,n.useEffect)(()=>{t&&!F&&(0,g.getOnboardingCredentials)(t).then(e=>{let s=e.login_url;console.log("login_url:",s),U(s);let t=e.token,r=(0,p.o)(t);O(t),console.log("decoded:",r),b(r.key),console.log("decoded user email:",r.user_email),N(r.user_email),v(r.user_id)})},[t,F]),(0,r.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,r.jsxs)(i.Z,{children:[(0,r.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,r.jsx)(h.Z,{className:"text-xl",children:"reset_password"===_?"Reset Password":"Sign up"}),(0,r.jsx)(d.Z,{children:"reset_password"===_?"Reset your password to access Admin UI.":"Claim your user account to login to Admin UI."}),"reset_password"!==_&&(0,r.jsx)(o.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,r.jsxs)(u.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,r.jsx)(c.Z,{children:"SSO is under the Enterprise Tier."}),(0,r.jsx)(c.Z,{children:(0,r.jsx)(l.Z,{variant:"primary",className:"mb-2",children:(0,r.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,r.jsxs)(w.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",Z,"token:",C,"formValues:",e),Z&&C&&(e.user_email=S,E&&t&&(0,g.claimOnboardingToken)(Z,t,E,e.password).then(e=>{document.cookie="token="+C;let s=(0,g.getProxyBaseUrl)();console.log("proxyBaseUrl:",s);let t=s?"".concat(s,"/ui/?login=success"):"/ui/?login=success";console.log("redirecting to:",t),window.location.href=t}))},children:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w.Z.Item,{label:"Email Address",name:"user_email",children:(0,r.jsx)(m.Z,{type:"email",disabled:!0,value:S,defaultValue:S,className:"max-w-md"})}),(0,r.jsx)(w.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"reset_password"===_?"Enter your new password":"Create a password for your account",children:(0,r.jsx)(m.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,r.jsx)("div",{className:"mt-10",children:(0,r.jsx)(f.ZP,{htmlType:"submit",children:"reset_password"===_?"Reset Password":"Sign Up"})})]})]})})}}},function(e){e.O(0,[3665,9028,9409,4865,2901,8049,2971,2117,1744],function(){return e(e.s=2532)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-a67e608f0d011c37.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-a67e608f0d011c37.js new file mode 100644 index 0000000000..003d3883b2 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-a67e608f0d011c37.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8461],{30253:function(e,s,t){Promise.resolve().then(t.bind(t,12011))},12011:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return _}});var r=t(57437),n=t(2265),a=t(99376),l=t(78489),o=t(94789),i=t(12514),c=t(49804),u=t(67101),d=t(84264),m=t(49566),h=t(96761),x=t(84566),g=t(19250),p=t(14474),w=t(10032),f=t(5545),j=t(3914);function _(){let[e]=w.Z.useForm(),s=(0,a.useSearchParams)();(0,j.e)("token");let t=s.get("invitation_id"),_=s.get("action"),[Z,b]=(0,n.useState)(null),[y,k]=(0,n.useState)(""),[S,N]=(0,n.useState)(""),[E,v]=(0,n.useState)(null),[P,U]=(0,n.useState)(""),[C,O]=(0,n.useState)(""),[F,I]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{(0,g.getUiConfig)().then(e=>{console.log("ui config in onboarding.tsx:",e),I(!1)})},[]),(0,n.useEffect)(()=>{t&&!F&&(0,g.getOnboardingCredentials)(t).then(e=>{let s=e.login_url;console.log("login_url:",s),U(s);let t=e.token,r=(0,p.o)(t);O(t),console.log("decoded:",r),b(r.key),console.log("decoded user email:",r.user_email),N(r.user_email),v(r.user_id)})},[t,F]),(0,r.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,r.jsxs)(i.Z,{children:[(0,r.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,r.jsx)(h.Z,{className:"text-xl",children:"reset_password"===_?"Reset Password":"Sign up"}),(0,r.jsx)(d.Z,{children:"reset_password"===_?"Reset your password to access Admin UI.":"Claim your user account to login to Admin UI."}),"reset_password"!==_&&(0,r.jsx)(o.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,r.jsxs)(u.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,r.jsx)(c.Z,{children:"SSO is under the Enterprise Tier."}),(0,r.jsx)(c.Z,{children:(0,r.jsx)(l.Z,{variant:"primary",className:"mb-2",children:(0,r.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,r.jsxs)(w.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",Z,"token:",C,"formValues:",e),Z&&C&&(e.user_email=S,E&&t&&(0,g.claimOnboardingToken)(Z,t,E,e.password).then(e=>{document.cookie="token="+C;let s=(0,g.getProxyBaseUrl)();console.log("proxyBaseUrl:",s);let t=s?"".concat(s,"/ui/?login=success"):"/ui/?login=success";console.log("redirecting to:",t),window.location.href=t}))},children:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w.Z.Item,{label:"Email Address",name:"user_email",children:(0,r.jsx)(m.Z,{type:"email",disabled:!0,value:S,defaultValue:S,className:"max-w-md"})}),(0,r.jsx)(w.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"reset_password"===_?"Enter your new password":"Create a password for your account",children:(0,r.jsx)(m.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,r.jsx)("div",{className:"mt-10",children:(0,r.jsx)(f.ZP,{htmlType:"submit",children:"reset_password"===_?"Reset Password":"Sign Up"})})]})]})})}}},function(e){e.O(0,[3665,9028,9409,4865,2901,8049,2971,2117,1744],function(){return e(e.s=30253)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/page-0da481042ef13e97.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/page-0da481042ef13e97.js new file mode 100644 index 0000000000..ee326d5d64 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/page-0da481042ef13e97.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{89705:function(e,t,s){Promise.resolve().then(s.bind(s,8960))},21700:function(e,t,s){"use strict";s.d(t,{D:function(){return a.Z}});var a=s(96761)},23192:function(e,t,s){"use strict";s.d(t,{Z:function(){return h}});var a=s(57437);s(2265);var l=s(67101),r=s(12485),i=s(18135),n=s(35242),o=s(29706),d=s(77991),c=s(84264),m=s(25653),u=s(96362),x=e=>{let{href:t,className:s}=e;return(0,a.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",title:"Open documentation in a new tab",className:function(){for(var e=arguments.length,t=Array(e),s=0;s{let{proxySettings:t}=e,s="",u=null==t?void 0:t.LITELLM_UI_API_DOC_BASE_URL;return u&&u.trim()?s=u:(null==t?void 0:t.PROXY_BASE_URL)&&(s=t.PROXY_BASE_URL),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(l.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsxs)("div",{className:"mb-5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,a.jsx)(x,{className:"ml-3 shrink-0",href:"https://docs.litellm.ai/docs/proxy/user_keys"})]}),(0,a.jsxs)(c.Z,{className:"mt-2 mb-2",children:["LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below"," "]}),(0,a.jsxs)(i.Z,{children:[(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(r.Z,{children:"OpenAI Python SDK"}),(0,a.jsx)(r.Z,{children:"LlamaIndex"}),(0,a.jsx)(r.Z,{children:"Langchain Py"})]}),(0,a.jsxs)(d.Z,{children:[(0,a.jsx)(o.Z,{children:(0,a.jsx)(m.Z,{language:"python",code:'import openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(s,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)')})}),(0,a.jsx)(o.Z,{children:(0,a.jsx)(m.Z,{language:"python",code:'import os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(s,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(s,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)')})}),(0,a.jsx)(o.Z,{children:(0,a.jsx)(m.Z,{language:"python",code:'from langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(s,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)')})})]})]})]})})})}},25653:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(30401),i=s(5136),n=s(17906),o=s(1479);t.Z=e=>{let{code:t,language:s}=e,[d,c]=(0,l.useState)(!1);return(0,a.jsxs)("div",{className:"relative rounded-lg border border-gray-200 overflow-hidden",children:[(0,a.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(t),c(!0),setTimeout(()=>c(!1),2e3)},className:"absolute top-3 right-3 p-2 rounded-md bg-gray-100 hover:bg-gray-200 text-gray-600 z-10","aria-label":"Copy code",children:d?(0,a.jsx)(r.Z,{size:16}):(0,a.jsx)(i.Z,{size:16})}),(0,a.jsx)(n.Z,{language:s,style:o.Z,customStyle:{margin:0,padding:"1.5rem",borderRadius:"0.5rem",fontSize:"0.9rem",backgroundColor:"#fafafa"},showLineNumbers:!0,children:t})]})}},8960:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return sZ}});var a=s(57437),l=s(23192),r=s(39760),i=s(92403),n=s(28595),o=s(68208),d=s(69993),c=s(58630),m=s(57400),u=s(29436),x=s(44625),h=s(9775),p=s(48231),g=s(15883),j=s(41361),f=s(37527),y=s(99458),v=s(12660),_=s(88009),b=s(41169),N=s(38434),Z=s(71891),w=s(55322),k=s(11429),S=s(13817),C=s(33866),T=s(18310),A=s(60985),L=s(20347),I=s(79262);let{Sider:P}=S.default;var z=e=>{let{accessToken:t,setPage:s,userRole:l,defaultSelectedKey:r,collapsed:z=!1}=e,D=e=>{let t=new URLSearchParams(window.location.search);t.set("page",e),window.history.pushState(null,"","?".concat(t.toString())),s(e)},E=[{groupLabel:"AI GATEWAY",items:[{key:"api-keys",page:"api-keys",label:"Virtual Keys",icon:(0,a.jsx)(i.Z,{})},{key:"llm-playground",page:"llm-playground",label:"Playground",icon:(0,a.jsx)(n.Z,{}),roles:L.LQ},{key:"models",page:"models",label:"Models + Endpoints",icon:(0,a.jsx)(o.Z,{}),roles:L.LQ},{key:"agents",page:"agents",label:(0,a.jsxs)("span",{className:"flex items-center gap-4",children:["Agents ",(0,a.jsx)(C.Z,{color:"blue",count:"New"})]}),icon:(0,a.jsx)(d.Z,{}),roles:L.LQ},{key:"mcp-servers",page:"mcp-servers",label:"MCP Servers",icon:(0,a.jsx)(c.Z,{})},{key:"guardrails",page:"guardrails",label:"Guardrails",icon:(0,a.jsx)(m.Z,{}),roles:L.ZL},{key:"tools",page:"tools",label:"Tools",icon:(0,a.jsx)(c.Z,{}),children:[{key:"search-tools",page:"search-tools",label:"Search Tools",icon:(0,a.jsx)(u.Z,{})},{key:"vector-stores",page:"vector-stores",label:"Vector Stores",icon:(0,a.jsx)(x.Z,{}),roles:L.ZL}]}]},{groupLabel:"OBSERVABILITY",items:[{key:"new_usage",page:"new_usage",icon:(0,a.jsx)(h.Z,{}),roles:[...L.ZL,...L.lo],label:(0,a.jsxs)("span",{className:"flex items-center gap-4",children:["Usage ",(0,a.jsx)(C.Z,{color:"blue",count:"New"})]})},{key:"logs",page:"logs",label:"Logs",icon:(0,a.jsx)(p.Z,{})}]},{groupLabel:"ACCESS CONTROL",items:[{key:"users",page:"users",label:"Internal Users",icon:(0,a.jsx)(g.Z,{}),roles:L.ZL},{key:"teams",page:"teams",label:"Teams",icon:(0,a.jsx)(j.Z,{})},{key:"organizations",page:"organizations",label:"Organizations",icon:(0,a.jsx)(f.Z,{}),roles:L.ZL},{key:"budgets",page:"budgets",label:"Budgets",icon:(0,a.jsx)(y.Z,{}),roles:L.ZL}]},{groupLabel:"DEVELOPER TOOLS",items:[{key:"api_ref",page:"api_ref",label:"API Reference",icon:(0,a.jsx)(v.Z,{})},{key:"model-hub-table",page:"model-hub-table",label:"AI Hub",icon:(0,a.jsx)(_.Z,{})},{key:"experimental",page:"experimental",label:"Experimental",icon:(0,a.jsx)(b.Z,{}),children:[{key:"caching",page:"caching",label:"Caching",icon:(0,a.jsx)(x.Z,{}),roles:L.ZL},{key:"prompts",page:"prompts",label:"Prompts",icon:(0,a.jsx)(N.Z,{}),roles:L.ZL},{key:"transform-request",page:"transform-request",label:"API Playground",icon:(0,a.jsx)(v.Z,{}),roles:[...L.ZL,...L.lo]},{key:"tag-management",page:"tag-management",label:"Tag Management",icon:(0,a.jsx)(Z.Z,{}),roles:L.ZL},{key:"4",page:"usage",label:"Old Usage",icon:(0,a.jsx)(h.Z,{})}]}]},{groupLabel:"SETTINGS",roles:L.ZL,items:[{key:"settings",page:"settings",label:"Settings",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL,children:[{key:"router-settings",page:"router-settings",label:"Router Settings",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL},{key:"logging-and-alerts",page:"logging-and-alerts",label:"Logging & Alerts",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL},{key:"admin-panel",page:"admin-panel",label:"Admin Settings",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL},{key:"cost-tracking",page:"cost-tracking",label:"Cost Tracking",icon:(0,a.jsx)(h.Z,{}),roles:L.ZL},{key:"ui-theme",page:"ui-theme",label:"UI Theme",icon:(0,a.jsx)(k.Z,{}),roles:L.ZL}]}]}],O=e=>e.filter(e=>!e.roles||e.roles.includes(l)).map(e=>({...e,children:e.children?O(e.children):void 0})),F=(e=>{for(let t of E)for(let s of t.items){if(s.page===e)return s.key;if(s.children){let t=s.children.find(t=>t.page===e);if(t)return t.key}}return"api-keys"})(r);return(0,a.jsx)(S.default,{children:(0,a.jsxs)(P,{theme:"light",width:220,collapsed:z,collapsedWidth:80,collapsible:!0,trigger:null,style:{transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",position:"relative"},children:[(0,a.jsx)(T.ZP,{theme:{components:{Menu:{iconSize:15,fontSize:13,itemMarginInline:4,itemPaddingInline:8,itemHeight:30,itemBorderRadius:6,subMenuItemBorderRadius:6,groupTitleFontSize:10,groupTitleLineHeight:1.5}}},children:(0,a.jsx)(A.Z,{mode:"inline",selectedKeys:[F],defaultOpenKeys:[],inlineCollapsed:z,className:"custom-sidebar-menu",style:{borderRight:0,backgroundColor:"transparent",fontSize:"13px",paddingTop:"4px"},items:(()=>{let e=[];return E.forEach(t=>{if(t.roles&&!t.roles.includes(l))return;let s=O(t.items);0!==s.length&&e.push({type:"group",label:z?null:(0,a.jsx)("span",{style:{fontSize:"10px",fontWeight:600,color:"#6b7280",letterSpacing:"0.05em",padding:"12px 0 4px 12px",display:"block",marginBottom:"2px"},children:t.groupLabel}),children:s.map(e=>{var t;return{key:e.key,icon:e.icon,label:e.label,children:null===(t=e.children)||void 0===t?void 0:t.map(e=>({key:e.key,icon:e.icon,label:e.label,onClick:()=>D(e.page)})),onClick:e.children?void 0:()=>D(e.page)}})})}),e})()})}),(0,L.tY)(l)&&!z&&(0,a.jsx)(I.Z,{accessToken:t,width:220})]})})},D=e=>{let{setPage:t,defaultSelectedKey:s,sidebarCollapsed:l}=e,{accessToken:i,userRole:n}=(0,r.Z)();return(0,a.jsx)(z,{accessToken:i,setPage:t,userRole:n,defaultSelectedKey:s,collapsed:l})},E=s(31200),O=s(69039),F=s(48449),M=s(2265),R=s(16312),B=s(22116),q=s(19250),U=s(10032),V=s(42264),H=s(37592),K=s(4260),W=s(44851),Y=s(63709),J=s(5545),G=s(45246),$=s(96473);let X={basic:{key:"basic",title:"Basic Information",defaultExpanded:!0,fields:[{name:"name",label:"Display Name",type:"text",required:!0,placeholder:"e.g., Customer Support Agent"},{name:"description",label:"Description",type:"textarea",required:!0,placeholder:"Describe what this agent does...",rows:3},{name:"url",label:"URL",type:"url",required:!0,placeholder:"http://localhost:9999/",tooltip:"Base URL where the agent is hosted"},{name:"version",label:"Version",type:"text",placeholder:"1.0.0",defaultValue:"1.0.0"},{name:"protocolVersion",label:"Protocol Version",type:"text",placeholder:"1.0",defaultValue:"1.0"}]},skills:{key:"skills",title:"Skills",fields:[{name:"skills",label:"Skills",type:"list",defaultValue:[]}]},capabilities:{key:"capabilities",title:"Capabilities",fields:[{name:"streaming",label:"Streaming",type:"switch",defaultValue:!1},{name:"pushNotifications",label:"Push Notifications",type:"switch"},{name:"stateTransitionHistory",label:"State Transition History",type:"switch"}]},optional:{key:"optional",title:"Optional Settings",fields:[{name:"iconUrl",label:"Icon URL",type:"url",placeholder:"https://example.com/icon.png"},{name:"documentationUrl",label:"Documentation URL",type:"url",placeholder:"https://docs.example.com"},{name:"supportsAuthenticatedExtendedCard",label:"Supports Authenticated Extended Card",type:"switch"}]},litellm:{key:"litellm",title:"LiteLLM Parameters",fields:[{name:"model",label:"Model (Optional)",type:"text"},{name:"make_public",label:"Make Public",type:"switch"}]},cost:{key:"cost",title:"Cost Configuration",fields:[{name:"cost_per_query",label:"Cost Per Query ($)",type:"text",placeholder:"0.0",tooltip:"Fixed cost per query"},{name:"input_cost_per_token",label:"Input Cost Per Token ($)",type:"text",placeholder:"0.000001",tooltip:"Cost per input token"},{name:"output_cost_per_token",label:"Output Cost Per Token ($)",type:"text",placeholder:"0.000002",tooltip:"Cost per output token"}]}},Q=()=>{let e={defaultInputModes:["text"],defaultOutputModes:["text"]};return Object.values(X).forEach(t=>{t.fields.forEach(t=>{void 0!==t.defaultValue&&(e[t.name]=t.defaultValue)})}),e},ee=(e,t)=>{var s,a;let l={agent_name:e.agent_name,agent_card_params:{protocolVersion:e.protocolVersion||"1.0",name:e.name,description:e.description,url:e.url,version:e.version||"1.0.0",defaultInputModes:(null==t?void 0:null===(s=t.agent_card_params)||void 0===s?void 0:s.defaultInputModes)||["text"],defaultOutputModes:(null==t?void 0:null===(a=t.agent_card_params)||void 0===a?void 0:a.defaultOutputModes)||["text"],capabilities:{streaming:!0===e.streaming,...void 0!==e.pushNotifications&&{pushNotifications:e.pushNotifications},...void 0!==e.stateTransitionHistory&&{stateTransitionHistory:e.stateTransitionHistory}},skills:e.skills||[],...e.iconUrl&&{iconUrl:e.iconUrl},...e.documentationUrl&&{documentationUrl:e.documentationUrl},...void 0!==e.supportsAuthenticatedExtendedCard&&{supportsAuthenticatedExtendedCard:e.supportsAuthenticatedExtendedCard}}},r={};return e.model&&(r.model=e.model),void 0!==e.make_public&&(r.make_public=e.make_public),e.cost_per_query&&(r.cost_per_query=parseFloat(e.cost_per_query)),e.input_cost_per_token&&(r.input_cost_per_token=parseFloat(e.input_cost_per_token)),e.output_cost_per_token&&(r.output_cost_per_token=parseFloat(e.output_cost_per_token)),Object.keys(r).length>0&&(l.litellm_params=r),l},et=e=>{var t,s,a,l,r,i,n,o,d,c,m,u,x,h,p,g,j,f,y,v,_;let b=(null===(s=e.agent_card_params)||void 0===s?void 0:null===(t=s.skills)||void 0===t?void 0:t.map(e=>({...e,tags:e.tags,examples:e.examples||[]})))||[];return{agent_name:e.agent_name,name:null===(a=e.agent_card_params)||void 0===a?void 0:a.name,description:null===(l=e.agent_card_params)||void 0===l?void 0:l.description,url:null===(r=e.agent_card_params)||void 0===r?void 0:r.url,version:null===(i=e.agent_card_params)||void 0===i?void 0:i.version,protocolVersion:null===(n=e.agent_card_params)||void 0===n?void 0:n.protocolVersion,streaming:null===(d=e.agent_card_params)||void 0===d?void 0:null===(o=d.capabilities)||void 0===o?void 0:o.streaming,pushNotifications:null===(m=e.agent_card_params)||void 0===m?void 0:null===(c=m.capabilities)||void 0===c?void 0:c.pushNotifications,stateTransitionHistory:null===(x=e.agent_card_params)||void 0===x?void 0:null===(u=x.capabilities)||void 0===u?void 0:u.stateTransitionHistory,skills:b,iconUrl:null===(h=e.agent_card_params)||void 0===h?void 0:h.iconUrl,documentationUrl:null===(p=e.agent_card_params)||void 0===p?void 0:p.documentationUrl,supportsAuthenticatedExtendedCard:null===(g=e.agent_card_params)||void 0===g?void 0:g.supportsAuthenticatedExtendedCard,model:null===(j=e.litellm_params)||void 0===j?void 0:j.model,make_public:null===(f=e.litellm_params)||void 0===f?void 0:f.make_public,cost_per_query:null===(y=e.litellm_params)||void 0===y?void 0:y.cost_per_query,input_cost_per_token:null===(v=e.litellm_params)||void 0===v?void 0:v.input_cost_per_token,output_cost_per_token:null===(_=e.litellm_params)||void 0===_?void 0:_.output_cost_per_token}};var es=()=>(0,a.jsx)(a.Fragment,{children:X.cost.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,tooltip:e.tooltip,children:(0,a.jsx)(K.default,{placeholder:e.placeholder,type:"number",step:"0.000001"})},e.name))});let{Panel:ea}=W.default;var el=e=>{let{showAgentName:t=!0}=e;return(0,a.jsxs)(a.Fragment,{children:[t&&(0,a.jsx)(U.Z.Item,{label:"Agent Name",name:"agent_name",rules:[{required:!0,message:"Please enter a unique agent name"}],tooltip:"Unique identifier for the agent",children:(0,a.jsx)(K.default,{placeholder:"e.g., customer-support-agent"})}),(0,a.jsxs)(W.default,{defaultActiveKey:["basic"],style:{marginBottom:16},children:[(0,a.jsx)(ea,{header:"".concat(X.basic.title," (Required)"),children:X.basic.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,rules:e.required?[{required:!0,message:"Please enter ".concat(e.label.toLowerCase())}]:void 0,tooltip:e.tooltip,children:"textarea"===e.type?(0,a.jsx)(K.default.TextArea,{rows:e.rows,placeholder:e.placeholder}):(0,a.jsx)(K.default,{placeholder:e.placeholder})},e.name))},X.basic.key),(0,a.jsx)(ea,{header:"".concat(X.skills.title," (Required)"),children:(0,a.jsx)(U.Z.List,{name:"skills",children:(e,t)=>{let{add:s,remove:l}=t;return(0,a.jsxs)(a.Fragment,{children:[e.map(e=>(0,a.jsxs)("div",{style:{marginBottom:16,padding:16,border:"1px solid #d9d9d9",borderRadius:4},children:[(0,a.jsx)(U.Z.Item,{...e,label:"Skill ID",name:[e.name,"id"],rules:[{required:!0,message:"Required"}],children:(0,a.jsx)(K.default,{placeholder:"e.g., hello_world"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Skill Name",name:[e.name,"name"],rules:[{required:!0,message:"Required"}],children:(0,a.jsx)(K.default,{placeholder:"e.g., Returns hello world"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Description",name:[e.name,"description"],rules:[{required:!0,message:"Required"}],children:(0,a.jsx)(K.default.TextArea,{rows:2,placeholder:"What this skill does"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Tags (comma-separated)",name:[e.name,"tags"],rules:[{required:!0,message:"Required"}],getValueFromEvent:e=>e.target.value.split(",").map(e=>e.trim()),getValueProps:e=>({value:Array.isArray(e)?e.join(", "):e}),children:(0,a.jsx)(K.default,{placeholder:"e.g., hello world, greeting"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Examples (comma-separated)",name:[e.name,"examples"],getValueFromEvent:e=>e.target.value.split(",").map(e=>e.trim()).filter(e=>e),getValueProps:e=>({value:Array.isArray(e)?e.join(", "):""}),children:(0,a.jsx)(K.default,{placeholder:"e.g., hi, hello world"})}),(0,a.jsx)(J.ZP,{type:"link",danger:!0,onClick:()=>l(e.name),icon:(0,a.jsx)(G.Z,{}),children:"Remove Skill"})]},e.key)),(0,a.jsx)(J.ZP,{type:"dashed",onClick:()=>s(),icon:(0,a.jsx)($.Z,{}),style:{width:"100%"},children:"Add Skill"})]})}})},X.skills.key),(0,a.jsx)(ea,{header:X.capabilities.title,children:X.capabilities.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,valuePropName:"checked",children:(0,a.jsx)(Y.Z,{})},e.name))},X.capabilities.key),(0,a.jsx)(ea,{header:X.optional.title,children:X.optional.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,valuePropName:"switch"===e.type?"checked":void 0,children:"switch"===e.type?(0,a.jsx)(Y.Z,{}):(0,a.jsx)(K.default,{placeholder:e.placeholder})},e.name))},X.optional.key),(0,a.jsx)(ea,{header:X.cost.title,children:(0,a.jsx)(es,{})},X.cost.key),(0,a.jsx)(ea,{header:X.litellm.title,children:X.litellm.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,valuePropName:"switch"===e.type?"checked":void 0,children:"switch"===e.type?(0,a.jsx)(Y.Z,{}):(0,a.jsx)(K.default,{placeholder:e.placeholder})},e.name))},X.litellm.key)]})]})};let{Panel:er}=W.default,ei=(e,t)=>{let s={...t.litellm_params_template||{}};for(let a of t.credential_fields){let t=e[a.key];t&&!1!==a.include_in_litellm_params&&(s[a.key]=t)}if(e.cost_per_query&&(s.cost_per_query=parseFloat(e.cost_per_query)),e.input_cost_per_token&&(s.input_cost_per_token=parseFloat(e.input_cost_per_token)),e.output_cost_per_token&&(s.output_cost_per_token=parseFloat(e.output_cost_per_token)),t.model_template){let a=t.model_template;for(let s of t.credential_fields){let t="{".concat(s.key,"}");a.includes(t)&&e[s.key]&&(a=a.replace(t,e[s.key]))}s.model=a}return{agent_name:e.agent_name,agent_card_params:{protocolVersion:"1.0",name:e.display_name||e.agent_name,description:e.description||"".concat(t.agent_type_display_name," agent"),url:e.api_base||"",version:"1.0.0",defaultInputModes:["text"],defaultOutputModes:["text"],capabilities:{streaming:!0},skills:[{id:"chat",name:"Chat",description:"General chat capability",tags:["chat","conversation"]}]},litellm_params:s}};var en=e=>{let{agentTypeInfo:t}=e;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.Z.Item,{label:"Agent Name",name:"agent_name",rules:[{required:!0,message:"Please enter a unique agent name"}],tooltip:"Unique identifier for the agent",children:(0,a.jsx)(K.default,{placeholder:"e.g., my-langgraph-agent"})}),(0,a.jsx)(U.Z.Item,{label:"Description",name:"description",tooltip:"Brief description of what this agent does",children:(0,a.jsx)(K.default.TextArea,{rows:2,placeholder:"Describe what this agent does..."})}),t.credential_fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.key,rules:e.required?[{required:!0,message:"Please enter ".concat(e.label)}]:void 0,tooltip:e.tooltip,initialValue:e.default_value,children:"password"===e.field_type?(0,a.jsx)(K.default.Password,{placeholder:e.placeholder||""}):"textarea"===e.field_type?(0,a.jsx)(K.default.TextArea,{rows:3,placeholder:e.placeholder||""}):"select"===e.field_type&&e.options?(0,a.jsx)(H.default,{placeholder:e.placeholder||"",children:e.options.map(e=>(0,a.jsx)(H.default.Option,{value:e,children:e},e))}):(0,a.jsx)(K.default,{placeholder:e.placeholder||""})},e.key)),(0,a.jsx)(W.default,{style:{marginBottom:16},children:(0,a.jsx)(er,{header:X.cost.title,children:(0,a.jsx)(es,{})},X.cost.key)})]})},eo=e=>{var t;let{visible:s,onClose:l,accessToken:r,onSuccess:i}=e,[n]=U.Z.useForm(),[o,d]=(0,M.useState)(!1),[c,m]=(0,M.useState)("a2a"),[u,x]=(0,M.useState)([]),[h,p]=(0,M.useState)(!1);(0,M.useEffect)(()=>{(async()=>{p(!0);try{let e=await (0,q.getAgentCreateMetadata)();x(e)}catch(e){console.error("Error fetching agent metadata:",e)}finally{p(!1)}})()},[]);let g=u.find(e=>e.agent_type===c),j=async e=>{if(!r){V.ZP.error("No access token available");return}d(!0);try{let t;if("a2a"===c)t=ee(e);else if(null==g?void 0:g.use_a2a_form_fields)for(let s of(t=ee(e),g.litellm_params_template&&(t.litellm_params={...t.litellm_params,...g.litellm_params_template}),g.credential_fields)){let a=e[s.key];a&&!1!==s.include_in_litellm_params&&(t.litellm_params[s.key]=a)}else g&&(t=ei(e,g));await (0,q.createAgentCall)(r,t),V.ZP.success("Agent created successfully"),n.resetFields(),m("a2a"),i(),l()}catch(e){console.error("Error creating agent:",e),V.ZP.error("Failed to create agent")}finally{d(!1)}},f=()=>{n.resetFields(),m("a2a"),l()},y=(null==g?void 0:g.logo_url)||(null===(t=u.find(e=>"a2a"===e.agent_type))||void 0===t?void 0:t.logo_url);return(0,a.jsx)(B.Z,{title:(0,a.jsxs)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:[y&&(0,a.jsx)("img",{src:y,alt:"Agent",className:"w-6 h-6 object-contain"}),(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add New Agent"})]}),open:s,onCancel:f,footer:null,width:900,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsxs)(U.Z,{form:n,layout:"vertical",onFinish:j,initialValues:"a2a"===c?Q():{},className:"space-y-4",children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Agent Type"}),required:!0,tooltip:"Select the type of agent you want to create",children:(0,a.jsx)(H.default,{value:c,onChange:e=>{m(e),n.resetFields()},size:"large",style:{width:"100%"},optionLabelProp:"label",children:u.map(e=>(0,a.jsx)(H.default.Option,{value:e.agent_type,label:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("img",{src:e.logo_url||"",alt:"",className:"w-4 h-4 object-contain"}),(0,a.jsx)("span",{children:e.agent_type_display_name})]}),children:(0,a.jsxs)("div",{className:"flex items-center gap-3 py-1",children:[(0,a.jsx)("img",{src:e.logo_url||"",alt:e.agent_type_display_name,className:"w-5 h-5 object-contain"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-medium",children:e.agent_type_display_name}),e.description&&(0,a.jsx)("div",{className:"text-xs text-gray-500",children:e.description})]})]})},e.agent_type))})}),(0,a.jsx)("div",{className:"mt-6",children:"a2a"===c?(0,a.jsx)(el,{showAgentName:!0}):(null==g?void 0:g.use_a2a_form_fields)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(el,{showAgentName:!0}),g.credential_fields.length>0&&(0,a.jsxs)("div",{className:"mt-4 p-4 border border-gray-200 rounded-lg",children:[(0,a.jsxs)("h4",{className:"text-sm font-medium text-gray-700 mb-3",children:[g.agent_type_display_name," Settings"]}),g.credential_fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.key,rules:e.required?[{required:!0,message:"Please enter ".concat(e.label)}]:void 0,tooltip:e.tooltip,initialValue:e.default_value,children:"password"===e.field_type?(0,a.jsx)(K.default.Password,{placeholder:e.placeholder||""}):(0,a.jsx)(K.default,{placeholder:e.placeholder||""})},e.key))]})]}):g?(0,a.jsx)(en,{agentTypeInfo:g}):null}),(0,a.jsxs)("div",{className:"flex items-center justify-end space-x-3 pt-6 border-t border-gray-100 mt-6",children:[(0,a.jsx)(R.z,{variant:"secondary",onClick:f,children:"Cancel"}),(0,a.jsx)(R.z,{variant:"primary",loading:o,children:o?"Creating...":"Create Agent"})]})]})})})},ed=s(12579),ec=s(74998),em=s(44633),eu=s(86462),ex=s(49084),eh=s(99981),ep=s(23639),eg=s(71594),ej=s(24525),ef=e=>{let{agentsList:t,isLoading:s,onDeleteClick:l,accessToken:r,onAgentUpdated:i,isAdmin:n,onAgentClick:o}=e,[d,c]=(0,M.useState)([{id:"created_at",desc:!0}]),m=e=>e?new Date(e).toLocaleString():"-",u=e=>{navigator.clipboard.writeText(e)},x=[{header:"Agent Name",accessorKey:"agent_name",cell:e=>{let{row:t}=e,s=t.original,l=s.agent_name||"";return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(eh.Z,{title:l,children:(0,a.jsx)(ed.zx,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate min-w-[200px] justify-start",onClick:()=>o(s.agent_id),children:l})}),(0,a.jsx)(eh.Z,{title:"Copy Agent ID",children:(0,a.jsx)(ep.Z,{onClick:e=>{e.stopPropagation(),u(s.agent_id)},className:"cursor-pointer text-gray-500 hover:text-blue-500 text-xs"})})]})}},{header:"Description",accessorKey:"agent_card_params.description",cell:e=>{var t;let{row:s}=e,l=(null===(t=s.original.agent_card_params)||void 0===t?void 0:t.description)||"No description";return(0,a.jsx)("span",{className:"text-xs text-gray-600 block max-w-[300px] truncate",children:l})}},{header:"Created At",accessorKey:"created_at",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)(eh.Z,{title:s.created_at,children:(0,a.jsx)("span",{className:"text-xs",children:m(s.created_at)})})}},...n?[{header:"Actions",id:"actions",enableSorting:!1,cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("div",{className:"flex items-center gap-1",children:(0,a.jsx)(eh.Z,{title:"Delete agent",children:(0,a.jsx)(ed.zx,{size:"xs",variant:"light",color:"red",onClick:e=>{e.stopPropagation(),l(s.agent_id,s.agent_name)},icon:ec.Z,className:"text-red-500 hover:text-red-700 hover:bg-red-50"})})})}}]:[]],h=(0,eg.b7)({data:t,columns:x,state:{sorting:d},onSortingChange:c,getCoreRowModel:(0,ej.sC)(),getSortedRowModel:(0,ej.tj)(),enableSorting:!0});return(0,a.jsx)("div",{className:"rounded-lg custom-border relative",children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)(ed.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,a.jsx)(ed.ss,{children:h.getHeaderGroups().map(e=>(0,a.jsx)(ed.SC,{children:e.headers.map(e=>(0,a.jsx)(ed.xs,{className:"py-1 h-8",onClick:e.column.getToggleSortingHandler(),children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,eg.ie)(e.column.columnDef.header,e.getContext())}),(0,a.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,a.jsx)(em.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,a.jsx)(eu.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,a.jsx)(ex.Z,{className:"h-4 w-4 text-gray-400"})})]})},e.id))},e.id))}),(0,a.jsx)(ed.RM,{children:s?(0,a.jsx)(ed.SC,{children:(0,a.jsx)(ed.pj,{colSpan:x.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:"Loading..."})})})}):t&&t.length>0?h.getRowModel().rows.map(e=>(0,a.jsx)(ed.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,a.jsx)(ed.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,eg.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,a.jsx)(ed.SC,{children:(0,a.jsx)(ed.pj,{colSpan:x.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:"No agents found. Create one to get started."})})})})})]})})})},ey=s(78489),ev=s(12514),e_=s(12485),eb=s(18135),eN=s(35242),eZ=s(29706),ew=s(77991),ek=s(84264),eS=s(96761),eC=s(10353),eT=s(76188),eA=s(10900),eL=s(21700),eI=e=>{let{agent:t}=e,s=t.litellm_params;return(null==s?void 0:s.cost_per_query)===void 0&&(null==s?void 0:s.input_cost_per_token)===void 0&&(null==s?void 0:s.output_cost_per_token)===void 0?null:(0,a.jsxs)("div",{style:{marginTop:24},children:[(0,a.jsx)(eL.D,{children:"Cost Configuration"}),(0,a.jsxs)(eT.Z,{bordered:!0,column:1,style:{marginTop:16},children:[void 0!==s.cost_per_query&&(0,a.jsxs)(eT.Z.Item,{label:"Cost Per Query",children:["$",s.cost_per_query]}),void 0!==s.input_cost_per_token&&(0,a.jsxs)(eT.Z.Item,{label:"Input Cost Per Token",children:["$",s.input_cost_per_token]}),void 0!==s.output_cost_per_token&&(0,a.jsxs)(eT.Z.Item,{label:"Output Cost Per Token",children:["$",s.output_cost_per_token]})]})]})};let eP=e=>{var t,s;let a=(null===(t=e.litellm_params)||void 0===t?void 0:t.model)||"",l=null===(s=e.litellm_params)||void 0===s?void 0:s.custom_llm_provider;return"langgraph"===l?"langgraph":"azure_ai"===l?"azure_ai_foundry":"bedrock"===l?"bedrock_agentcore":a.startsWith("langgraph/")?"langgraph":a.startsWith("azure_ai/agents/")?"azure_ai_foundry":a.startsWith("bedrock/agentcore/")?"bedrock_agentcore":"a2a"},ez=(e,t)=>{var s,a,l,r,i,n;let o={agent_name:e.agent_name,description:(null===(s=e.agent_card_params)||void 0===s?void 0:s.description)||""};for(let s of t.credential_fields)if(!1!==s.include_in_litellm_params)o[s.key]=(null===(i=e.litellm_params)||void 0===i?void 0:i[s.key])||s.default_value||"";else if(t.model_template&&(null===(n=e.litellm_params)||void 0===n?void 0:n.model)){let a=e.litellm_params.model,l=t.model_template.split("/"),r=a.split("/");l.forEach((e,t)=>{e==="{".concat(s.key,"}")&&r[t]&&(o[s.key]=r[t])})}return o.cost_per_query=null===(a=e.litellm_params)||void 0===a?void 0:a.cost_per_query,o.input_cost_per_token=null===(l=e.litellm_params)||void 0===l?void 0:l.input_cost_per_token,o.output_cost_per_token=null===(r=e.litellm_params)||void 0===r?void 0:r.output_cost_per_token,o};var eD=e=>{var t,s,l,r,i,n,o,d,c,m,u,x,h,p,g,j,f,y;let{agentId:v,onClose:_,accessToken:b,isAdmin:N}=e,[Z,w]=(0,M.useState)(null),[k,S]=(0,M.useState)(!0),[C,T]=(0,M.useState)(!1),[A,L]=(0,M.useState)(!1),[I]=U.Z.useForm(),[P,z]=(0,M.useState)([]),[D,E]=(0,M.useState)("a2a");(0,M.useEffect)(()=>{(async()=>{try{let e=await (0,q.getAgentCreateMetadata)();z(e)}catch(e){console.error("Error fetching agent metadata:",e)}})()},[]),(0,M.useEffect)(()=>{O()},[v,b]);let O=async()=>{if(b){S(!0);try{let e=await (0,q.getAgentInfo)(b,v);w(e);let t=eP(e);if(E(t),"a2a"===t)I.setFieldsValue(et(e));else{let s=P.find(e=>e.agent_type===t);s?I.setFieldsValue(ez(e,s)):I.setFieldsValue(et(e))}}catch(e){console.error("Error fetching agent info:",e),V.ZP.error("Failed to load agent information")}finally{S(!1)}}};(0,M.useEffect)(()=>{if(Z&&P.length>0){let e=eP(Z);if("a2a"!==e){let t=P.find(t=>t.agent_type===e);t&&I.setFieldsValue(ez(Z,t))}}},[P,Z]);let F=P.find(e=>e.agent_type===D),R=async e=>{if(b&&Z){L(!0);try{let t;"a2a"===D?t=ee(e,Z):F?(t=ei(e,F)).agent_name=e.agent_name:t=ee(e,Z),await (0,q.patchAgentCall)(b,v,t),V.ZP.success("Agent updated successfully"),T(!1),O()}catch(e){console.error("Error updating agent:",e),V.ZP.error("Failed to update agent")}finally{L(!1)}}};if(k)return(0,a.jsx)("div",{className:"p-4",children:(0,a.jsx)("div",{className:"flex justify-center items-center h-64",children:(0,a.jsx)(eC.Z,{size:"large"})})});if(!Z)return(0,a.jsxs)("div",{className:"p-4",children:[(0,a.jsx)("div",{className:"text-center",children:"Agent not found"}),(0,a.jsx)(ey.Z,{onClick:_,className:"mt-4",children:"Back to Agents List"})]});let B=e=>e?new Date(e).toLocaleString():"-";return(0,a.jsxs)("div",{className:"p-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(ey.Z,{icon:eA.Z,variant:"light",onClick:_,className:"mb-4",children:"Back to Agents"}),(0,a.jsx)(eS.Z,{children:Z.agent_name||"Unnamed Agent"}),(0,a.jsx)(ek.Z,{className:"text-gray-500 font-mono",children:Z.agent_id})]}),(0,a.jsxs)(eb.Z,{children:[(0,a.jsxs)(eN.Z,{className:"mb-4",children:[(0,a.jsx)(e_.Z,{children:"Overview"},"overview"),N?(0,a.jsx)(e_.Z,{children:"Settings"},"settings"):(0,a.jsx)(a.Fragment,{})]}),(0,a.jsxs)(ew.Z,{children:[(0,a.jsxs)(eZ.Z,{children:[(0,a.jsxs)(eT.Z,{bordered:!0,column:1,children:[(0,a.jsx)(eT.Z.Item,{label:"Agent ID",children:Z.agent_id}),(0,a.jsx)(eT.Z.Item,{label:"Agent Name",children:Z.agent_name}),(0,a.jsx)(eT.Z.Item,{label:"Display Name",children:(null===(t=Z.agent_card_params)||void 0===t?void 0:t.name)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Description",children:(null===(s=Z.agent_card_params)||void 0===s?void 0:s.description)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"URL",children:(null===(l=Z.agent_card_params)||void 0===l?void 0:l.url)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Version",children:(null===(r=Z.agent_card_params)||void 0===r?void 0:r.version)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Protocol Version",children:(null===(i=Z.agent_card_params)||void 0===i?void 0:i.protocolVersion)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Streaming",children:(null===(o=Z.agent_card_params)||void 0===o?void 0:null===(n=o.capabilities)||void 0===n?void 0:n.streaming)?"Yes":"No"}),(null===(c=Z.agent_card_params)||void 0===c?void 0:null===(d=c.capabilities)||void 0===d?void 0:d.pushNotifications)&&(0,a.jsx)(eT.Z.Item,{label:"Push Notifications",children:"Yes"}),(null===(u=Z.agent_card_params)||void 0===u?void 0:null===(m=u.capabilities)||void 0===m?void 0:m.stateTransitionHistory)&&(0,a.jsx)(eT.Z.Item,{label:"State Transition History",children:"Yes"}),(0,a.jsxs)(eT.Z.Item,{label:"Skills",children:[(null===(h=Z.agent_card_params)||void 0===h?void 0:null===(x=h.skills)||void 0===x?void 0:x.length)||0," configured"]}),(null===(p=Z.litellm_params)||void 0===p?void 0:p.model)&&(0,a.jsx)(eT.Z.Item,{label:"Model",children:Z.litellm_params.model}),(null===(g=Z.litellm_params)||void 0===g?void 0:g.make_public)!==void 0&&(0,a.jsx)(eT.Z.Item,{label:"Make Public",children:Z.litellm_params.make_public?"Yes":"No"}),(null===(j=Z.agent_card_params)||void 0===j?void 0:j.iconUrl)&&(0,a.jsx)(eT.Z.Item,{label:"Icon URL",children:Z.agent_card_params.iconUrl}),(null===(f=Z.agent_card_params)||void 0===f?void 0:f.documentationUrl)&&(0,a.jsx)(eT.Z.Item,{label:"Documentation URL",children:Z.agent_card_params.documentationUrl}),(0,a.jsx)(eT.Z.Item,{label:"Created At",children:B(Z.created_at)}),(0,a.jsx)(eT.Z.Item,{label:"Updated At",children:B(Z.updated_at)})]}),(0,a.jsx)(eI,{agent:Z}),(null===(y=Z.agent_card_params)||void 0===y?void 0:y.skills)&&Z.agent_card_params.skills.length>0&&(0,a.jsxs)("div",{style:{marginTop:24},children:[(0,a.jsx)(eS.Z,{children:"Skills"}),(0,a.jsx)(eT.Z,{bordered:!0,column:1,style:{marginTop:16},children:Z.agent_card_params.skills.map((e,t)=>(0,a.jsx)(eT.Z.Item,{label:e.name||"Skill ".concat(t+1),children:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"ID:"})," ",e.id]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Description:"})," ",e.description]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Tags:"})," ",Array.isArray(e.tags)?e.tags.join(", "):e.tags]}),e.examples&&e.examples.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Examples:"})," ",Array.isArray(e.examples)?e.examples.join(", "):e.examples]})]})},t))})]})]}),N&&(0,a.jsx)(eZ.Z,{children:(0,a.jsxs)(ev.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(eS.Z,{children:"Agent Settings"}),!C&&(0,a.jsx)(ey.Z,{onClick:()=>T(!0),children:"Edit Settings"})]}),C?(0,a.jsxs)(U.Z,{form:I,layout:"vertical",onFinish:R,children:[(0,a.jsx)(U.Z.Item,{label:"Agent ID",children:(0,a.jsx)(K.default,{value:Z.agent_id,disabled:!0})}),"a2a"===D?(0,a.jsx)(el,{showAgentName:!0}):F?(0,a.jsx)(en,{agentTypeInfo:F}):(0,a.jsx)(el,{showAgentName:!0}),(0,a.jsxs)("div",{className:"flex justify-end gap-2 mt-6",children:[(0,a.jsx)(J.ZP,{onClick:()=>{T(!1),O()},children:"Cancel"}),(0,a.jsx)(ey.Z,{loading:A,children:"Save Changes"})]})]}):(0,a.jsx)(ek.Z,{children:'Click "Edit Settings" to modify agent configuration.'})]})})]})]})]})},eE=s(9114),eO=e=>{let{accessToken:t,userRole:s}=e,[l,r]=(0,M.useState)([]),[i,n]=(0,M.useState)(!1),[o,d]=(0,M.useState)(!1),[c,m]=(0,M.useState)(!1),[u,x]=(0,M.useState)(null),[h,p]=(0,M.useState)(null),g=!!s&&(0,L.tY)(s),j=async()=>{if(t){d(!0);try{let e=await (0,q.getAgentsList)(t);console.log("agents: ".concat(JSON.stringify(e))),r(e.agents)}catch(e){console.error("Error fetching agents:",e)}finally{d(!1)}}};(0,M.useEffect)(()=>{j()},[t]);let f=async()=>{if(u&&t){m(!0);try{await (0,q.deleteAgentCall)(t,u.id),eE.Z.success('Agent "'.concat(u.name,'" deleted successfully')),j()}catch(e){console.error("Error deleting agent:",e),eE.Z.fromBackend("Failed to delete agent")}finally{m(!1),x(null)}}};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2 mb-4",children:[(0,a.jsx)("h1",{className:"text-2xl font-bold",children:"Agents"}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:"List of A2A-spec agents that are available to be used in your organization. Go to AI Hub, to make agents public."}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(R.z,{onClick:()=>{h&&p(null),n(!0)},disabled:!t,children:"+ Add New Agent"})})]}),h?(0,a.jsx)(eD,{agentId:h,onClose:()=>p(null),accessToken:t,isAdmin:g}):(0,a.jsx)(ef,{agentsList:l,isLoading:o,onDeleteClick:(e,t)=>{x({id:e,name:t})},accessToken:t,onAgentUpdated:j,isAdmin:g,onAgentClick:e=>p(e)}),(0,a.jsx)(eo,{visible:i,onClose:()=>{n(!1)},accessToken:t,onSuccess:()=>{j()}}),u&&(0,a.jsxs)(B.Z,{title:"Delete Agent",open:null!==u,onOk:f,onCancel:()=>{x(null)},confirmLoading:c,okText:"Delete",okButtonProps:{danger:!0},children:[(0,a.jsxs)("p",{children:["Are you sure you want to delete agent: ",u.name,"?"]}),(0,a.jsx)("p",{children:"This action cannot be undone."})]})]})},eF=s(49104),eM=s(66600),eR=s(39210),eB=s(94987),eq=s(71668),eU=s(42673);let eV=e=>{let t=Object.keys(eU.fK).find(t=>eU.fK[t]===e);if(t){let e=eU.Cl[t],s=eU.cd[e];return{displayName:e,logo:s,enumKey:t}}return{displayName:e,logo:"",enumKey:null}},eH=e=>eU.fK[e]||null,eK=(e,t)=>{let s=e.target,a=s.parentElement;if(a){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),a.replaceChild(e,s)}};var eW=s(47323),eY=s(49566),eJ=s(82422),eG=s(3837),e$=s(53410),eX=s(21626),eQ=s(97214),e0=s(28241),e1=s(58834),e2=s(69552),e4=s(71876);function e5(e){let{data:t,columns:s,isLoading:l=!1,loadingMessage:r="Loading...",emptyMessage:i="No data",getRowKey:n}=e;return(0,a.jsxs)(eX.Z,{children:[(0,a.jsx)(e1.Z,{children:(0,a.jsx)(e4.Z,{children:s.map((e,t)=>(0,a.jsx)(e2.Z,{style:{width:e.width},children:e.header},t))})}),(0,a.jsx)(eQ.Z,{children:l?(0,a.jsx)(e4.Z,{children:(0,a.jsx)(e0.Z,{colSpan:s.length,className:"text-center",children:(0,a.jsx)(ek.Z,{className:"text-gray-500",children:r})})}):t.length>0?t.map((e,t)=>(0,a.jsx)(e4.Z,{children:s.map((t,s)=>{var l;return(0,a.jsx)(e0.Z,{children:t.cell?t.cell(e):String(null!==(l=e[t.accessor])&&void 0!==l?l:"")},s)})},n?n(e,t):t)):(0,a.jsx)(e4.Z,{children:(0,a.jsx)(e0.Z,{colSpan:s.length,className:"text-center",children:(0,a.jsx)(ek.Z,{className:"text-gray-500",children:i})})})})]})}var e6=e=>{let{discountConfig:t,onDiscountChange:s,onRemoveProvider:l}=e,[r,i]=(0,M.useState)(null),[n,o]=(0,M.useState)(""),d=(e,t)=>{i(e),o((100*t).toString())},c=e=>{let t=parseFloat(n);!isNaN(t)&&t>=0&&t<=100&&s(e,(t/100).toString()),i(null),o("")},m=()=>{i(null),o("")},u=(e,t)=>{"Enter"===e.key?c(t):"Escape"===e.key&&m()},x=Object.entries(t).map(e=>{let[t,s]=e;return{provider:t,discount:s}}).sort((e,t)=>{let s=eV(e.provider).displayName,a=eV(t.provider).displayName;return s.localeCompare(a)});return(0,a.jsx)(e5,{data:x,columns:[{header:"Provider",cell:e=>{let{displayName:t,logo:s}=eV(e.provider);return(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[s&&(0,a.jsx)("img",{src:s,alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>eK(e,t)}),(0,a.jsx)("span",{className:"font-medium",children:t})]})}},{header:"Discount Percentage",cell:e=>(0,a.jsx)("div",{className:"flex items-center gap-2",children:r===e.provider?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eY.Z,{value:n,onValueChange:o,onKeyDown:t=>u(t,e.provider),placeholder:"5",className:"w-20",autoFocus:!0}),(0,a.jsx)("span",{className:"text-gray-600",children:"%"}),(0,a.jsx)(eW.Z,{icon:eJ.Z,size:"sm",onClick:()=>c(e.provider),className:"cursor-pointer text-green-600 hover:text-green-700"}),(0,a.jsx)(eW.Z,{icon:eG.Z,size:"sm",onClick:m,className:"cursor-pointer text-gray-600 hover:text-gray-700"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(ek.Z,{className:"font-medium",children:[(100*e.discount).toFixed(1),"%"]}),(0,a.jsx)(eW.Z,{icon:e$.Z,size:"sm",onClick:()=>d(e.provider,e.discount),className:"cursor-pointer text-blue-600 hover:text-blue-700"})]})}),width:"250px"},{header:"Actions",cell:e=>{let{displayName:t}=eV(e.provider);return(0,a.jsx)(eW.Z,{icon:ec.Z,size:"sm",onClick:()=>l(e.provider,t),className:"cursor-pointer hover:text-red-600"})},width:"80px"}],getRowKey:e=>e.provider,emptyMessage:"No provider discounts configured"})},e3=s(64504),e8=s(15424),e9=s(33145),e7=e=>{let{discountConfig:t,selectedProvider:s,newDiscount:l,onProviderChange:r,onDiscountChange:i,onAddProvider:n}=e;return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Provider",(0,a.jsx)(eh.Z,{title:"Select the LLM provider you want to configure a discount for",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),rules:[{required:!0,message:"Please select a provider"}],children:(0,a.jsx)(H.default,{showSearch:!0,placeholder:"Select provider",value:s,onChange:r,style:{width:"100%"},size:"large",optionFilterProp:"children",filterOption:(e,t)=>{var s;return String(null!==(s=null==t?void 0:t.label)&&void 0!==s?s:"").toLowerCase().includes(e.toLowerCase())},children:Object.entries(eU.Cl).map(e=>{let[s,l]=e,r=eU.fK[s];return r&&t[r]?null:(0,a.jsx)(H.default.Option,{value:s,label:l,children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(e9.default,{src:eU.cd[l],alt:"".concat(s," logo"),width:20,height:20,className:"w-5 h-5",onError:e=>eK(e,l)}),(0,a.jsx)("span",{children:l})]})},s)})})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Discount Percentage",(0,a.jsx)(eh.Z,{title:"Enter a percentage value (e.g., 5 for 5% discount)",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),rules:[{required:!0,message:"Please enter a discount percentage"}],children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(e3.o,{placeholder:"5",value:l,onValueChange:i,className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500 flex-1"}),(0,a.jsx)("span",{className:"text-gray-600",children:"%"})]})}),(0,a.jsx)("div",{className:"flex items-center justify-end space-x-3 pt-6 border-t border-gray-100",children:(0,a.jsx)(e3.z,{variant:"primary",onClick:n,disabled:!s||!l,children:"Add Provider Discount"})})]})},te=s(29271),tt=s(40875),ts=s(96362);let ta=e=>{let{items:t,children:s="Docs",className:l=""}=e,[r,i]=(0,M.useState)(!1),n=(0,M.useRef)(null);return(0,M.useEffect)(()=>{let e=e=>{n.current&&!n.current.contains(e.target)&&i(!1)};return r&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[r]),(0,a.jsxs)("div",{className:"relative inline-block ".concat(l),ref:n,children:[(0,a.jsxs)("button",{type:"button",onClick:()=>i(!r),className:"inline-flex items-center gap-1 text-gray-500 hover:text-gray-700 text-xs transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded px-2 py-1","aria-expanded":r,"aria-haspopup":"true",children:[(0,a.jsx)("span",{children:s}),(0,a.jsx)(tt.Z,{className:"h-3 w-3 transition-transform ".concat(r?"rotate-180":""),"aria-hidden":"true"})]}),r&&(0,a.jsx)("div",{className:"absolute right-0 mt-1 w-56 bg-white rounded-lg shadow-lg border border-gray-200 py-1 z-50",children:t.map((e,t)=>(0,a.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-between px-4 py-2 text-sm text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>i(!1),children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)(ts.Z,{className:"h-3.5 w-3.5 text-gray-400 flex-shrink-0 ml-2","aria-hidden":"true"})]},t))})]})};var tl=s(56522),tr=s(25653),ti=()=>{let[e,t]=(0,M.useState)(""),[s,l]=(0,M.useState)(""),r=(0,M.useMemo)(()=>{let t=parseFloat(e),a=parseFloat(s);if(isNaN(t)||isNaN(a)||0===t||0===a)return null;let l=t+a;return{originalCost:l.toFixed(10),finalCost:t.toFixed(10),discountAmount:a.toFixed(10),discountPercentage:(a/l*100).toFixed(2)}},[e,s]);return(0,a.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-1",children:"Cost Calculation"}),(0,a.jsxs)(tl.x,{className:"text-xs text-gray-600",children:["Discounts are applied to provider costs: ",(0,a.jsx)("code",{className:"bg-gray-100 px-1.5 py-0.5 rounded text-xs",children:"final_cost = base_cost \xd7 (1 - discount%/100)"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-1",children:"Example"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"A 5% discount on a $10.00 request results in: $10.00 \xd7 (1 - 0.05) = $9.50"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-1",children:"Valid Range"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Discount percentages must be between 0% and 100%"})]}),(0,a.jsxs)("div",{className:"pt-4 border-t border-gray-200",children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-2",children:"Validating Discounts"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600 mb-3",children:"Make a test request and check the response headers to verify discounts are applied:"}),(0,a.jsx)(tr.Z,{language:"bash",code:'curl -X POST -i http://your-proxy:4000/chat/completions \\\n -H "Content-Type: application/json" \\\n -H "Authorization: Bearer sk-1234" \\\n -d \'{\n "model": "gemini/gemini-2.5-pro",\n "messages": [{"role": "user", "content": "Hello"}]\n }\''}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600 mt-3 mb-2",children:"Look for these headers in the response:"}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded text-xs font-mono text-gray-800 whitespace-nowrap",children:"x-litellm-response-cost"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Final cost after discount"})]}),(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded text-xs font-mono text-gray-800 whitespace-nowrap",children:"x-litellm-response-cost-original"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Original cost before discount"})]}),(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded text-xs font-mono text-gray-800 whitespace-nowrap",children:"x-litellm-response-cost-discount-amount"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Amount discounted"})]})]})]}),(0,a.jsxs)("div",{className:"pt-4 border-t border-gray-200",children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-3",children:"Discount Calculator"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600 mb-3",children:"Enter values from your response headers to verify the discount:"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-gray-700 mb-1",children:"Response Cost (x-litellm-response-cost)"}),(0,a.jsx)(tl.o,{placeholder:"0.0171938125",value:e,onValueChange:t,className:"text-sm"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-gray-700 mb-1",children:"Discount Amount (x-litellm-response-cost-discount-amount)"}),(0,a.jsx)(tl.o,{placeholder:"0.0009049375",value:s,onValueChange:l,className:"text-sm"})]})]}),r&&(0,a.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4",children:[(0,a.jsx)(tl.x,{className:"text-sm font-medium text-blue-900 mb-2",children:"Calculated Results"}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(tl.x,{className:"text-xs text-blue-800",children:"Original Cost:"}),(0,a.jsxs)("code",{className:"text-xs font-mono text-blue-900",children:["$",r.originalCost]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(tl.x,{className:"text-xs text-blue-800",children:"Final Cost:"}),(0,a.jsxs)("code",{className:"text-xs font-mono text-blue-900",children:["$",r.finalCost]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(tl.x,{className:"text-xs text-blue-800",children:"Discount Amount:"}),(0,a.jsxs)("code",{className:"text-xs font-mono text-blue-900",children:["$",r.discountAmount]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-blue-300",children:[(0,a.jsx)(tl.x,{className:"text-xs font-semibold text-blue-900",children:"Discount Applied:"}),(0,a.jsxs)(tl.x,{className:"text-sm font-bold text-blue-900",children:[r.discountPercentage,"%"]})]})]})]})]})]})};let tn=[{label:"Custom pricing for models",href:"https://docs.litellm.ai/docs/proxy/custom_pricing"},{label:"Spend tracking",href:"https://docs.litellm.ai/docs/proxy/cost_tracking"}];var to=e=>{let{userID:t,userRole:s,accessToken:l}=e,[r,i]=(0,M.useState)({}),[n,o]=(0,M.useState)(void 0),[d,c]=(0,M.useState)(""),[m,u]=(0,M.useState)(!0),[x,h]=(0,M.useState)(!1),[p]=U.Z.useForm(),[g,j]=B.Z.useModal(),f=(0,M.useCallback)(async()=>{u(!0);try{let e=(0,q.getProxyBaseUrl)(),t=await fetch(e?"".concat(e,"/config/cost_discount_config"):"/config/cost_discount_config",{method:"GET",headers:{Authorization:"Bearer ".concat(l),"Content-Type":"application/json"}});if(t.ok){let e=await t.json();i(e.values||{})}else console.error("Failed to fetch discount config")}catch(e){console.error("Error fetching discount config:",e),eE.Z.fromBackend("Failed to fetch discount configuration")}finally{u(!1)}},[l]);(0,M.useEffect)(()=>{l&&f()},[l,f]);let y=async e=>{try{let s=(0,q.getProxyBaseUrl)(),a=await fetch(s?"".concat(s,"/config/cost_discount_config"):"/config/cost_discount_config",{method:"PATCH",headers:{Authorization:"Bearer ".concat(l),"Content-Type":"application/json"},body:JSON.stringify(e)});if(a.ok)eE.Z.success("Discount configuration updated successfully"),await f();else{var t;let e=await a.json(),s=(null===(t=e.detail)||void 0===t?void 0:t.error)||e.detail||"Failed to update settings";eE.Z.fromBackend(s)}}catch(e){console.error("Error updating discount config:",e),eE.Z.fromBackend("Failed to update discount configuration")}},v=async()=>{if(!n||!d){eE.Z.fromBackend("Please select a provider and enter discount percentage");return}let e=parseFloat(d);if(isNaN(e)||e<0||e>100){eE.Z.fromBackend("Discount must be between 0% and 100%");return}let t=eH(n);if(!t){eE.Z.fromBackend("Invalid provider selected");return}if(r[t]){eE.Z.fromBackend("Discount for ".concat(eU.Cl[n]," already exists. Edit it in the table above."));return}let s={...r,[t]:e/100};i(s),await y(s),o(void 0),c(""),h(!1)},_=async(e,t)=>{g.confirm({title:"Remove Provider Discount",icon:(0,a.jsx)(te.Z,{}),content:"Are you sure you want to remove the discount for ".concat(t,"?"),okText:"Remove",okType:"danger",cancelText:"Cancel",onOk:async()=>{let t={...r};delete t[e],i(t),await y(t)}})},b=async(e,t)=>{let s=parseFloat(t);if(!isNaN(s)&&s>=0&&s<=1){let t={...r,[e]:s};i(t),await y(t)}};return l?(0,a.jsxs)("div",{className:"w-full p-8",children:[j,(0,a.jsxs)("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(eq.Dx,{children:"Cost Tracking Settings"}),(0,a.jsx)(ta,{items:tn})]}),(0,a.jsx)(eq.xv,{className:"text-gray-500 mt-1",children:"Configure cost discounts for different LLM providers. Changes are saved automatically."})]}),(0,a.jsx)(eq.zx,{onClick:()=>h(!0),className:"mt-4 md:mt-0",children:"+ Add Provider Discount"})]}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow w-full max-w-full",children:(0,a.jsxs)(eq.v0,{children:[(0,a.jsxs)(eq.td,{className:"px-6 pt-4",children:[(0,a.jsx)(eq.OK,{children:"Provider Discounts"}),(0,a.jsx)(eq.OK,{children:"Test It"})]}),(0,a.jsxs)(eq.nP,{children:[(0,a.jsx)(eq.x4,{children:m?(0,a.jsx)("div",{className:"py-12 text-center",children:(0,a.jsx)(eq.xv,{className:"text-gray-500",children:"Loading configuration..."})}):Object.keys(r).length>0?(0,a.jsx)("div",{className:"p-6",children:(0,a.jsx)(e6,{discountConfig:r,onDiscountChange:b,onRemoveProvider:_})}):(0,a.jsxs)("div",{className:"py-16 px-6 text-center",children:[(0,a.jsx)("svg",{className:"mx-auto h-12 w-12 text-gray-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,a.jsx)(eq.xv,{className:"text-gray-700 font-medium mb-2",children:"No provider discounts configured"}),(0,a.jsx)(eq.xv,{className:"text-gray-500 text-sm",children:'Click "Add Provider Discount" to get started'})]})}),(0,a.jsx)(eq.x4,{children:(0,a.jsx)("div",{className:"px-6 pb-4",children:(0,a.jsx)(ti,{})})})]})]})}),(0,a.jsx)(B.Z,{title:(0,a.jsx)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add Provider Discount"})}),open:x,width:1e3,onCancel:()=>{h(!1),p.resetFields(),o(void 0),c("")},footer:null,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:(0,a.jsxs)("div",{className:"mt-6",children:[(0,a.jsx)(eq.xv,{className:"text-sm text-gray-600 mb-6",children:"Select a provider and set its discount percentage. Enter a value between 0% and 100% (e.g., 5 for a 5% discount)."}),(0,a.jsx)(U.Z,{form:p,onFinish:e=>{v()},layout:"vertical",className:"space-y-6",children:(0,a.jsx)(e7,{discountConfig:r,selectedProvider:n,newDiscount:d,onProviderChange:o,onDiscountChange:c,onAddProvider:v})})]})})]}):null},td=s(27975),tc=s(10137),tm=s(87641),tu=s(92249),tx=s(67325),th=s(51385),tp=s(918),tg=s(33293),tj=s(88904),tf=s(23628),ty=s(47686),tv=s(87452),t_=s(88829),tb=s(72208),tN=s(41649),tZ=s(49804),tw=s(67101),tk=s(27281),tS=s(57365),tC=s(57840),tT=s(59872),tA=s(82586),tL=s(72885),tI=s(2597),tP=s(46468),tz=s(95920),tD=s(68473),tE=s(24199),tO=s(97415),tF=s(21609),tM=s(39957);let tR=(e,t)=>{let s=[];return e&&e.models.length>0?(console.log("organization.models: ".concat(e.models)),s=e.models):s=t,(0,tP.Ob)(s,t)},tB=(e,t,s)=>"Admin"===e||!!s&&!!t&&s.some(e=>{var s;return null===(s=e.members)||void 0===s?void 0:s.some(e=>e.user_id===t&&"org_admin"===e.user_role)}),tq=(e,t,s)=>"Admin"===e?s||[]:s&&t?s.filter(e=>{var s;return null===(s=e.members)||void 0===s?void 0:s.some(e=>e.user_id===t&&"org_admin"===e.user_role)}):[];var tU=e=>{var t,s,l,r;let{teams:i,searchParams:n,accessToken:o,setTeams:d,userID:c,userRole:m,organizations:u,premiumUser:x=!1}=e;console.log("organizations: ".concat(JSON.stringify(u)));let[h,p]=(0,M.useState)(""),[g,j]=(0,M.useState)(null),[f,y]=(0,M.useState)(null),[v,_]=(0,M.useState)(!1),[b,N]=(0,M.useState)({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"});(0,M.useEffect)(()=>{console.log("inside useeffect - ".concat(h)),o&&(0,eR.Z)(o,c,m,g,d),eF()},[h]);let[Z]=U.Z.useForm(),[w]=U.Z.useForm(),{Title:k,Paragraph:S}=tC.default,[C,T]=(0,M.useState)(""),[A,I]=(0,M.useState)(!1),[P,z]=(0,M.useState)(null),[D,E]=(0,M.useState)(null),[O,F]=(0,M.useState)(!1),[R,V]=(0,M.useState)(!1),[W,G]=(0,M.useState)(!1),[$,X]=(0,M.useState)(!1),[Q,ee]=(0,M.useState)([]),[et,es]=(0,M.useState)(!1),[ea,el]=(0,M.useState)(null),[er,ei]=(0,M.useState)([]),[en,eo]=(0,M.useState)({}),[ed,ec]=(0,M.useState)(!1),[em,ex]=(0,M.useState)([]),[ep,eg]=(0,M.useState)({}),[ej,ef]=(0,M.useState)([]),[eS,eC]=(0,M.useState)([]),[eT,eA]=(0,M.useState)(!1),[eL,eI]=(0,M.useState)({});(0,M.useEffect)(()=>{console.log("currentOrgForCreateTeam: ".concat(f));let e=tR(f,Q);console.log("models: ".concat(e)),ei(e),Z.setFieldValue("models",[])},[f,Q]),(0,M.useEffect)(()=>{if(R){let e=tq(m,c,u);if(1===e.length){let t=e[0];Z.setFieldValue("organization_id",t.organization_id),y(t)}else Z.setFieldValue("organization_id",(null==g?void 0:g.organization_id)||null),y(g)}},[R,m,c,u,g]),(0,M.useEffect)(()=>{(async()=>{try{if(null==o)return;let e=(await (0,q.getGuardrailsList)(o)).guardrails.map(e=>e.guardrail_name);ex(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[o]);let eP=async()=>{try{if(null==o)return;let e=await (0,q.fetchMCPAccessGroups)(o);eC(e)}catch(e){console.error("Failed to fetch MCP access groups:",e)}};(0,M.useEffect)(()=>{eP()},[o]),(0,M.useEffect)(()=>{i&&eo(i.reduce((e,t)=>(e[t.team_id]={keys:t.keys||[],team_info:{members_with_roles:t.members_with_roles||[]}},e),{}))},[i]);let ez=async e=>{el(e),es(!0)},eD=async()=>{if(null!=ea&&null!=i&&null!=o)try{ec(!0),await (0,q.teamDeleteCall)(o,ea.team_id),await (0,eR.Z)(o,c,m,g,d),eE.Z.success("Team deleted successfully")}catch(e){eE.Z.fromBackend("Error deleting the team: "+e)}finally{ec(!1),es(!1),el(null)}};(0,M.useEffect)(()=>{(async()=>{try{if(null===c||null===m||null===o)return;let e=await (0,tP.K2)(c,m,o);e&&ee(e)}catch(e){console.error("Error fetching user models:",e)}})()},[o,c,m,i]);let eO=async e=>{try{if(console.log("formValues: ".concat(JSON.stringify(e))),null!=o){var t,s,a;let l=null==e?void 0:e.team_alias,r=null!==(a=null==i?void 0:i.map(e=>e.team_alias))&&void 0!==a?a:[],n=(null==e?void 0:e.organization_id)||(null==g?void 0:g.organization_id);if(""===n||"string"!=typeof n?e.organization_id=null:e.organization_id=n.trim(),r.includes(l))throw Error("Team alias ".concat(l," already exists, please pick another alias"));if(eE.Z.info("Creating Team"),ej.length>0){let t={};if(e.metadata)try{t=JSON.parse(e.metadata)}catch(e){console.warn("Invalid JSON in metadata field, starting with empty object")}t={...t,logging:ej.filter(e=>e.callback_name)},e.metadata=JSON.stringify(t)}if(e.secret_manager_settings&&"string"==typeof e.secret_manager_settings){if(""===e.secret_manager_settings.trim())delete e.secret_manager_settings;else try{e.secret_manager_settings=JSON.parse(e.secret_manager_settings)}catch(e){throw Error("Failed to parse secret manager settings: "+e)}}if(e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0||e.allowed_mcp_servers_and_groups&&((null===(t=e.allowed_mcp_servers_and_groups.servers)||void 0===t?void 0:t.length)>0||(null===(s=e.allowed_mcp_servers_and_groups.accessGroups)||void 0===s?void 0:s.length)>0||e.allowed_mcp_servers_and_groups.toolPermissions)){if(e.object_permission={},e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0&&(e.object_permission.vector_stores=e.allowed_vector_store_ids,delete e.allowed_vector_store_ids),e.allowed_mcp_servers_and_groups){let{servers:t,accessGroups:s}=e.allowed_mcp_servers_and_groups;t&&t.length>0&&(e.object_permission.mcp_servers=t),s&&s.length>0&&(e.object_permission.mcp_access_groups=s),delete e.allowed_mcp_servers_and_groups}e.mcp_tool_permissions&&Object.keys(e.mcp_tool_permissions).length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_tool_permissions=e.mcp_tool_permissions,delete e.mcp_tool_permissions)}if(e.allowed_mcp_access_groups&&e.allowed_mcp_access_groups.length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_access_groups=e.allowed_mcp_access_groups,delete e.allowed_mcp_access_groups),e.allowed_agents_and_groups){let{agents:t,accessGroups:s}=e.allowed_agents_and_groups;e.object_permission||(e.object_permission={}),t&&t.length>0&&(e.object_permission.agents=t),s&&s.length>0&&(e.object_permission.agent_access_groups=s),delete e.allowed_agents_and_groups}Object.keys(eL).length>0&&(e.model_aliases=eL);let c=await (0,q.teamCreateCall)(o,e);null!==i?d([...i,c]):d([c]),console.log("response for team create call: ".concat(c)),eE.Z.success("Team created"),Z.resetFields(),ef([]),eI({}),V(!1)}}catch(e){console.error("Error creating the team:",e),eE.Z.fromBackend("Error creating the team: "+e)}},eF=()=>{p(new Date().toLocaleString())},eM=(e,t)=>{let s={...b,[e]:t};N(s),o&&(0,q.v2TeamListCall)(o,s.organization_id||null,null,s.team_id||null,s.team_alias||null).then(e=>{e&&e.teams&&d(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})};return(0,a.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,a.jsx)(tw.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(tZ.Z,{numColSpan:1,className:"flex flex-col gap-2",children:[tB(m,c,u)&&(0,a.jsx)(ey.Z,{className:"w-fit",onClick:()=>V(!0),children:"+ Create New Team"}),D?(0,a.jsx)(tg.Z,{teamId:D,onUpdate:e=>{d(t=>{if(null==t)return t;let s=t.map(t=>e.team_id===t.team_id?(0,tT.nl)(t,e):t);return o&&(0,eR.Z)(o,c,m,g,d),s})},onClose:()=>{E(null),F(!1)},accessToken:o,is_team_admin:(e=>{if(null==e||null==e.members_with_roles)return!1;for(let t=0;te.team_id===D)),is_proxy_admin:"Admin"==m,userModels:Q,editTeam:O,premiumUser:x}):(0,a.jsxs)(eb.Z,{className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(eN.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(e_.Z,{children:"Your Teams"}),(0,a.jsx)(e_.Z,{children:"Available Teams"}),(0,L.P4)(m||"")&&(0,a.jsx)(e_.Z,{children:"Default Team Settings"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[h&&(0,a.jsxs)(ek.Z,{children:["Last Refreshed: ",h]}),(0,a.jsx)(eW.Z,{icon:tf.Z,variant:"shadow",size:"xs",className:"self-center",onClick:eF})]})]}),(0,a.jsxs)(ew.Z,{children:[(0,a.jsxs)(eZ.Z,{children:[(0,a.jsxs)(ek.Z,{children:["Click on “Team ID” to view team details ",(0,a.jsx)("b",{children:"and"})," manage team members."]}),(0,a.jsx)(tw.Z,{numItems:1,className:"gap-2 pt-2 pb-2 h-[75vh] w-full mt-2",children:(0,a.jsx)(tZ.Z,{numColSpan:1,children:(0,a.jsxs)(ev.Z,{className:"w-full mx-auto flex-auto overflow-hidden overflow-y-auto max-h-[50vh]",children:[(0,a.jsx)("div",{className:"border-b px-6 py-4",children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)("div",{className:"relative w-64",children:[(0,a.jsx)("input",{type:"text",placeholder:"Search by Team Name...",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:b.team_alias,onChange:e=>eM("team_alias",e.target.value)}),(0,a.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,a.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 ".concat(v?"bg-gray-100":""),onClick:()=>_(!v),children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"})}),"Filters",(b.team_id||b.team_alias||b.organization_id)&&(0,a.jsx)("span",{className:"w-2 h-2 rounded-full bg-blue-500"})]}),(0,a.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",onClick:()=>{N({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"}),o&&(0,q.v2TeamListCall)(o,null,c||null,null,null).then(e=>{e&&e.teams&&d(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})},children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),"Reset Filters"]})]}),v&&(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-3",children:[(0,a.jsxs)("div",{className:"relative w-64",children:[(0,a.jsx)("input",{type:"text",placeholder:"Enter Team ID",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:b.team_id,onChange:e=>eM("team_id",e.target.value)}),(0,a.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})]}),(0,a.jsx)("div",{className:"w-64",children:(0,a.jsx)(tk.Z,{value:b.organization_id||"",onValueChange:e=>eM("organization_id",e),placeholder:"Select Organization",children:null==u?void 0:u.map(e=>(0,a.jsx)(tS.Z,{value:e.organization_id||"",children:e.organization_alias||e.organization_id},e.organization_id))})})]})]})}),(0,a.jsxs)(eX.Z,{children:[(0,a.jsx)(e1.Z,{children:(0,a.jsxs)(e4.Z,{children:[(0,a.jsx)(e2.Z,{children:"Team Name"}),(0,a.jsx)(e2.Z,{children:"Team ID"}),(0,a.jsx)(e2.Z,{children:"Created"}),(0,a.jsx)(e2.Z,{children:"Spend (USD)"}),(0,a.jsx)(e2.Z,{children:"Budget (USD)"}),(0,a.jsx)(e2.Z,{children:"Models"}),(0,a.jsx)(e2.Z,{children:"Organization"}),(0,a.jsx)(e2.Z,{children:"Info"}),(0,a.jsx)(e2.Z,{children:"Actions"})]})}),(0,a.jsx)(eQ.Z,{children:i&&i.length>0?i.filter(e=>!g||e.organization_id===g.organization_id).sort((e,t)=>new Date(t.created_at).getTime()-new Date(e.created_at).getTime()).map(e=>(0,a.jsxs)(e4.Z,{children:[(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,a.jsx)(e0.Z,{children:(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsx)(eh.Z,{title:e.team_id,children:(0,a.jsxs)(ey.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>{E(e.team_id)},children:[e.team_id.slice(0,7),"..."]})})})}),(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.created_at?new Date(e.created_at).toLocaleDateString():"N/A"}),(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,tT.pw)(e.spend,4)}),(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,a.jsx)(e0.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},className:e.models.length>3?"px-0":"",children:(0,a.jsx)("div",{className:"flex flex-col",children:Array.isArray(e.models)?(0,a.jsx)("div",{className:"flex flex-col",children:0===e.models.length?(0,a.jsx)(tN.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(ek.Z,{children:"All Proxy Models"})}):(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"flex items-start",children:[e.models.length>3&&(0,a.jsx)("div",{children:(0,a.jsx)(eW.Z,{icon:ep[e.team_id]?eu.Z:ty.Z,className:"cursor-pointer",size:"xs",onClick:()=>{eg(t=>({...t,[e.team_id]:!t[e.team_id]}))}})}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.models.slice(0,3).map((e,t)=>"all-proxy-models"===e?(0,a.jsx)(tN.Z,{size:"xs",color:"red",children:(0,a.jsx)(ek.Z,{children:"All Proxy Models"})},t):(0,a.jsx)(tN.Z,{size:"xs",color:"blue",children:(0,a.jsx)(ek.Z,{children:e.length>30?"".concat((0,tP.W0)(e).slice(0,30),"..."):(0,tP.W0)(e)})},t)),e.models.length>3&&!ep[e.team_id]&&(0,a.jsx)(tN.Z,{size:"xs",color:"gray",className:"cursor-pointer",children:(0,a.jsxs)(ek.Z,{children:["+",e.models.length-3," ",e.models.length-3==1?"more model":"more models"]})}),ep[e.team_id]&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.models.slice(3).map((e,t)=>"all-proxy-models"===e?(0,a.jsx)(tN.Z,{size:"xs",color:"red",children:(0,a.jsx)(ek.Z,{children:"All Proxy Models"})},t+3):(0,a.jsx)(tN.Z,{size:"xs",color:"blue",children:(0,a.jsx)(ek.Z,{children:e.length>30?"".concat((0,tP.W0)(e).slice(0,30),"..."):(0,tP.W0)(e)})},t+3))})]})]})})}):null})}),(0,a.jsx)(e0.Z,{children:e.organization_id}),(0,a.jsxs)(e0.Z,{children:[(0,a.jsxs)(ek.Z,{children:[en&&e.team_id&&en[e.team_id]&&en[e.team_id].keys&&en[e.team_id].keys.length," ","Keys"]}),(0,a.jsxs)(ek.Z,{children:[en&&e.team_id&&en[e.team_id]&&en[e.team_id].team_info&&en[e.team_id].team_info.members_with_roles&&en[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,a.jsx)(e0.Z,{children:"Admin"==m?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tM.Z,{variant:"Edit",onClick:()=>{E(e.team_id),F(!0)},dataTestId:"edit-team-button",tooltipText:"Edit team"}),(0,a.jsx)(tM.Z,{variant:"Delete",onClick:()=>ez(e),dataTestId:"delete-team-button",tooltipText:"Delete team"})]}):null})]},e.team_id)):(0,a.jsx)(e4.Z,{children:(0,a.jsx)(e0.Z,{colSpan:9,className:"text-center",children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-4",children:[(0,a.jsx)(ek.Z,{className:"text-lg font-medium mb-2",children:"No teams found"}),(0,a.jsx)(ek.Z,{className:"text-sm",children:"Adjust your filters or create a new team"})]})})})})]}),(0,a.jsx)(tF.Z,{isOpen:et,title:"Delete Team?",alertMessage:(null==ea?void 0:null===(t=ea.keys)||void 0===t?void 0:t.length)===0?void 0:"Warning: This team has ".concat(null==ea?void 0:null===(s=ea.keys)||void 0===s?void 0:s.length," keys associated with it. Deleting the team will also delete all associated keys. This action is irreversible."),message:"Are you sure you want to delete this team and all its keys? This action cannot be undone.",resourceInformationTitle:"Team Information",resourceInformation:[{label:"Team ID",value:null==ea?void 0:ea.team_id,code:!0},{label:"Team Name",value:null==ea?void 0:ea.team_alias},{label:"Keys",value:null==ea?void 0:null===(l=ea.keys)||void 0===l?void 0:l.length},{label:"Members",value:null==ea?void 0:null===(r=ea.members_with_roles)||void 0===r?void 0:r.length}],requiredConfirmation:null==ea?void 0:ea.team_alias,onCancel:()=>{es(!1),el(null)},onOk:eD,confirmLoading:ed})]})})})]}),(0,a.jsx)(eZ.Z,{children:(0,a.jsx)(tp.Z,{accessToken:o,userID:c})}),(0,L.P4)(m||"")&&(0,a.jsx)(eZ.Z,{children:(0,a.jsx)(tj.Z,{accessToken:o,userID:c||"",userRole:m||""})})]})]}),tB(m,c,u)&&(0,a.jsx)(B.Z,{title:"Create Team",visible:R,width:1e3,footer:null,onOk:()=>{V(!1),Z.resetFields(),ef([]),eI({})},onCancel:()=>{V(!1),Z.resetFields(),ef([]),eI({})},children:(0,a.jsxs)(U.Z,{form:Z,onFinish:eO,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(eY.Z,{placeholder:""})}),(()=>{let e=tq(m,c,u),t="Admin"!==m,s=1===e.length,l=0===e.length;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Organization"," ",(0,a.jsx)(eh.Z,{title:(0,a.jsxs)("span",{children:["Organizations can have multiple teams. Learn more about"," ",(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/user_management_heirarchy",target:"_blank",rel:"noopener noreferrer",style:{color:"#1890ff",textDecoration:"underline"},onClick:e=>e.stopPropagation(),children:"user management hierarchy"})]}),children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"organization_id",initialValue:g?g.organization_id:null,className:"mt-8",rules:t?[{required:!0,message:"Please select an organization"}]:[],help:s?"You can only create teams within this organization":t?"required":"",children:(0,a.jsx)(H.default,{showSearch:!0,allowClear:!t,disabled:s,placeholder:l?"No organizations available":"Search or select an Organization",onChange:t=>{Z.setFieldValue("organization_id",t),y((null==e?void 0:e.find(e=>e.organization_id===t))||null)},filterOption:(e,t)=>{var s;return!!t&&((null===(s=t.children)||void 0===s?void 0:s.toString())||"").toLowerCase().includes(e.toLowerCase())},optionFilterProp:"children",children:null==e?void 0:e.map(e=>(0,a.jsxs)(H.default.Option,{value:e.organization_id,children:[(0,a.jsx)("span",{className:"font-medium",children:e.organization_alias})," ",(0,a.jsxs)("span",{className:"text-gray-500",children:["(",e.organization_id,")"]})]},e.organization_id))})}),t&&!s&&e.length>1&&(0,a.jsx)("div",{className:"mb-8 p-4 bg-blue-50 border border-blue-200 rounded-md",children:(0,a.jsx)(ek.Z,{className:"text-blue-800 text-sm",children:"Please select an organization to create a team for. You can only create teams within organizations where you are an admin."})})]})})(),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Models"," ",(0,a.jsx)(eh.Z,{title:"These are the models that your selected team has access to",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),rules:[{required:!0,message:"Please select at least one model"}],name:"models",children:(0,a.jsxs)(H.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(H.default.Option,{value:"no-default-models",children:"No Default Models"},"no-default-models"),er.map(e=>(0,a.jsx)(H.default.Option,{value:e,children:(0,tP.W0)(e)},e))]})}),(0,a.jsx)(U.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(tE.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(U.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(H.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(H.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(H.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(H.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(U.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsx)(U.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsxs)(tv.Z,{className:"mt-20 mb-8",onClick:()=>{eT||(eP(),eA(!0))},children:[(0,a.jsx)(tb.Z,{children:(0,a.jsx)("b",{children:"Additional Settings"})}),(0,a.jsxs)(t_.Z,{children:[(0,a.jsx)(U.Z.Item,{label:"Team ID",name:"team_id",help:"ID of the team you want to create. If not provided, it will be generated automatically.",children:(0,a.jsx)(eY.Z,{onChange:e=>{e.target.value=e.target.value.trim()}})}),(0,a.jsx)(U.Z.Item,{label:"Team Member Budget (USD)",name:"team_member_budget",normalize:e=>e?Number(e):void 0,tooltip:"This is the individual budget for a user in the team.",children:(0,a.jsx)(tE.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(U.Z.Item,{label:"Team Member Key Duration (eg: 1d, 1mo)",name:"team_member_key_duration",tooltip:"Set a limit to the duration of a team member's key. Format: 30s (seconds), 30m (minutes), 30h (hours), 30d (days), 1mo (month)",children:(0,a.jsx)(eY.Z,{placeholder:"e.g., 30d"})}),(0,a.jsx)(U.Z.Item,{label:"Team Member RPM Limit",name:"team_member_rpm_limit",tooltip:"The RPM (Requests Per Minute) limit for individual team members",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsx)(U.Z.Item,{label:"Team Member TPM Limit",name:"team_member_tpm_limit",tooltip:"The TPM (Tokens Per Minute) limit for individual team members",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsx)(U.Z.Item,{label:"Metadata",name:"metadata",help:"Additional team metadata. Enter metadata as JSON object.",children:(0,a.jsx)(K.default.TextArea,{rows:4})}),(0,a.jsx)(U.Z.Item,{label:"Secret Manager Settings",name:"secret_manager_settings",help:x?"Enter secret manager configuration as a JSON object.":"Premium feature - Upgrade to manage secret manager settings.",rules:[{validator:async(e,t)=>{if(!t)return Promise.resolve();try{return JSON.parse(t),Promise.resolve()}catch(e){return Promise.reject(Error("Please enter valid JSON"))}}}],children:(0,a.jsx)(K.default.TextArea,{rows:4,placeholder:'{"namespace": "admin", "mount": "secret", "path_prefix": "litellm"}',disabled:!x})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Guardrails"," ",(0,a.jsx)(eh.Z,{title:"Setup your first guardrail",children:(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",className:"mt-8",help:"Select existing guardrails or enter new ones",children:(0,a.jsx)(H.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter guardrails",options:em.map(e=>({value:e,label:e}))})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,a.jsx)(eh.Z,{title:"When enabled, this team will bypass any guardrails configured to run on every request (global guardrails)",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",className:"mt-4",valuePropName:"checked",help:"Bypass global guardrails for this team",children:(0,a.jsx)(Y.Z,{disabled:!x,checkedChildren:x?"Yes":"Premium feature - Upgrade to disable global guardrails by team",unCheckedChildren:x?"No":"Premium feature - Upgrade to disable global guardrails by team"})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Allowed Vector Stores"," ",(0,a.jsx)(eh.Z,{title:"Select which vector stores this team can access by default. Leave empty for access to all vector stores",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_vector_store_ids",className:"mt-8",help:"Select vector stores this team can access. Leave empty for access to all vector stores",children:(0,a.jsx)(tO.Z,{onChange:e=>Z.setFieldValue("allowed_vector_store_ids",e),value:Z.getFieldValue("allowed_vector_store_ids"),accessToken:o||"",placeholder:"Select vector stores (optional)"})})]})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(tb.Z,{children:(0,a.jsx)("b",{children:"MCP Settings"})}),(0,a.jsxs)(t_.Z,{children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Allowed MCP Servers"," ",(0,a.jsx)(eh.Z,{title:"Select which MCP servers or access groups this team can access",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_mcp_servers_and_groups",className:"mt-4",help:"Select MCP servers or access groups this team can access",children:(0,a.jsx)(tz.Z,{onChange:e=>Z.setFieldValue("allowed_mcp_servers_and_groups",e),value:Z.getFieldValue("allowed_mcp_servers_and_groups"),accessToken:o||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,a.jsx)(U.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,a.jsx)(K.default,{type:"hidden"})}),(0,a.jsx)(U.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.allowed_mcp_servers_and_groups!==t.allowed_mcp_servers_and_groups||e.mcp_tool_permissions!==t.mcp_tool_permissions,children:()=>{var e;return(0,a.jsx)("div",{className:"mt-6",children:(0,a.jsx)(tD.Z,{accessToken:o||"",selectedServers:(null===(e=Z.getFieldValue("allowed_mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:Z.getFieldValue("mcp_tool_permissions")||{},onChange:e=>Z.setFieldsValue({mcp_tool_permissions:e})})})}})]})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(tb.Z,{children:(0,a.jsx)("b",{children:"Agent Settings"})}),(0,a.jsx)(t_.Z,{children:(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Allowed Agents"," ",(0,a.jsx)(eh.Z,{title:"Select which agents or access groups this team can access",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_agents_and_groups",className:"mt-4",help:"Select agents or access groups this team can access",children:(0,a.jsx)(tA.Z,{onChange:e=>Z.setFieldValue("allowed_agents_and_groups",e),value:Z.getFieldValue("allowed_agents_and_groups"),accessToken:o||"",placeholder:"Select agents or access groups (optional)"})})})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(tb.Z,{children:(0,a.jsx)("b",{children:"Logging Settings"})}),(0,a.jsx)(t_.Z,{children:(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsx)(tI.Z,{value:ej,onChange:ef,premiumUser:x})})})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(tb.Z,{children:(0,a.jsx)("b",{children:"Model Aliases"})}),(0,a.jsx)(t_.Z,{children:(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)(ek.Z,{className:"text-sm text-gray-600 mb-4",children:"Create custom aliases for models that can be used by team members in API calls. This allows you to create shortcuts for specific models."}),(0,a.jsx)(tL.Z,{accessToken:o||"",initialModelAliases:eL,onAliasUpdate:eI,showExampleConfig:!1})]})})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(J.ZP,{htmlType:"submit",children:"Create Team"})})]})})]})})})},tV=s(30874),tH=s(22004),tK=s(27593),tW=s(56399),tY=s(87526),tJ=s(11713),tG=s(12322),t$=s(58927);let tX=(e,t,s,l)=>[{accessorKey:"search_tool_id",header:"Search Tool ID",cell:t=>{var s;let{row:l}=t;return(0,a.jsxs)("button",{onClick:()=>e(l.original.search_tool_id),className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",children:[null===(s=l.original.search_tool_id)||void 0===s?void 0:s.slice(0,7),"..."]})}},{accessorKey:"search_tool_name",header:"Name",cell:e=>{let{getValue:t}=e;return(0,a.jsx)("span",{className:"font-medium",children:t()})}},{id:"provider",header:"Provider",cell:e=>{let{row:t}=e,s=t.original.litellm_params.search_provider,r=l.find(e=>e.provider_name===s),i=(null==r?void 0:r.ui_friendly_name)||s;return(0,a.jsx)("span",{className:"text-sm",children:i})}},{header:"Created At",accessorKey:"created_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("span",{className:"text-xs",children:s.created_at?new Date(s.created_at).toLocaleDateString():"-"})}},{header:"Updated At",accessorKey:"updated_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("span",{className:"text-xs",children:s.updated_at?new Date(s.updated_at).toLocaleDateString():"-"})}},{id:"actions",header:"Actions",cell:e=>{let{row:l}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(t$.J,{icon:e$.Z,size:"sm",onClick:()=>t(l.original.search_tool_id),className:"cursor-pointer"}),(0,a.jsx)(t$.J,{icon:ec.Z,size:"sm",onClick:()=>s(l.original.search_tool_id),className:"cursor-pointer"})]})}}];var tQ=s(30401),t0=s(78867),t1=s(61935);let{Text:t2}=tC.default,t4=e=>{var t,s,l,r;let{searchToolName:i,accessToken:n,className:o=""}=e,[d,c]=(0,M.useState)(""),[m,x]=(0,M.useState)(!1),[h,p]=(0,M.useState)([]),[g,j]=(0,M.useState)({}),[f,y]=(0,M.useState)(!1),v=async()=>{if(!d.trim()){V.ZP.warning("Please enter a search query");return}x(!0);let e=performance.now();try{let t=await (0,q.searchToolQueryCall)(n,i,d),s=performance.now(),a={query:d,response:t,timestamp:Date.now(),latency:Math.round(s-e)};p(e=>[a,...e])}catch(e){console.error("Error querying search tool:",e),eE.Z.fromBackend("Failed to query search tool")}finally{x(!1)}},_=e=>new Date(e).toLocaleString(),b=(e,t)=>{let s="".concat(e,"-").concat(t);j(e=>({...e,[s]:!e[s]}))},N=(0,a.jsx)(t1.Z,{style:{fontSize:24},spin:!0}),Z=h.length>0?h[0]:null;return(0,a.jsxs)(ev.Z,{className:"mt-6",children:[(0,a.jsx)("div",{className:"mb-6",children:(0,a.jsx)(eS.Z,{children:"Test Search Tool"})}),(0,a.jsxs)("div",{className:"flex flex-col",style:{minHeight:"600px"},children:[(0,a.jsx)("div",{className:"mb-6",children:(0,a.jsxs)("div",{className:"flex items-stretch gap-3",children:[(0,a.jsxs)("div",{className:"flex items-center flex-1 bg-white rounded-lg px-4 transition-all duration-200",style:{border:f?"2px solid #3b82f6":"2px solid #e5e7eb",boxShadow:f?"0 0 0 3px rgba(59, 130, 246, 0.1)":"0 1px 2px 0 rgba(0, 0, 0, 0.05)",height:"48px"},children:[(0,a.jsx)(u.Z,{className:"text-gray-400 mr-3",style:{fontSize:"18px"}}),(0,a.jsx)(K.default,{value:d,onChange:e=>c(e.target.value),onFocus:()=>y(!0),onBlur:()=>y(!1),onPressEnter:e=>{e.shiftKey||(e.preventDefault(),v())},placeholder:"Enter your search query...",disabled:m,bordered:!1,style:{fontSize:"15px",padding:0,height:"100%",boxShadow:"none"}})]}),(0,a.jsx)(J.ZP,{type:"primary",onClick:v,disabled:m||!d.trim(),icon:(0,a.jsx)(u.Z,{}),loading:m,style:{height:"48px",paddingLeft:"24px",paddingRight:"24px",borderRadius:"8px",fontWeight:500,fontSize:"15px",backgroundColor:m||!d.trim()?void 0:"#1890ff",borderColor:m||!d.trim()?void 0:"#1890ff",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},children:"Search"})]})}),(0,a.jsx)("div",{className:"flex-1",children:Z||m?(0,a.jsxs)("div",{children:[m&&(0,a.jsxs)("div",{className:"flex flex-col justify-center items-center py-16",children:[(0,a.jsx)(eC.Z,{indicator:N}),(0,a.jsx)(t2,{className:"mt-4 text-gray-600 font-medium",children:"Searching..."})]}),Z&&!m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg",style:{boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)(t2,{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Search Query"}),(0,a.jsx)("div",{className:"text-base font-semibold text-gray-900 mt-1.5",children:Z.query})]}),(0,a.jsxs)("div",{className:"text-right ml-4",children:[(0,a.jsx)(t2,{className:"text-xs text-gray-500",children:_(Z.timestamp)}),(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-1",children:[(0,a.jsxs)("div",{className:"text-sm font-semibold text-blue-600",children:[(null===(s=Z.response)||void 0===s?void 0:null===(t=s.results)||void 0===t?void 0:t.length)||0," ",(null===(r=Z.response)||void 0===r?void 0:null===(l=r.results)||void 0===l?void 0:l.length)===1?"result":"results"]}),void 0!==Z.latency&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-gray-400",children:"•"}),(0,a.jsxs)("div",{className:"text-sm font-semibold text-green-600",children:[Z.latency,"ms"]})]})]})]})]})}),Z.response&&Z.response.results&&Z.response.results.length>0?(0,a.jsx)("div",{className:"space-y-3",children:Z.response.results.map((e,t)=>{let s=g["0-".concat(t)]||!1;return(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg overflow-hidden transition-all duration-200",style:{boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},onMouseEnter:e=>{e.currentTarget.style.boxShadow="0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",e.currentTarget.style.borderColor="#e0e7ff"},onMouseLeave:e=>{e.currentTarget.style.boxShadow="0 1px 2px 0 rgba(0, 0, 0, 0.05)",e.currentTarget.style.borderColor="#e5e7eb"},children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-2",children:[(0,a.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-lg font-semibold text-blue-600 hover:text-blue-700 flex-1 leading-snug",style:{textDecoration:"none"},onMouseEnter:e=>e.currentTarget.style.textDecoration="underline",onMouseLeave:e=>e.currentTarget.style.textDecoration="none",children:e.title}),(0,a.jsx)(J.ZP,{type:"text",size:"small",className:"flex-shrink-0",icon:(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})}),onClick:()=>window.open(e.url,"_blank"),style:{color:"#6b7280"}})]}),(0,a.jsx)("div",{className:"text-sm text-green-700 mb-3 truncate font-medium",children:e.url}),(0,a.jsx)("div",{className:"text-sm text-gray-700 leading-relaxed",children:s?e.snippet:"".concat(e.snippet.substring(0,200)).concat(e.snippet.length>200?"...":"")}),e.snippet.length>200&&(0,a.jsx)(J.ZP,{type:"link",size:"small",className:"mt-3 p-0 h-auto",onClick:()=>b(0,t),style:{fontSize:"13px",fontWeight:500,color:"#3b82f6"},children:s?"Show less":"Show more"})]})},t)})}):(0,a.jsxs)("div",{className:"text-center py-12 bg-gray-50 border border-gray-200 rounded-lg",children:[(0,a.jsx)("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-gray-100 mx-auto mb-4",children:(0,a.jsx)(u.Z,{style:{fontSize:"24px",color:"#9ca3af"}})}),(0,a.jsx)(t2,{className:"text-gray-600 font-medium",children:"No results found"}),(0,a.jsx)(t2,{className:"text-sm text-gray-500 mt-1",children:"Try a different search query"})]})]}),h.length>1&&(0,a.jsxs)("div",{className:"mt-8 pt-6 border-t border-gray-200",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)(t2,{className:"text-sm font-semibold text-gray-700",children:"Previous Searches"}),(0,a.jsx)(J.ZP,{onClick:()=>{p([]),j({}),eE.Z.success("Search history cleared")},size:"small",type:"link",style:{fontSize:"13px",fontWeight:500},children:"Clear All"})]}),(0,a.jsx)("div",{className:"space-y-2",children:h.slice(1,6).map((e,t)=>{var s,l,r,i;return(0,a.jsxs)("div",{className:"p-3 bg-gray-50 border border-gray-200 rounded-lg cursor-pointer transition-all duration-200 hover:bg-gray-100 hover:border-gray-300",onClick:()=>{c(e.query)},children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-800 truncate",children:e.query}),(0,a.jsxs)("div",{className:"text-xs text-gray-500 mt-1.5 flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"font-medium text-blue-600",children:[(null===(l=e.response)||void 0===l?void 0:null===(s=l.results)||void 0===s?void 0:s.length)||0," ",(null===(i=e.response)||void 0===i?void 0:null===(r=i.results)||void 0===r?void 0:r.length)===1?"result":"results"]}),void 0!==e.latency&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{children:"•"}),(0,a.jsxs)("span",{className:"font-medium text-green-600",children:[e.latency,"ms"]})]}),(0,a.jsx)("span",{children:"•"}),(0,a.jsx)("span",{children:_(e.timestamp)})]})]},t+1)})})]})]}):(0,a.jsxs)("div",{className:"h-full flex flex-col items-center justify-center p-8",children:[(0,a.jsx)("div",{className:"flex items-center justify-center w-24 h-24 rounded-full bg-gray-100 mb-6",children:(0,a.jsx)(u.Z,{style:{fontSize:"48px",color:"#9ca3af"}})}),(0,a.jsx)(t2,{className:"text-lg text-gray-600 font-medium",children:"Test your search tool"}),(0,a.jsx)(t2,{className:"text-sm text-gray-500 mt-2",children:"Enter a query above to see search results"})]})})]})]})},t5=e=>{var t;let{searchTool:s,onBack:l,isEditing:r,accessToken:i,availableProviders:n}=e,[o,d]=(0,M.useState)({}),c=async(e,t)=>{await (0,tT.vQ)(e)&&(d(e=>({...e,[t]:!0})),setTimeout(()=>{d(e=>({...e,[t]:!1}))},2e3))};return(0,a.jsxs)("div",{className:"p-4 max-w-full",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-6",children:(0,a.jsxs)("div",{children:[(0,a.jsx)(ey.Z,{icon:eA.Z,variant:"light",className:"mb-4",onClick:l,children:"Back to All Search Tools"}),(0,a.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,a.jsx)(eS.Z,{children:s.search_tool_name}),(0,a.jsx)(J.ZP,{type:"text",size:"small",icon:o["search-tool-name"]?(0,a.jsx)(tQ.Z,{size:12}):(0,a.jsx)(t0.Z,{size:12}),onClick:()=>c(s.search_tool_name,"search-tool-name"),className:"left-2 z-10 transition-all duration-200 ".concat(o["search-tool-name"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]}),(0,a.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,a.jsx)(ek.Z,{className:"text-gray-500 font-mono",children:s.search_tool_id}),(0,a.jsx)(J.ZP,{type:"text",size:"small",icon:o["search-tool-id"]?(0,a.jsx)(tQ.Z,{size:12}):(0,a.jsx)(t0.Z,{size:12}),onClick:()=>c(s.search_tool_id,"search-tool-id"),className:"left-2 z-10 transition-all duration-200 ".concat(o["search-tool-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]})}),(0,a.jsxs)(tw.Z,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,a.jsxs)(ev.Z,{children:[(0,a.jsx)(ek.Z,{children:"Provider"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(eS.Z,{children:(e=>{let t=n.find(t=>t.provider_name===e);return(null==t?void 0:t.ui_friendly_name)||e})(s.litellm_params.search_provider)})})]}),(0,a.jsxs)(ev.Z,{children:[(0,a.jsx)(ek.Z,{children:"API Key"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(ek.Z,{children:s.litellm_params.api_key?"****":"Not set"})})]}),(0,a.jsxs)(ev.Z,{children:[(0,a.jsx)(ek.Z,{children:"Created At"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(ek.Z,{children:s.created_at?new Date(s.created_at).toLocaleString():"Unknown"})})]})]}),(null===(t=s.search_tool_info)||void 0===t?void 0:t.description)&&(0,a.jsxs)(ev.Z,{className:"mt-6",children:[(0,a.jsx)(ek.Z,{children:"Description"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(ek.Z,{children:s.search_tool_info.description})})]}),(0,a.jsx)("div",{className:"mt-6",children:i&&(0,a.jsx)(t4,{searchToolName:s.search_tool_name,accessToken:i})})]})};var t6=s(29),t3=s.n(t6),t8=s(23496),t9=s(35291);let{Text:t7}=tC.default;var se=e=>{let{litellmParams:t,accessToken:s,onTestComplete:l}=e,[r,i]=(0,M.useState)(!0),[n,o]=(0,M.useState)(null),[d,c]=(0,M.useState)(!1);(0,M.useEffect)(()=>{(async()=>{i(!0);try{let e=await (0,q.testSearchToolConnection)(s,t);o(e),"success"===e.status&&eE.Z.success("Connection test successful!")}catch(e){o({status:"error",message:e instanceof Error?e.message:"Unknown error occurred",error_type:"NetworkError"})}finally{i(!1),l&&l()}})()},[s,t,l]);let m=(null==n?void 0:n.message)?(e=>{if(!e)return"Unknown error";let t=e.split("stack trace:")[0].trim().replace(/^litellm\.(.*?)Error:\s*/,"").replace(/^AuthenticationError:\s*/,"");if(t.includes("")||t.includes("(.*?)<\/title>/);return e?e[1]:t.includes("401")||t.includes("Authorization Required")?"Authentication failed: Invalid API key or credentials":"Authentication error - please check your API key"}return t.length>200?t.substring(0,200)+"...":t})(n.message):"Unknown error";return r?(0,a.jsx)("div",{style:{padding:"24px",borderRadius:"8px",backgroundColor:"#fff"},children:(0,a.jsxs)("div",{style:{textAlign:"center",padding:"32px 20px"},className:"jsx-dc9a0e2d897fe63b",children:[(0,a.jsx)("div",{style:{marginBottom:"16px"},className:"jsx-dc9a0e2d897fe63b loading-spinner",children:(0,a.jsx)("div",{style:{border:"3px solid #f3f3f3",borderTop:"3px solid #1890ff",borderRadius:"50%",width:"30px",height:"30px",animation:"spin 1s linear infinite",margin:"0 auto"},className:"jsx-dc9a0e2d897fe63b"})}),(0,a.jsxs)(t7,{style:{fontSize:"16px"},children:["Testing connection to ",t.search_provider||"search provider","..."]}),(0,a.jsx)(t3(),{id:"dc9a0e2d897fe63b",children:"@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}"})]})}):n?(0,a.jsxs)("div",{style:{padding:"24px",borderRadius:"8px",backgroundColor:"#fff"},children:["success"===n.status?(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"32px 20px"},children:[(0,a.jsx)("div",{style:{color:"#52c41a",fontSize:"24px",display:"flex",alignItems:"center"},children:(0,a.jsx)("svg",{viewBox:"64 64 896 896",focusable:"false","data-icon":"check-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"})})}),(0,a.jsxs)("div",{style:{marginLeft:"12px"},children:[(0,a.jsxs)(t7,{type:"success",style:{fontSize:"18px",fontWeight:500,display:"block"},children:["Connection to ",t.search_provider," successful!"]}),n.test_query&&(0,a.jsxs)(t7,{style:{fontSize:"14px",color:"#666",marginTop:"8px",display:"block"},children:["Test query: ",(0,a.jsx)("code",{style:{backgroundColor:"#f0f0f0",padding:"2px 6px",borderRadius:"4px"},children:n.test_query})]}),void 0!==n.results_count&&(0,a.jsxs)(t7,{style:{fontSize:"14px",color:"#666",display:"block"},children:["Results retrieved: ",n.results_count]})]})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:"20px"},children:[(0,a.jsx)(t9.Z,{style:{color:"#ff4d4f",fontSize:"24px",marginRight:"12px"}}),(0,a.jsxs)(t7,{type:"danger",style:{fontSize:"18px",fontWeight:500},children:["Connection to ",t.search_provider||"search provider"," failed"]})]}),(0,a.jsxs)("div",{style:{backgroundColor:"#fff2f0",border:"1px solid #ffccc7",borderRadius:"8px",padding:"16px",marginBottom:"20px",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.03)"},children:[(0,a.jsxs)(t7,{strong:!0,style:{display:"block",marginBottom:"8px"},children:["Error:"," "]}),(0,a.jsx)(t7,{type:"danger",style:{fontSize:"14px",lineHeight:"1.5"},children:m}),n.error_type&&(0,a.jsx)("div",{style:{marginTop:"8px"},children:(0,a.jsxs)(t7,{style:{fontSize:"13px",color:"#666"},children:["Error type:"," ",(0,a.jsx)("code",{style:{backgroundColor:"#ffebee",padding:"2px 6px",borderRadius:"4px",color:"#d32f2f"},children:n.error_type})]})}),n.message&&(0,a.jsx)("div",{style:{marginTop:"12px"},children:(0,a.jsx)(J.ZP,{type:"link",onClick:()=>c(!d),style:{paddingLeft:0,height:"auto"},children:d?"Hide Details":"Show Details"})})]}),d&&(0,a.jsxs)("div",{style:{marginBottom:"20px"},children:[(0,a.jsx)(t7,{strong:!0,style:{display:"block",marginBottom:"8px",fontSize:"15px"},children:"Full Error Details"}),(0,a.jsx)("pre",{style:{backgroundColor:"#f5f5f5",padding:"16px",borderRadius:"8px",fontSize:"13px",maxHeight:"200px",overflow:"auto",border:"1px solid #e8e8e8",lineHeight:"1.5",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:n.message})]}),(0,a.jsxs)("div",{style:{backgroundColor:"#fffbf0",border:"1px solid #ffe58f",borderLeft:"4px solid #faad14",borderRadius:"8px",padding:"16px"},children:[(0,a.jsx)(t7,{strong:!0,style:{display:"block",marginBottom:"8px",color:"#d48806"},children:"Troubleshooting tips:"}),(0,a.jsxs)("ul",{style:{margin:"8px 0",paddingLeft:"20px",color:"#ad6800"},children:[(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Verify your API key is correct and active"}),(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Check if the search provider service is operational"}),(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Ensure you have sufficient credits/quota with the provider"}),(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Review the provider's documentation for any additional requirements"})]})]})]})}),(0,a.jsx)(t8.Z,{style:{margin:"24px 0 16px"}}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,a.jsx)(J.ZP,{type:"link",href:"https://docs.litellm.ai/docs/search",target:"_blank",icon:(0,a.jsx)(e8.Z,{}),children:"View Search Documentation"})})]}):null};let{TextArea:st}=K.default,ss=e=>"".concat("../ui/assets/logos/").concat(e,".png"),sa=e=>{let{providerName:t,displayName:s}=e;return(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(e9.default,{src:ss(t),alt:"",width:20,height:20,style:{marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,a.jsx)("span",{children:s})]})};var sl=e=>{let{userRole:t,accessToken:s,onCreateSuccess:l,isModalVisible:r,setModalVisible:i}=e,[n]=U.Z.useForm(),[o,d]=(0,M.useState)(!1),[c,m]=(0,M.useState)({}),[u,x]=(0,M.useState)(!1),[h,p]=(0,M.useState)(!1),[g,j]=(0,M.useState)(""),{data:f,isLoading:y}=(0,tJ.a)({queryKey:["searchProviders"],queryFn:()=>{if(!s)throw Error("Access Token required");return(0,q.fetchAvailableSearchProviders)(s)},enabled:!!s&&r}),v=(null==f?void 0:f.providers)||[],_=async e=>{d(!0);try{let t={search_tool_name:e.search_tool_name,litellm_params:{search_provider:e.search_provider,api_key:e.api_key,api_base:e.api_base,timeout:e.timeout?parseFloat(e.timeout):void 0,max_retries:e.max_retries?parseInt(e.max_retries):void 0},search_tool_info:e.description?{description:e.description}:void 0};if(console.log("Creating search tool with payload:",t),null!=s){let e=await (0,q.createSearchTool)(s,t);eE.Z.success("Search tool created successfully"),n.resetFields(),m({}),i(!1),l(e)}}catch(e){eE.Z.error("Error creating search tool: "+e)}finally{d(!1)}},b=async()=>{try{await n.validateFields(["search_provider","api_key"]),p(!0),j("test-".concat(Date.now())),x(!0)}catch(e){eE.Z.error("Please fill in Search Provider and API Key before testing")}};return(M.useEffect(()=>{r||m({})},[r]),(0,L.tY)(t))?(0,a.jsxs)(B.Z,{title:(0,a.jsxs)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:[(0,a.jsx)("span",{className:"text-2xl",children:"\uD83D\uDD0D"}),(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add New Search Tool"})]}),open:r,width:800,onCancel:()=>{n.resetFields(),m({}),i(!1)},footer:null,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:[(0,a.jsx)("div",{className:"mt-6",children:(0,a.jsxs)(U.Z,{form:n,onFinish:_,onValuesChange:(e,t)=>m(t),layout:"vertical",className:"space-y-6",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6",children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Search Tool Name",(0,a.jsx)(eh.Z,{title:"A unique name to identify this search tool configuration (e.g., 'perplexity-search', 'tavily-news-search').",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"search_tool_name",rules:[{required:!0,message:"Please enter a search tool name"},{pattern:/^[a-zA-Z0-9_-]+$/,message:"Name can only contain letters, numbers, hyphens, and underscores"}],children:(0,a.jsx)(e3.o,{placeholder:"e.g., perplexity-search, my-tavily-tool",className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500"})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Search Provider",(0,a.jsx)(eh.Z,{title:"Select the search provider you want to use. Each provider has different capabilities and pricing.",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"search_provider",rules:[{required:!0,message:"Please select a search provider"}],children:(0,a.jsx)(H.default,{placeholder:"Select a search provider",className:"rounded-lg",size:"large",loading:y,showSearch:!0,optionFilterProp:"children",optionLabelProp:"label",children:v.map(e=>(0,a.jsx)(H.default.Option,{value:e.provider_name,label:(0,a.jsx)(sa,{providerName:e.provider_name,displayName:e.ui_friendly_name}),children:(0,a.jsx)(sa,{providerName:e.provider_name,displayName:e.ui_friendly_name})},e.provider_name))})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["API Key",(0,a.jsx)(eh.Z,{title:"The API key for authenticating with the search provider. This will be securely stored.",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"api_key",rules:[{required:!1,message:"Please enter an API key"}],children:(0,a.jsx)(e3.o,{type:"password",placeholder:"Enter your API key",className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500"})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Description (Optional)"}),name:"description",children:(0,a.jsx)(st,{rows:3,placeholder:"Brief description of this search tool's purpose",className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500"})})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center pt-6 border-t border-gray-100",children:[(0,a.jsx)(eh.Z,{title:"Get help on our github",children:(0,a.jsx)(tC.default.Link,{href:"https://github.com/BerriAI/litellm/issues",target:"_blank",children:"Need Help?"})}),(0,a.jsxs)("div",{className:"space-x-2",children:[(0,a.jsx)(e3.z,{onClick:b,loading:h,children:"Test Connection"}),(0,a.jsx)(e3.z,{loading:o,type:"submit",children:"Add Search Tool"})]})]})]})}),(0,a.jsx)(B.Z,{title:"Connection Test Results",open:u,onCancel:()=>{x(!1),p(!1)},footer:[(0,a.jsx)(e3.z,{onClick:()=>{x(!1),p(!1)},children:"Close"},"close")],width:700,children:u&&s&&(0,a.jsx)(se,{litellmParams:{search_provider:c.search_provider,api_key:c.api_key,api_base:c.api_base},accessToken:s,onTestComplete:()=>p(!1)},g)})]}):null};let sr=e=>{let{isModalOpen:t,title:s,confirmDelete:l,cancelDelete:r}=e;return t?(0,a.jsx)(B.Z,{open:t,onOk:l,okType:"danger",onCancel:r,children:(0,a.jsxs)(tw.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(eS.Z,{children:s}),(0,a.jsx)(tZ.Z,{numColSpan:1,children:(0,a.jsx)("p",{children:"Are you sure you want to delete this search tool?"})})]})}):null};var si=e=>{let{accessToken:t,userRole:s,userID:l}=e,{data:r,isLoading:i,refetch:n}=(0,tJ.a)({queryKey:["searchTools"],queryFn:()=>{if(!t)throw Error("Access Token required");return(0,q.fetchSearchTools)(t).then(e=>e.search_tools||[])},enabled:!!t}),{data:o,isLoading:d}=(0,tJ.a)({queryKey:["searchProviders"],queryFn:()=>{if(!t)throw Error("Access Token required");return(0,q.fetchAvailableSearchProviders)(t)},enabled:!!t}),c=(null==o?void 0:o.providers)||[],[m,u]=(0,M.useState)(null),[x,h]=(0,M.useState)(!1),[p,g]=(0,M.useState)(null),[j,f]=(0,M.useState)(!1),[y,v]=(0,M.useState)(!1),[_,b]=(0,M.useState)(!1),[N]=U.Z.useForm(),Z=M.useMemo(()=>tX(e=>{g(e),f(!1)},e=>{let t=null==r?void 0:r.find(t=>t.search_tool_id===e);if(t){var s;N.setFieldsValue({search_tool_name:t.search_tool_name,search_provider:t.litellm_params.search_provider,api_key:t.litellm_params.api_key,api_base:t.litellm_params.api_base,timeout:t.litellm_params.timeout,max_retries:t.litellm_params.max_retries,description:null===(s=t.search_tool_info)||void 0===s?void 0:s.description}),g(e),b(!0)}},w,c),[c,r,N]);function w(e){u(e),h(!0)}let k=async()=>{if(null!=m&&null!=t){try{await (0,q.deleteSearchTool)(t,m),eE.Z.success("Deleted search tool successfully"),n()}catch(e){console.error("Error deleting the search tool:",e),eE.Z.error("Failed to delete search tool")}h(!1),u(null)}},S=async()=>{if(t&&p)try{let e=await N.validateFields(),s={search_tool_name:e.search_tool_name,litellm_params:{search_provider:e.search_provider,api_key:e.api_key,api_base:e.api_base,timeout:e.timeout?parseFloat(e.timeout):void 0,max_retries:e.max_retries?parseInt(e.max_retries):void 0},search_tool_info:e.description?{description:e.description}:void 0};await (0,q.updateSearchTool)(t,p,s),eE.Z.success("Search tool updated successfully"),b(!1),N.resetFields(),g(null),n()}catch(e){console.error("Failed to update search tool:",e),eE.Z.error("Failed to update search tool")}};return t&&s&&l?(0,a.jsxs)("div",{className:"w-full h-full p-6",children:[(0,a.jsx)(sr,{isModalOpen:x,title:"Delete Search Tool",confirmDelete:k,cancelDelete:()=>{h(!1),u(null)}}),(0,a.jsx)(sl,{userRole:s,accessToken:t,onCreateSuccess:e=>{v(!1),n()},isModalVisible:y,setModalVisible:v}),(0,a.jsx)(B.Z,{title:"Edit Search Tool",open:_,onOk:S,onCancel:()=>{b(!1),N.resetFields(),g(null)},width:600,children:(0,a.jsxs)(U.Z,{form:N,layout:"vertical",children:[(0,a.jsx)(U.Z.Item,{name:"search_tool_name",label:"Search Tool Name",rules:[{required:!0,message:"Please enter a search tool name"}],children:(0,a.jsx)(K.default,{placeholder:"e.g., my-perplexity-search"})}),(0,a.jsx)(U.Z.Item,{name:"search_provider",label:"Search Provider",rules:[{required:!0,message:"Please select a search provider"}],children:(0,a.jsx)(H.default,{placeholder:"Select a search provider",loading:d,children:c.map(e=>(0,a.jsx)(H.default.Option,{value:e.provider_name,children:e.ui_friendly_name},e.provider_name))})}),(0,a.jsx)(U.Z.Item,{name:"api_key",label:"API Key",extra:"API key for the search provider",children:(0,a.jsx)(K.default.Password,{placeholder:"Enter API key"})}),(0,a.jsx)(U.Z.Item,{name:"description",label:"Description",children:(0,a.jsx)(K.default.TextArea,{rows:3,placeholder:"Description of this search tool"})})]})}),(0,a.jsx)(eS.Z,{children:"Search Tools"}),(0,a.jsx)(ek.Z,{className:"text-tremor-content mt-2",children:"Configure and manage your search providers"}),(0,L.tY)(s)&&(0,a.jsx)(ey.Z,{className:"mt-4 mb-4",onClick:()=>v(!0),children:"+ Add New Search Tool"}),(0,a.jsx)(()=>p?(0,a.jsx)(t5,{searchTool:(null==r?void 0:r.find(e=>e.search_tool_id===p))||{search_tool_id:"",search_tool_name:"",litellm_params:{search_provider:""}},onBack:()=>{f(!1),g(null),n()},isEditing:j,accessToken:t,availableProviders:c}):(0,a.jsx)("div",{className:"w-full h-full",children:(0,a.jsx)("div",{className:"w-full px-6 mt-6",children:(0,a.jsx)(tG.w,{data:r||[],columns:Z,renderSubComponent:()=>(0,a.jsx)("div",{}),getRowCanExpand:()=>!1,isLoading:i,noDataMessage:"No search tools configured"})})}),{})]}):(console.log("Missing required authentication parameters",{accessToken:t,userRole:s,userID:l}),(0,a.jsx)("div",{className:"p-6 text-center text-gray-500",children:"Missing required authentication parameters."}))},sn=s(24504),so=s(42273),sd=s(59004),sc=s(5183),sm=s(18143),su=s(21739),sx=s(98524),sh=s(33801),sp=s(86653),sg=s(69734),sj=s(97060),sf=s(21623),sy=s(29827),sv=s(14474),s_=s(99376);function sb(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";document.cookie="".concat(e,"=; Max-Age=0; Path=").concat(t)}let sN=new sf.S;function sZ(){let[e,t]=(0,M.useState)(""),[s,r]=(0,M.useState)(!1),[i,n]=(0,M.useState)(!1),[o,d]=(0,M.useState)(null),[c,m]=(0,M.useState)(null),[u,x]=(0,M.useState)([]),[h,p]=(0,M.useState)([]),[g,j]=(0,M.useState)([]),[f,y]=(0,M.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""}),[v,_]=(0,M.useState)(!0),b=(0,s_.useSearchParams)(),[N,Z]=(0,M.useState)({data:[]}),[w,k]=(0,M.useState)(null),[S,C]=(0,M.useState)(!1),[T,A]=(0,M.useState)(!0),[I,P]=(0,M.useState)(null),z=b.get("invitation_id"),[R,B]=(0,M.useState)(()=>b.get("page")||"api-keys"),[U,V]=(0,M.useState)(null),[H,K]=(0,M.useState)(!1),W=e=>{x(t=>t?[...t,e]:[e]),C(()=>!S)},Y=!1===T&&null===w&&null===z;return((0,M.useEffect)(()=>{let e=!1;return(async()=>{try{await (0,q.getUiConfig)()}catch(e){}if(e)return;let t=function(e){let t=document.cookie.split("; ").find(t=>t.startsWith(e+"="));if(!t)return null;let s=t.slice(e.length+1);try{return decodeURIComponent(s)}catch(e){return s}}("token"),s=t&&!(0,sj.v)(t)?t:null;t&&!s&&sb("token","/"),e||(k(s),A(!1))})(),()=>{e=!0}},[]),(0,M.useEffect)(()=>{if(Y){let e=(q.proxyBaseUrl||"")+"/ui/login";window.location.replace(e)}},[Y]),(0,M.useEffect)(()=>{if(!w)return;if((0,sj.v)(w)){sb("token","/"),k(null);return}let e=null;try{e=(0,sv.o)(w)}catch(e){sb("token","/"),k(null);return}if(e){if(V(e.key),n(e.disabled_non_admin_personal_key_creation),e.user_role){let s=function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(e.user_role);t(s),"Admin Viewer"==s&&B("usage")}e.user_email&&d(e.user_email),e.login_method&&_("username_password"==e.login_method),e.premium_user&&r(e.premium_user),e.auth_header_name&&(0,q.setGlobalLitellmHeaderName)(e.auth_header_name),e.user_id&&P(e.user_id)}},[w]),(0,M.useEffect)(()=>{U&&I&&e&&(0,tV.Nr)(I,e,U,j),U&&I&&e&&(0,eR.Z)(U,I,e,null,m),U&&(0,tH.g)(U,p)},[U,I,e]),T||Y)?(0,a.jsx)(eB.Z,{}):(0,a.jsx)(M.Suspense,{fallback:(0,a.jsx)(eB.Z,{}),children:(0,a.jsx)(sy.aH,{client:sN,children:(0,a.jsx)(sg.f,{accessToken:U,children:z?(0,a.jsx)(su.Z,{userID:I,userRole:e,premiumUser:s,teams:c,keys:u,setUserRole:t,userEmail:o,setUserEmail:d,setTeams:m,setKeys:x,organizations:h,addKey:W,createClicked:S}):(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(tx.Z,{userID:I,userRole:e,premiumUser:s,userEmail:o,setProxySettings:y,proxySettings:f,accessToken:U,isPublicPage:!1,sidebarCollapsed:H,onToggleSidebar:()=>{K(!H)}}),(0,a.jsxs)("div",{className:"flex flex-1",children:[(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(D,{setPage:e=>{let t=new URLSearchParams(b);t.set("page",e),window.history.pushState(null,"","?".concat(t.toString())),B(e)},defaultSelectedKey:R,sidebarCollapsed:H})}),"api-keys"==R?(0,a.jsx)(su.Z,{userID:I,userRole:e,premiumUser:s,teams:c,keys:u,setUserRole:t,userEmail:o,setUserEmail:d,setTeams:m,setKeys:x,organizations:h,addKey:W,createClicked:S}):"models"==R?(0,a.jsx)(E.Z,{userID:I,userRole:e,token:w,keys:u,accessToken:U,modelData:N,setModelData:Z,premiumUser:s,teams:c}):"llm-playground"==R?(0,a.jsx)(O.default,{}):"users"==R?(0,a.jsx)(sp.Z,{userID:I,userRole:e,token:w,keys:u,teams:c,accessToken:U,setKeys:x}):"teams"==R?(0,a.jsx)(tU,{teams:c,setTeams:m,accessToken:U,userID:I,userRole:e,organizations:h,premiumUser:s,searchParams:b}):"organizations"==R?(0,a.jsx)(tH.Z,{organizations:h,setOrganizations:p,userModels:g,accessToken:U,userRole:e,premiumUser:s}):"admin-panel"==R?(0,a.jsx)(F.Z,{setTeams:m,searchParams:b,accessToken:U,userID:I,showSSOBanner:v,premiumUser:s,proxySettings:f}):"api_ref"==R?(0,a.jsx)(l.Z,{proxySettings:f}):"logging-and-alerts"==R?(0,a.jsx)(sn.Z,{userID:I,userRole:e,accessToken:U,premiumUser:s}):"budgets"==R?(0,a.jsx)(eF.Z,{accessToken:U}):"guardrails"==R?(0,a.jsx)(tc.Z,{accessToken:U,userRole:e}):"agents"==R?(0,a.jsx)(eO,{accessToken:U,userRole:e}):"prompts"==R?(0,a.jsx)(tW.Z,{accessToken:U,userRole:e}):"transform-request"==R?(0,a.jsx)(sd.Z,{accessToken:U}):"router-settings"==R?(0,a.jsx)(td.Z,{userID:I,userRole:e,accessToken:U,modelData:N}):"ui-theme"==R?(0,a.jsx)(sc.Z,{userID:I,userRole:e,accessToken:U}):"cost-tracking"==R?(0,a.jsx)(to,{userID:I,userRole:e,accessToken:U}):"model-hub-table"==R?(0,L.tY)(e)?(0,a.jsx)(tu.Z,{accessToken:U,publicPage:!1,premiumUser:s,userRole:e}):(0,a.jsx)(tY.Z,{accessToken:U,isEmbedded:!0}):"caching"==R?(0,a.jsx)(eM.Z,{userID:I,userRole:e,token:w,accessToken:U,premiumUser:s}):"pass-through-settings"==R?(0,a.jsx)(tK.Z,{userID:I,userRole:e,accessToken:U,modelData:N,premiumUser:s}):"logs"==R?(0,a.jsx)(sh.Z,{userID:I,userRole:e,token:w,accessToken:U,allTeams:null!=c?c:[],premiumUser:s}):"mcp-servers"==R?(0,a.jsx)(tm.d,{accessToken:U,userRole:e,userID:I}):"search-tools"==R?(0,a.jsx)(si,{accessToken:U,userRole:e,userID:I}):"tag-management"==R?(0,a.jsx)(so.Z,{accessToken:U,userRole:e,userID:I}):"vector-stores"==R?(0,a.jsx)(sx.Z,{accessToken:U,userRole:e,userID:I}):"new_usage"==R?(0,a.jsx)(th.Z,{teams:null!=c?c:[],organizations:null!=h?h:[]}):(0,a.jsx)(sm.Z,{userID:I,userRole:e,token:w,accessToken:U,keys:u,premiumUser:s})]})]})})})})}},88904:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(88913),i=s(57840),n=s(37592),o=s(63709),d=s(10353),c=s(19250),m=s(65925),u=s(46468),x=s(9114);t.Z=e=>{var t;let{accessToken:s,userID:h,userRole:p}=e,[g,j]=(0,l.useState)(!0),[f,y]=(0,l.useState)(null),[v,_]=(0,l.useState)(!1),[b,N]=(0,l.useState)({}),[Z,w]=(0,l.useState)(!1),[k,S]=(0,l.useState)([]),{Paragraph:C}=i.default,{Option:T}=n.default;(0,l.useEffect)(()=>{(async()=>{if(!s){j(!1);return}try{let e=await (0,c.getDefaultTeamSettings)(s);if(y(e),N(e.values||{}),s)try{let e=await (0,c.modelAvailableCall)(s,h,p);if(e&&e.data){let t=e.data.map(e=>e.id);S(t)}}catch(e){console.error("Error fetching available models:",e)}}catch(e){console.error("Error fetching team SSO settings:",e),x.Z.fromBackend("Failed to fetch team settings")}finally{j(!1)}})()},[s]);let A=async()=>{if(s){w(!0);try{let e=await (0,c.updateDefaultTeamSettings)(s,b);y({...f,values:e.settings}),_(!1),x.Z.success("Default team settings updated successfully")}catch(e){console.error("Error updating team settings:",e),x.Z.fromBackend("Failed to update team settings")}finally{w(!1)}}},L=(e,t)=>{N(s=>({...s,[e]:t}))},I=(e,t,s)=>{var l;let i=t.type;return"budget_duration"===e?(0,a.jsx)(m.Z,{value:b[e]||null,onChange:t=>L(e,t),className:"mt-2"}):"boolean"===i?(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(o.Z,{checked:!!b[e],onChange:t=>L(e,t)})}):"array"===i&&(null===(l=t.items)||void 0===l?void 0:l.enum)?(0,a.jsx)(n.default,{mode:"multiple",style:{width:"100%"},value:b[e]||[],onChange:t=>L(e,t),className:"mt-2",children:t.items.enum.map(e=>(0,a.jsx)(T,{value:e,children:e},e))}):"models"===e?(0,a.jsxs)(n.default,{mode:"multiple",style:{width:"100%"},value:b[e]||[],onChange:t=>L(e,t),className:"mt-2",children:[(0,a.jsx)(T,{value:"no-default-models",children:"No Default Models"},"no-default-models"),k.map(e=>(0,a.jsx)(T,{value:e,children:(0,u.W0)(e)},e))]}):"string"===i&&t.enum?(0,a.jsx)(n.default,{style:{width:"100%"},value:b[e]||"",onChange:t=>L(e,t),className:"mt-2",children:t.enum.map(e=>(0,a.jsx)(T,{value:e,children:e},e))}):(0,a.jsx)(r.oi,{value:void 0!==b[e]?String(b[e]):"",onChange:t=>L(e,t.target.value),placeholder:t.description||"",className:"mt-2"})},P=(e,t)=>null==t?(0,a.jsx)("span",{className:"text-gray-400",children:"Not set"}):"budget_duration"===e?(0,a.jsx)("span",{children:(0,m.m)(t)}):"boolean"==typeof t?(0,a.jsx)("span",{children:t?"Enabled":"Disabled"}):"models"===e&&Array.isArray(t)?0===t.length?(0,a.jsx)("span",{className:"text-gray-400",children:"None"}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:t.map((e,t)=>(0,a.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:(0,u.W0)(e)},t))}):"object"==typeof t?Array.isArray(t)?0===t.length?(0,a.jsx)("span",{className:"text-gray-400",children:"None"}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:t.map((e,t)=>(0,a.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:"object"==typeof e?JSON.stringify(e):String(e)},t))}):(0,a.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(t,null,2)}):(0,a.jsx)("span",{children:String(t)});return g?(0,a.jsx)("div",{className:"flex justify-center items-center h-64",children:(0,a.jsx)(d.Z,{size:"large"})}):f?(0,a.jsxs)(r.Zb,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(r.Dx,{className:"text-xl",children:"Default Team Settings"}),!g&&f&&(v?(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(r.zx,{variant:"secondary",onClick:()=>{_(!1),N(f.values||{})},disabled:Z,children:"Cancel"}),(0,a.jsx)(r.zx,{onClick:A,loading:Z,children:"Save Changes"})]}):(0,a.jsx)(r.zx,{onClick:()=>_(!0),children:"Edit Settings"}))]}),(0,a.jsx)(r.xv,{children:"These settings will be applied by default when creating new teams."}),(null==f?void 0:null===(t=f.field_schema)||void 0===t?void 0:t.description)&&(0,a.jsx)(C,{className:"mb-4 mt-2",children:f.field_schema.description}),(0,a.jsx)(r.iz,{}),(0,a.jsx)("div",{className:"mt-4 space-y-4",children:(()=>{let{values:e,field_schema:t}=f;return t&&t.properties?Object.entries(t.properties).map(t=>{let[s,l]=t,i=e[s],n=s.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase());return(0,a.jsxs)("div",{className:"mb-6 pb-6 border-b border-gray-200 last:border-0",children:[(0,a.jsx)(r.xv,{className:"font-medium text-lg",children:n}),(0,a.jsx)(C,{className:"text-sm text-gray-500 mt-1",children:l.description||"No description available"}),v?(0,a.jsx)("div",{className:"mt-2",children:I(s,l,i)}):(0,a.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:P(s,i)})]},s)}):(0,a.jsx)(r.xv,{children:"No schema information available"})})()})]}):(0,a.jsx)(r.Zb,{children:(0,a.jsx)(r.xv,{children:"No team settings available or you do not have permission to view them."})})}},49104:function(e,t,s){"use strict";s.d(t,{Z:function(){return O}});var a=s(57437),l=s(53410),r=s(74998),i=s(78489),n=s(12514),o=s(47323),d=s(12485),c=s(18135),m=s(35242),u=s(29706),x=s(77991),h=s(21626),p=s(97214),g=s(28241),j=s(58834),f=s(69552),y=s(71876),v=s(84264),_=s(2265),b=s(17906),N=s(21609),Z=s(9114),w=s(19250),k=s(87452),S=s(88829),C=s(72208),T=s(49566),A=s(10032),L=s(22116),I=s(19015),P=s(37592),z=s(5545),D=e=>{let{isModalVisible:t,accessToken:s,setIsModalVisible:l,setBudgetList:r}=e,[i]=A.Z.useForm(),n=async e=>{if(null!=s&&void 0!=s)try{Z.Z.info("Making API Call");let t=await (0,w.budgetCreateCall)(s,e);console.log("key create Response:",t),r(e=>e?[...e,t]:[t]),Z.Z.success("Budget Created"),i.resetFields()}catch(e){console.error("Error creating the key:",e),Z.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,a.jsx)(L.Z,{title:"Create Budget",visible:t,width:800,footer:null,onOk:()=>{l(!1),i.resetFields()},onCancel:()=>{l(!1),i.resetFields()},children:(0,a.jsxs)(A.Z,{form:i,onFinish:n,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(T.Z,{placeholder:""})}),(0,a.jsx)(A.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(k.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(C.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(S.Z,{children:[(0,a.jsx)(A.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(P.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(P.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(P.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(P.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(z.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},E=e=>{let{isModalVisible:t,accessToken:s,setIsModalVisible:l,setBudgetList:r,existingBudget:i,handleUpdateCall:n}=e;console.log("existingBudget",i);let[o]=A.Z.useForm();(0,_.useEffect)(()=>{o.setFieldsValue(i)},[i,o]);let d=async e=>{if(null!=s&&void 0!=s)try{Z.Z.info("Making API Call"),l(!0);let t=await (0,w.budgetUpdateCall)(s,e);r(e=>e?[...e,t]:[t]),Z.Z.success("Budget Updated"),o.resetFields(),n()}catch(e){console.error("Error creating the key:",e),Z.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,a.jsx)(L.Z,{title:"Edit Budget",visible:t,width:800,footer:null,onOk:()=>{l(!1),o.resetFields()},onCancel:()=>{l(!1),o.resetFields()},children:(0,a.jsxs)(A.Z,{form:o,onFinish:d,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:i,children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(T.Z,{placeholder:""})}),(0,a.jsx)(A.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(k.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(C.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(S.Z,{children:[(0,a.jsx)(A.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(P.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(P.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(P.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(P.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(z.ZP,{htmlType:"submit",children:"Save"})})]})})},O=e=>{let{accessToken:t}=e,[s,k]=(0,_.useState)(!1),[S,C]=(0,_.useState)(!1),[T,A]=(0,_.useState)(null),[L,I]=(0,_.useState)([]),[P,z]=(0,_.useState)(!1),[O,F]=(0,_.useState)(!1);(0,_.useEffect)(()=>{t&&(0,w.getBudgetList)(t).then(e=>{I(e)})},[t]);let M=async e=>{null!=t&&(A(e),C(!0))},R=e=>{A(e),F(!0)},B=async()=>{if(T&&null!=t){z(!0);try{await (0,w.budgetDeleteCall)(t,T.budget_id),Z.Z.success("Budget deleted."),await q()}catch(e){console.error("Error deleting budget:",e),"function"==typeof Z.Z.fromBackend?Z.Z.fromBackend("Failed to delete budget"):Z.Z.info("Failed to delete budget")}finally{z(!1),F(!1),A(null)}}},q=async()=>{null!=t&&(0,w.getBudgetList)(t).then(e=>{I(e)})};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsx)(i.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>k(!0),children:"+ Create Budget"}),(0,a.jsx)(D,{accessToken:t,isModalVisible:s,setIsModalVisible:k,setBudgetList:I}),T&&(0,a.jsx)(E,{accessToken:t,isModalVisible:S,setIsModalVisible:C,setBudgetList:I,existingBudget:T,handleUpdateCall:q}),(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(v.Z,{children:"Create a budget to assign to customers."}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(y.Z,{children:[(0,a.jsx)(f.Z,{children:"Budget ID"}),(0,a.jsx)(f.Z,{children:"Max Budget"}),(0,a.jsx)(f.Z,{children:"TPM"}),(0,a.jsx)(f.Z,{children:"RPM"})]})}),(0,a.jsx)(p.Z,{children:L.slice().sort((e,t)=>new Date(t.updated_at).getTime()-new Date(e.updated_at).getTime()).map((e,t)=>(0,a.jsxs)(y.Z,{children:[(0,a.jsx)(g.Z,{children:e.budget_id}),(0,a.jsx)(g.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,a.jsx)(g.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,a.jsx)(g.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,a.jsx)(o.Z,{icon:l.Z,size:"sm",className:"cursor-pointer",onClick:()=>M(e)}),(0,a.jsx)(o.Z,{icon:r.Z,size:"sm",className:"cursor-pointer hover:text-red-500",onClick:()=>R(e)})]},t))})]})]}),(0,a.jsx)(N.Z,{isOpen:O,title:"Delete Budget?",message:"Are you sure you want to delete this budget? This action cannot be undone.",resourceInformationTitle:"Budget Information",resourceInformation:[{label:"Budget ID",value:null==T?void 0:T.budget_id,code:!0},{label:"Max Budget",value:null==T?void 0:T.max_budget},{label:"TPM",value:null==T?void 0:T.tpm_limit},{label:"RPM",value:null==T?void 0:T.rpm_limit}],onCancel:()=>{F(!1)},onOk:B,confirmLoading:P}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(v.Z,{className:"text-base",children:"How to use budget id"}),(0,a.jsxs)(c.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsx)(d.Z,{children:"Assign Budget to Customer"}),(0,a.jsx)(d.Z,{children:"Test it (Curl)"}),(0,a.jsx)(d.Z,{children:"Test it (OpenAI SDK)"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsx)(u.Z,{children:(0,a.jsx)(b.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,a.jsx)(u.Z,{children:(0,a.jsx)(b.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,a.jsx)(u.Z,{children:(0,a.jsx)(b.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})}},94987:function(e,t,s){"use strict";s.d(t,{Z:function(){return i}});var a=s(57437),l=s(10012),r=s(91323);function i(){return(0,a.jsxs)("div",{className:(0,l.cx)("h-screen","flex items-center justify-center gap-4"),children:[(0,a.jsx)("div",{className:"text-lg font-medium py-2 pr-4 border-r border-r-gray-200",children:"\uD83D\uDE85 LiteLLM"}),(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)(r.S,{className:"size-4"}),(0,a.jsx)("span",{className:"text-gray-600 text-sm",children:"Loading..."})]})]})}},918:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(62490),i=s(19250),n=s(9114);t.Z=e=>{let{accessToken:t,userID:s}=e,[o,d]=(0,l.useState)([]);(0,l.useEffect)(()=>{(async()=>{if(t&&s)try{let e=await (0,i.availableTeamListCall)(t);d(e)}catch(e){console.error("Error fetching available teams:",e)}})()},[t,s]);let c=async e=>{if(t&&s)try{await (0,i.teamMemberAddCall)(t,e,{user_id:s,role:"user"}),n.Z.success("Successfully joined team"),d(t=>t.filter(t=>t.team_id!==e))}catch(e){console.error("Error joining team:",e),n.Z.fromBackend("Failed to join team")}};return(0,a.jsx)(r.Zb,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(r.iA,{children:[(0,a.jsx)(r.ss,{children:(0,a.jsxs)(r.SC,{children:[(0,a.jsx)(r.xs,{children:"Team Name"}),(0,a.jsx)(r.xs,{children:"Description"}),(0,a.jsx)(r.xs,{children:"Members"}),(0,a.jsx)(r.xs,{children:"Models"}),(0,a.jsx)(r.xs,{children:"Actions"})]})}),(0,a.jsxs)(r.RM,{children:[o.map(e=>(0,a.jsxs)(r.SC,{children:[(0,a.jsx)(r.pj,{children:(0,a.jsx)(r.xv,{children:e.team_alias})}),(0,a.jsx)(r.pj,{children:(0,a.jsx)(r.xv,{children:e.description||"No description available"})}),(0,a.jsx)(r.pj,{children:(0,a.jsxs)(r.xv,{children:[e.members_with_roles.length," members"]})}),(0,a.jsx)(r.pj,{children:(0,a.jsx)("div",{className:"flex flex-col",children:e.models&&0!==e.models.length?e.models.map((e,t)=>(0,a.jsx)(r.Ct,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(r.xv,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},t)):(0,a.jsx)(r.Ct,{size:"xs",color:"red",children:(0,a.jsx)(r.xv,{children:"All Proxy Models"})})})}),(0,a.jsx)(r.pj,{children:(0,a.jsx)(r.zx,{size:"xs",variant:"secondary",onClick:()=>c(e.team_id),children:"Join Team"})})]},e.team_id)),0===o.length&&(0,a.jsx)(r.SC,{children:(0,a.jsx)(r.pj,{colSpan:5,className:"text-center",children:(0,a.jsx)(r.xv,{children:"No available teams to join"})})})]})]})})}},59004:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(5545),i=s(23639),n=s(21700),o=s(19250),d=s(9114);t.Z=e=>{let{accessToken:t}=e,[s,c]=(0,l.useState)('{\n "model": "openai/gpt-4o",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n },\n {\n "role": "user",\n "content": "Explain quantum computing in simple terms"\n }\n ],\n "temperature": 0.7,\n "max_tokens": 500,\n "stream": true\n}'),[m,u]=(0,l.useState)(""),[x,h]=(0,l.useState)(!1),p=(e,t,s)=>{let a=JSON.stringify(t,null,2).split("\n").map(e=>" ".concat(e)).join("\n"),l=Object.entries(s).map(e=>{let[t,s]=e;return"-H '".concat(t,": ").concat(s,"'")}).join(" \\\n ");return"curl -X POST \\\n ".concat(e," \\\n ").concat(l?"".concat(l," \\\n "):"","-H 'Content-Type: application/json' \\\n -d '{\n").concat(a,"\n }'")},g=async()=>{h(!0);try{let e;try{e=JSON.parse(s)}catch(e){d.Z.fromBackend("Invalid JSON in request body"),h(!1);return}let a={call_type:"completion",request_body:e};if(!t){d.Z.fromBackend("No access token found"),h(!1);return}let l=await (0,o.transformRequestCall)(t,a);if(l.raw_request_api_base&&l.raw_request_body){let e=p(l.raw_request_api_base,l.raw_request_body,l.raw_request_headers||{});u(e),d.Z.success("Request transformed successfully")}else{let e="string"==typeof l?l:JSON.stringify(l);u(e),d.Z.info("Transformed request received in unexpected format")}}catch(e){console.error("Error transforming request:",e),d.Z.fromBackend("Failed to transform request")}finally{h(!1)}};return(0,a.jsxs)("div",{className:"w-full m-2",style:{overflow:"hidden"},children:[(0,a.jsx)(n.D,{children:"Playground"}),(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"See how LiteLLM transforms your request for the specified provider."}),(0,a.jsxs)("div",{style:{display:"flex",gap:"16px",width:"100%",minWidth:0,overflow:"hidden"},className:"mt-4",children:[(0,a.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"600px",minWidth:0},children:[(0,a.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,a.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Original Request"}),(0,a.jsx)("p",{style:{color:"#666",margin:0},children:"The request you would send to LiteLLM /chat/completions endpoint."})]}),(0,a.jsx)("textarea",{style:{flex:"1 1 auto",width:"100%",minHeight:"240px",padding:"16px",border:"1px solid #e8e8e8",borderRadius:"6px",fontFamily:"monospace",fontSize:"14px",resize:"none",marginBottom:"24px",overflow:"auto"},value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),g())},placeholder:"Press Cmd/Ctrl + Enter to transform"}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"auto"},children:(0,a.jsxs)(r.ZP,{type:"primary",style:{backgroundColor:"#000",display:"flex",alignItems:"center",gap:"8px"},onClick:g,loading:x,children:[(0,a.jsx)("span",{children:"Transform"}),(0,a.jsx)("span",{children:"→"})]})})]}),(0,a.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"800px",minWidth:0},children:[(0,a.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,a.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Transformed Request"}),(0,a.jsx)("p",{style:{color:"#666",margin:0},children:"How LiteLLM transforms your request for the specified provider."}),(0,a.jsx)("br",{}),(0,a.jsx)("p",{style:{color:"#666",margin:0},className:"text-xs",children:"Note: Sensitive headers are not shown."})]}),(0,a.jsxs)("div",{style:{position:"relative",backgroundColor:"#f5f5f5",borderRadius:"6px",flex:"1 1 auto",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,a.jsx)("pre",{style:{padding:"16px",fontFamily:"monospace",fontSize:"14px",margin:0,overflow:"auto",flex:"1 1 auto"},children:m||'curl -X POST \\\n https://api.openai.com/v1/chat/completions \\\n -H \'Authorization: Bearer sk-xxx\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "model": "gpt-4",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n }\n ],\n "temperature": 0.7\n }\''}),(0,a.jsx)(r.ZP,{type:"text",icon:(0,a.jsx)(i.Z,{}),style:{position:"absolute",right:"8px",top:"8px"},size:"small",onClick:()=>{navigator.clipboard.writeText(m||""),d.Z.success("Copied to clipboard")}})]})]})]}),(0,a.jsx)("div",{className:"mt-4 text-right w-full",children:(0,a.jsxs)("p",{className:"text-sm text-gray-500",children:["Found an error? File an issue"," ",(0,a.jsx)("a",{href:"https://github.com/BerriAI/litellm/issues",target:"_blank",rel:"noopener noreferrer",children:"here"}),"."]})})]})}},5183:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(19046),i=s(69734),n=s(19250),o=s(9114);t.Z=e=>{let{userID:t,userRole:s,accessToken:d}=e,{logoUrl:c,setLogoUrl:m}=(0,i.F)(),[u,x]=(0,l.useState)(""),[h,p]=(0,l.useState)(!1);(0,l.useEffect)(()=>{d&&g()},[d]);let g=async()=>{try{let t=(0,n.getProxyBaseUrl)(),s=await fetch(t?"".concat(t,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"}});if(s.ok){var e;let t=await s.json(),a=(null===(e=t.values)||void 0===e?void 0:e.logo_url)||"";x(a),m(a||null)}}catch(e){console.error("Error fetching theme settings:",e)}},j=async()=>{p(!0);try{let e=(0,n.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:u||null})})).ok)o.Z.success("Logo settings updated successfully!"),m(u||null);else throw Error("Failed to update settings")}catch(e){console.error("Error updating logo settings:",e),o.Z.fromBackend("Failed to update logo settings")}finally{p(!1)}},f=async()=>{x(""),m(null),p(!0);try{let e=(0,n.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:null})})).ok)o.Z.success("Logo reset to default!");else throw Error("Failed to reset logo")}catch(e){console.error("Error resetting logo:",e),o.Z.fromBackend("Failed to reset logo")}finally{p(!1)}};return d?(0,a.jsxs)("div",{className:"w-full mx-auto max-w-4xl px-6 py-8",children:[(0,a.jsxs)("div",{className:"mb-8",children:[(0,a.jsx)(r.Dx,{className:"text-2xl font-bold mb-2",children:"Logo Customization"}),(0,a.jsx)(r.xv,{className:"text-gray-600",children:"Customize your LiteLLM admin dashboard with a custom logo."})]}),(0,a.jsx)(r.Zb,{className:"shadow-sm p-6",children:(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(r.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Custom Logo URL"}),(0,a.jsx)(r.oi,{placeholder:"https://example.com/logo.png",value:u,onValueChange:e=>{x(e),m(e||null)},className:"w-full"}),(0,a.jsx)(r.xv,{className:"text-xs text-gray-500 mt-1",children:"Enter a URL for your custom logo or leave empty to use the default LiteLLM logo"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(r.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Current Logo"}),(0,a.jsx)("div",{className:"bg-gray-50 rounded-lg p-6 flex items-center justify-center min-h-[120px]",children:u?(0,a.jsx)("img",{src:u,alt:"Custom logo",className:"max-w-full max-h-24 object-contain",onError:e=>{var t;let s=e.target;s.style.display="none";let a=document.createElement("div");a.className="text-gray-500 text-sm",a.textContent="Failed to load image",null===(t=s.parentElement)||void 0===t||t.appendChild(a)}}):(0,a.jsx)(r.xv,{className:"text-gray-500 text-sm",children:"Default LiteLLM logo will be used"})})]}),(0,a.jsxs)("div",{className:"flex gap-3 pt-4",children:[(0,a.jsx)(r.zx,{onClick:j,loading:h,disabled:h,color:"indigo",children:"Save Changes"}),(0,a.jsx)(r.zx,{onClick:f,loading:h,disabled:h,variant:"secondary",color:"gray",children:"Reset to Default"})]})]})})]}):null}},79262:function(e,t,s){"use strict";s.d(t,{Z:function(){return x}});var a=s(57437);s(1309);var l=s(76865),r=s(70525),i=s(95805),n=s(51817),o=s(21047);s(22135),s(40875);var d=s(49663),c=s(2265),m=s(19250);let u=function(){for(var e=arguments.length,t=Array(e),s=0;s{(async()=>{if(t){v(!0),b(null);try{let e=await (0,m.getRemainingUsers)(t);f(e)}catch(e){console.error("Failed to fetch usage data:",e),b("Failed to load usage data")}finally{v(!1)}}})()},[t]);let{isOverLimit:N,isNearLimit:Z,usagePercentage:w,userMetrics:k,teamMetrics:S}=(e=>{if(!e)return{isOverLimit:!1,isNearLimit:!1,usagePercentage:0,userMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0},teamMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0}};let t=e.total_users?e.total_users_used/e.total_users*100:0,s=t>100,a=t>=80&&t<=100,l=e.total_teams?e.total_teams_used/e.total_teams*100:0,r=l>100,i=l>=80&&l<=100,n=s||r;return{isOverLimit:n,isNearLimit:(a||i)&&!n,usagePercentage:Math.max(t,l),userMetrics:{isOverLimit:s,isNearLimit:a,usagePercentage:t},teamMetrics:{isOverLimit:r,isNearLimit:i,usagePercentage:l}}})(j),C=()=>N?(0,a.jsx)(l.Z,{className:"h-3 w-3"}):Z?(0,a.jsx)(r.Z,{className:"h-3 w-3"}):null;return t&&((null==j?void 0:j.total_users)!==null||(null==j?void 0:j.total_teams)!==null)?(0,a.jsx)("div",{className:"fixed bottom-4 left-4 z-50",style:{width:"".concat(Math.min(s,220),"px")},children:(0,a.jsx)(()=>p?(0,a.jsx)("button",{onClick:()=>g(!1),className:u("bg-white border border-gray-200 rounded-lg shadow-sm p-3 hover:shadow-md transition-all w-full"),title:"Show usage details",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(N||Z)&&(0,a.jsx)("span",{className:"flex-shrink-0",children:C()}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium truncate",children:[j&&null!==j.total_users&&(0,a.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",k.isOverLimit&&"bg-red-50 text-red-700 border-red-200",k.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!k.isOverLimit&&!k.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["U: ",j.total_users_used,"/",j.total_users]}),j&&null!==j.total_teams&&(0,a.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",S.isOverLimit&&"bg-red-50 text-red-700 border-red-200",S.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!S.isOverLimit&&!S.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["T: ",j.total_teams_used,"/",j.total_teams]}),!j||null===j.total_users&&null===j.total_teams&&(0,a.jsx)("span",{className:"truncate",children:"Usage"})]})]})}):y?(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 w-full",children:(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2 py-2",children:[(0,a.jsx)(n.Z,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{className:"text-sm text-gray-500 truncate",children:"Loading..."})]})}):_||!j?(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 group w-full",children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)("span",{className:"text-sm text-gray-500 truncate block",children:_||"No data"})}),(0,a.jsx)("button",{onClick:()=>g(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,a.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]})}):(0,a.jsxs)("div",{className:u("bg-white border rounded-lg shadow-sm p-3 transition-all duration-200 group w-full"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(0,a.jsx)("span",{className:"font-medium text-sm truncate",children:"Usage"})]}),(0,a.jsx)("button",{onClick:()=>g(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,a.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]}),(0,a.jsxs)("div",{className:"space-y-3 text-sm",children:[null!==j.total_users&&(0,a.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",k.isOverLimit&&"border-red-200 bg-red-50",k.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,a.jsx)(i.Z,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"font-medium",children:"Users"}),(0,a.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",k.isOverLimit&&"bg-red-50 text-red-700 border-red-200",k.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!k.isOverLimit&&!k.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:k.isOverLimit?"Over limit":k.isNearLimit?"Near limit":"OK"})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[j.total_users_used,"/",j.total_users]})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,a.jsx)("span",{className:u("font-medium text-right",k.isOverLimit&&"text-red-600",k.isNearLimit&&"text-yellow-600"),children:j.total_users_remaining})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[Math.round(k.usagePercentage),"%"]})]}),(0,a.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,a.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",k.isOverLimit&&"bg-red-500",k.isNearLimit&&"bg-yellow-500",!k.isOverLimit&&!k.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(k.usagePercentage,100),"%")}})})]}),null!==j.total_teams&&(0,a.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",S.isOverLimit&&"border-red-200 bg-red-50",S.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,a.jsx)(d.Z,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"font-medium",children:"Teams"}),(0,a.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",S.isOverLimit&&"bg-red-50 text-red-700 border-red-200",S.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!S.isOverLimit&&!S.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:S.isOverLimit?"Over limit":S.isNearLimit?"Near limit":"OK"})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[j.total_teams_used,"/",j.total_teams]})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,a.jsx)("span",{className:u("font-medium text-right",S.isOverLimit&&"text-red-600",S.isNearLimit&&"text-yellow-600"),children:j.total_teams_remaining})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[Math.round(S.usagePercentage),"%"]})]}),(0,a.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,a.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",S.isOverLimit&&"bg-red-500",S.isNearLimit&&"bg-yellow-500",!S.isOverLimit&&!S.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(S.usagePercentage,100),"%")}})})]})]})]}),{})}):null}},97060:function(e,t,s){"use strict";s.d(t,{v:function(){return l}});var a=s(14474);function l(e){try{let t=(0,a.o)(e);if(t&&"number"==typeof t.exp)return 1e3*t.exp<=Date.now();return!1}catch(e){return!0}}}},function(e){e.O(0,[9546,1047,3665,6990,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,7138,8565,3709,5869,5319,5333,525,6609,1713,7906,9611,2618,9165,1130,4804,7271,8237,854,5105,2843,8205,4042,605,6892,7685,819,8049,4679,2202,874,4292,7526,1253,2249,5068,2004,1200,7641,1385,137,3801,6399,6653,4504,8524,1739,8449,6600,9039,8143,7975,2273,2971,2117,1744],function(){return e(e.s=89705)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/page-9d60ff859851d7df.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/page-9d60ff859851d7df.js deleted file mode 100644 index f6ddf9e767..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/page-9d60ff859851d7df.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{97731:function(e,t,s){Promise.resolve().then(s.bind(s,8960))},21700:function(e,t,s){"use strict";s.d(t,{D:function(){return a.Z}});var a=s(96761)},23192:function(e,t,s){"use strict";s.d(t,{Z:function(){return h}});var a=s(57437);s(2265);var l=s(67101),r=s(12485),i=s(18135),n=s(35242),o=s(29706),d=s(77991),c=s(84264),m=s(25653),u=s(96362),x=e=>{let{href:t,className:s}=e;return(0,a.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",title:"Open documentation in a new tab",className:function(){for(var e=arguments.length,t=Array(e),s=0;s{let{proxySettings:t}=e,s="",u=null==t?void 0:t.LITELLM_UI_API_DOC_BASE_URL;return u&&u.trim()?s=u:(null==t?void 0:t.PROXY_BASE_URL)&&(s=t.PROXY_BASE_URL),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(l.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsxs)("div",{className:"mb-5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,a.jsx)(x,{className:"ml-3 shrink-0",href:"https://docs.litellm.ai/docs/proxy/user_keys"})]}),(0,a.jsxs)(c.Z,{className:"mt-2 mb-2",children:["LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below"," "]}),(0,a.jsxs)(i.Z,{children:[(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(r.Z,{children:"OpenAI Python SDK"}),(0,a.jsx)(r.Z,{children:"LlamaIndex"}),(0,a.jsx)(r.Z,{children:"Langchain Py"})]}),(0,a.jsxs)(d.Z,{children:[(0,a.jsx)(o.Z,{children:(0,a.jsx)(m.Z,{language:"python",code:'import openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(s,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)')})}),(0,a.jsx)(o.Z,{children:(0,a.jsx)(m.Z,{language:"python",code:'import os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(s,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(s,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)')})}),(0,a.jsx)(o.Z,{children:(0,a.jsx)(m.Z,{language:"python",code:'from langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(s,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)')})})]})]})]})})})}},25653:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(30401),i=s(5136),n=s(17906),o=s(1479);t.Z=e=>{let{code:t,language:s}=e,[d,c]=(0,l.useState)(!1);return(0,a.jsxs)("div",{className:"relative rounded-lg border border-gray-200 overflow-hidden",children:[(0,a.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(t),c(!0),setTimeout(()=>c(!1),2e3)},className:"absolute top-3 right-3 p-2 rounded-md bg-gray-100 hover:bg-gray-200 text-gray-600 z-10","aria-label":"Copy code",children:d?(0,a.jsx)(r.Z,{size:16}):(0,a.jsx)(i.Z,{size:16})}),(0,a.jsx)(n.Z,{language:s,style:o.Z,customStyle:{margin:0,padding:"1.5rem",borderRadius:"0.5rem",fontSize:"0.9rem",backgroundColor:"#fafafa"},showLineNumbers:!0,children:t})]})}},8960:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return sZ}});var a=s(57437),l=s(23192),r=s(39760),i=s(92403),n=s(28595),o=s(68208),d=s(69993),c=s(58630),m=s(57400),u=s(29436),x=s(44625),h=s(9775),p=s(48231),g=s(15883),j=s(41361),f=s(37527),y=s(99458),v=s(12660),b=s(88009),_=s(41169),N=s(38434),Z=s(71891),w=s(55322),k=s(11429),S=s(13817),C=s(33866),T=s(18310),A=s(60985),L=s(20347),I=s(79262);let{Sider:P}=S.default;var z=e=>{let{accessToken:t,setPage:s,userRole:l,defaultSelectedKey:r,collapsed:z=!1}=e,D=e=>{let t=new URLSearchParams(window.location.search);t.set("page",e),window.history.pushState(null,"","?".concat(t.toString())),s(e)},E=[{groupLabel:"AI GATEWAY",items:[{key:"api-keys",page:"api-keys",label:"Virtual Keys",icon:(0,a.jsx)(i.Z,{})},{key:"llm-playground",page:"llm-playground",label:"Playground",icon:(0,a.jsx)(n.Z,{}),roles:L.LQ},{key:"models",page:"models",label:"Models + Endpoints",icon:(0,a.jsx)(o.Z,{}),roles:L.LQ},{key:"agents",page:"agents",label:(0,a.jsxs)("span",{className:"flex items-center gap-4",children:["Agents ",(0,a.jsx)(C.Z,{color:"blue",count:"New"})]}),icon:(0,a.jsx)(d.Z,{}),roles:L.LQ},{key:"mcp-servers",page:"mcp-servers",label:"MCP Servers",icon:(0,a.jsx)(c.Z,{})},{key:"guardrails",page:"guardrails",label:"Guardrails",icon:(0,a.jsx)(m.Z,{}),roles:L.ZL},{key:"tools",page:"tools",label:"Tools",icon:(0,a.jsx)(c.Z,{}),children:[{key:"search-tools",page:"search-tools",label:"Search Tools",icon:(0,a.jsx)(u.Z,{})},{key:"vector-stores",page:"vector-stores",label:"Vector Stores",icon:(0,a.jsx)(x.Z,{}),roles:L.ZL}]}]},{groupLabel:"OBSERVABILITY",items:[{key:"new_usage",page:"new_usage",icon:(0,a.jsx)(h.Z,{}),roles:[...L.ZL,...L.lo],label:(0,a.jsxs)("span",{className:"flex items-center gap-4",children:["Usage ",(0,a.jsx)(C.Z,{color:"blue",count:"New"})]})},{key:"logs",page:"logs",label:"Logs",icon:(0,a.jsx)(p.Z,{})}]},{groupLabel:"ACCESS CONTROL",items:[{key:"users",page:"users",label:"Internal Users",icon:(0,a.jsx)(g.Z,{}),roles:L.ZL},{key:"teams",page:"teams",label:"Teams",icon:(0,a.jsx)(j.Z,{})},{key:"organizations",page:"organizations",label:"Organizations",icon:(0,a.jsx)(f.Z,{}),roles:L.ZL},{key:"budgets",page:"budgets",label:"Budgets",icon:(0,a.jsx)(y.Z,{}),roles:L.ZL}]},{groupLabel:"DEVELOPER TOOLS",items:[{key:"api_ref",page:"api_ref",label:"API Reference",icon:(0,a.jsx)(v.Z,{})},{key:"model-hub-table",page:"model-hub-table",label:"AI Hub",icon:(0,a.jsx)(b.Z,{})},{key:"experimental",page:"experimental",label:"Experimental",icon:(0,a.jsx)(_.Z,{}),children:[{key:"caching",page:"caching",label:"Caching",icon:(0,a.jsx)(x.Z,{}),roles:L.ZL},{key:"prompts",page:"prompts",label:"Prompts",icon:(0,a.jsx)(N.Z,{}),roles:L.ZL},{key:"transform-request",page:"transform-request",label:"API Playground",icon:(0,a.jsx)(v.Z,{}),roles:[...L.ZL,...L.lo]},{key:"tag-management",page:"tag-management",label:"Tag Management",icon:(0,a.jsx)(Z.Z,{}),roles:L.ZL},{key:"4",page:"usage",label:"Old Usage",icon:(0,a.jsx)(h.Z,{})}]}]},{groupLabel:"SETTINGS",roles:L.ZL,items:[{key:"settings",page:"settings",label:"Settings",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL,children:[{key:"router-settings",page:"router-settings",label:"Router Settings",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL},{key:"logging-and-alerts",page:"logging-and-alerts",label:"Logging & Alerts",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL},{key:"admin-panel",page:"admin-panel",label:"Admin Settings",icon:(0,a.jsx)(w.Z,{}),roles:L.ZL},{key:"cost-tracking",page:"cost-tracking",label:"Cost Tracking",icon:(0,a.jsx)(h.Z,{}),roles:L.ZL},{key:"ui-theme",page:"ui-theme",label:"UI Theme",icon:(0,a.jsx)(k.Z,{}),roles:L.ZL}]}]}],O=e=>e.filter(e=>!e.roles||e.roles.includes(l)).map(e=>({...e,children:e.children?O(e.children):void 0})),F=(e=>{for(let t of E)for(let s of t.items){if(s.page===e)return s.key;if(s.children){let t=s.children.find(t=>t.page===e);if(t)return t.key}}return"api-keys"})(r);return(0,a.jsx)(S.default,{children:(0,a.jsxs)(P,{theme:"light",width:220,collapsed:z,collapsedWidth:80,collapsible:!0,trigger:null,style:{transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",position:"relative"},children:[(0,a.jsx)(T.ZP,{theme:{components:{Menu:{iconSize:15,fontSize:13,itemMarginInline:4,itemPaddingInline:8,itemHeight:30,itemBorderRadius:6,subMenuItemBorderRadius:6,groupTitleFontSize:10,groupTitleLineHeight:1.5}}},children:(0,a.jsx)(A.Z,{mode:"inline",selectedKeys:[F],defaultOpenKeys:[],inlineCollapsed:z,className:"custom-sidebar-menu",style:{borderRight:0,backgroundColor:"transparent",fontSize:"13px",paddingTop:"4px"},items:(()=>{let e=[];return E.forEach(t=>{if(t.roles&&!t.roles.includes(l))return;let s=O(t.items);0!==s.length&&e.push({type:"group",label:z?null:(0,a.jsx)("span",{style:{fontSize:"10px",fontWeight:600,color:"#6b7280",letterSpacing:"0.05em",padding:"12px 0 4px 12px",display:"block",marginBottom:"2px"},children:t.groupLabel}),children:s.map(e=>{var t;return{key:e.key,icon:e.icon,label:e.label,children:null===(t=e.children)||void 0===t?void 0:t.map(e=>({key:e.key,icon:e.icon,label:e.label,onClick:()=>D(e.page)})),onClick:e.children?void 0:()=>D(e.page)}})})}),e})()})}),(0,L.tY)(l)&&!z&&(0,a.jsx)(I.Z,{accessToken:t,width:220})]})})},D=e=>{let{setPage:t,defaultSelectedKey:s,sidebarCollapsed:l}=e,{accessToken:i,userRole:n}=(0,r.Z)();return(0,a.jsx)(z,{accessToken:i,setPage:t,userRole:n,defaultSelectedKey:s,collapsed:l})},E=s(31200),O=s(69039),F=s(48449),M=s(2265),R=s(16312),B=s(22116),q=s(19250),U=s(10032),V=s(42264),H=s(37592),K=s(44851),W=s(4260),Y=s(63709),G=s(5545),J=s(45246),$=s(96473);let X={basic:{key:"basic",title:"Basic Information",defaultExpanded:!0,fields:[{name:"name",label:"Display Name",type:"text",required:!0,placeholder:"e.g., Customer Support Agent"},{name:"description",label:"Description",type:"textarea",required:!0,placeholder:"Describe what this agent does...",rows:3},{name:"url",label:"URL",type:"url",required:!0,placeholder:"http://localhost:9999/",tooltip:"Base URL where the agent is hosted"},{name:"version",label:"Version",type:"text",placeholder:"1.0.0",defaultValue:"1.0.0"},{name:"protocolVersion",label:"Protocol Version",type:"text",placeholder:"1.0",defaultValue:"1.0"}]},skills:{key:"skills",title:"Skills",fields:[{name:"skills",label:"Skills",type:"list",defaultValue:[]}]},capabilities:{key:"capabilities",title:"Capabilities",fields:[{name:"streaming",label:"Streaming",type:"switch",defaultValue:!1},{name:"pushNotifications",label:"Push Notifications",type:"switch"},{name:"stateTransitionHistory",label:"State Transition History",type:"switch"}]},optional:{key:"optional",title:"Optional Settings",fields:[{name:"iconUrl",label:"Icon URL",type:"url",placeholder:"https://example.com/icon.png"},{name:"documentationUrl",label:"Documentation URL",type:"url",placeholder:"https://docs.example.com"},{name:"supportsAuthenticatedExtendedCard",label:"Supports Authenticated Extended Card",type:"switch"}]},litellm:{key:"litellm",title:"LiteLLM Parameters",fields:[{name:"model",label:"Model (Optional)",type:"text"},{name:"make_public",label:"Make Public",type:"switch"}]},cost:{key:"cost",title:"Cost Configuration",fields:[{name:"cost_per_query",label:"Cost Per Query ($)",type:"text",placeholder:"0.0",tooltip:"Fixed cost per query"},{name:"input_cost_per_token",label:"Input Cost Per Token ($)",type:"text",placeholder:"0.000001",tooltip:"Cost per input token"},{name:"output_cost_per_token",label:"Output Cost Per Token ($)",type:"text",placeholder:"0.000002",tooltip:"Cost per output token"}]}},Q=()=>{let e={defaultInputModes:["text"],defaultOutputModes:["text"]};return Object.values(X).forEach(t=>{t.fields.forEach(t=>{void 0!==t.defaultValue&&(e[t.name]=t.defaultValue)})}),e},ee=(e,t)=>{var s,a;let l={agent_name:e.agent_name,agent_card_params:{protocolVersion:e.protocolVersion||"1.0",name:e.name,description:e.description,url:e.url,version:e.version||"1.0.0",defaultInputModes:(null==t?void 0:null===(s=t.agent_card_params)||void 0===s?void 0:s.defaultInputModes)||["text"],defaultOutputModes:(null==t?void 0:null===(a=t.agent_card_params)||void 0===a?void 0:a.defaultOutputModes)||["text"],capabilities:{streaming:!0===e.streaming,...void 0!==e.pushNotifications&&{pushNotifications:e.pushNotifications},...void 0!==e.stateTransitionHistory&&{stateTransitionHistory:e.stateTransitionHistory}},skills:e.skills||[],...e.iconUrl&&{iconUrl:e.iconUrl},...e.documentationUrl&&{documentationUrl:e.documentationUrl},...void 0!==e.supportsAuthenticatedExtendedCard&&{supportsAuthenticatedExtendedCard:e.supportsAuthenticatedExtendedCard}}},r={};return e.model&&(r.model=e.model),void 0!==e.make_public&&(r.make_public=e.make_public),e.cost_per_query&&(r.cost_per_query=parseFloat(e.cost_per_query)),e.input_cost_per_token&&(r.input_cost_per_token=parseFloat(e.input_cost_per_token)),e.output_cost_per_token&&(r.output_cost_per_token=parseFloat(e.output_cost_per_token)),Object.keys(r).length>0&&(l.litellm_params=r),l},et=e=>{var t,s,a,l,r,i,n,o,d,c,m,u,x,h,p,g,j,f,y,v,b;let _=(null===(s=e.agent_card_params)||void 0===s?void 0:null===(t=s.skills)||void 0===t?void 0:t.map(e=>({...e,tags:e.tags,examples:e.examples||[]})))||[];return{agent_name:e.agent_name,name:null===(a=e.agent_card_params)||void 0===a?void 0:a.name,description:null===(l=e.agent_card_params)||void 0===l?void 0:l.description,url:null===(r=e.agent_card_params)||void 0===r?void 0:r.url,version:null===(i=e.agent_card_params)||void 0===i?void 0:i.version,protocolVersion:null===(n=e.agent_card_params)||void 0===n?void 0:n.protocolVersion,streaming:null===(d=e.agent_card_params)||void 0===d?void 0:null===(o=d.capabilities)||void 0===o?void 0:o.streaming,pushNotifications:null===(m=e.agent_card_params)||void 0===m?void 0:null===(c=m.capabilities)||void 0===c?void 0:c.pushNotifications,stateTransitionHistory:null===(x=e.agent_card_params)||void 0===x?void 0:null===(u=x.capabilities)||void 0===u?void 0:u.stateTransitionHistory,skills:_,iconUrl:null===(h=e.agent_card_params)||void 0===h?void 0:h.iconUrl,documentationUrl:null===(p=e.agent_card_params)||void 0===p?void 0:p.documentationUrl,supportsAuthenticatedExtendedCard:null===(g=e.agent_card_params)||void 0===g?void 0:g.supportsAuthenticatedExtendedCard,model:null===(j=e.litellm_params)||void 0===j?void 0:j.model,make_public:null===(f=e.litellm_params)||void 0===f?void 0:f.make_public,cost_per_query:null===(y=e.litellm_params)||void 0===y?void 0:y.cost_per_query,input_cost_per_token:null===(v=e.litellm_params)||void 0===v?void 0:v.input_cost_per_token,output_cost_per_token:null===(b=e.litellm_params)||void 0===b?void 0:b.output_cost_per_token}};var es=()=>(0,a.jsx)(a.Fragment,{children:X.cost.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,tooltip:e.tooltip,children:(0,a.jsx)(W.default,{placeholder:e.placeholder,type:"number",step:"0.000001"})},e.name))});let{Panel:ea}=K.default;var el=e=>{let{showAgentName:t=!0}=e;return(0,a.jsxs)(a.Fragment,{children:[t&&(0,a.jsx)(U.Z.Item,{label:"Agent Name",name:"agent_name",rules:[{required:!0,message:"Please enter a unique agent name"}],tooltip:"Unique identifier for the agent",children:(0,a.jsx)(W.default,{placeholder:"e.g., customer-support-agent"})}),(0,a.jsxs)(K.default,{defaultActiveKey:["basic"],style:{marginBottom:16},children:[(0,a.jsx)(ea,{header:"".concat(X.basic.title," (Required)"),children:X.basic.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,rules:e.required?[{required:!0,message:"Please enter ".concat(e.label.toLowerCase())}]:void 0,tooltip:e.tooltip,children:"textarea"===e.type?(0,a.jsx)(W.default.TextArea,{rows:e.rows,placeholder:e.placeholder}):(0,a.jsx)(W.default,{placeholder:e.placeholder})},e.name))},X.basic.key),(0,a.jsx)(ea,{header:"".concat(X.skills.title," (Required)"),children:(0,a.jsx)(U.Z.List,{name:"skills",children:(e,t)=>{let{add:s,remove:l}=t;return(0,a.jsxs)(a.Fragment,{children:[e.map(e=>(0,a.jsxs)("div",{style:{marginBottom:16,padding:16,border:"1px solid #d9d9d9",borderRadius:4},children:[(0,a.jsx)(U.Z.Item,{...e,label:"Skill ID",name:[e.name,"id"],rules:[{required:!0,message:"Required"}],children:(0,a.jsx)(W.default,{placeholder:"e.g., hello_world"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Skill Name",name:[e.name,"name"],rules:[{required:!0,message:"Required"}],children:(0,a.jsx)(W.default,{placeholder:"e.g., Returns hello world"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Description",name:[e.name,"description"],rules:[{required:!0,message:"Required"}],children:(0,a.jsx)(W.default.TextArea,{rows:2,placeholder:"What this skill does"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Tags (comma-separated)",name:[e.name,"tags"],rules:[{required:!0,message:"Required"}],getValueFromEvent:e=>e.target.value.split(",").map(e=>e.trim()),getValueProps:e=>({value:Array.isArray(e)?e.join(", "):e}),children:(0,a.jsx)(W.default,{placeholder:"e.g., hello world, greeting"})}),(0,a.jsx)(U.Z.Item,{...e,label:"Examples (comma-separated)",name:[e.name,"examples"],getValueFromEvent:e=>e.target.value.split(",").map(e=>e.trim()).filter(e=>e),getValueProps:e=>({value:Array.isArray(e)?e.join(", "):""}),children:(0,a.jsx)(W.default,{placeholder:"e.g., hi, hello world"})}),(0,a.jsx)(G.ZP,{type:"link",danger:!0,onClick:()=>l(e.name),icon:(0,a.jsx)(J.Z,{}),children:"Remove Skill"})]},e.key)),(0,a.jsx)(G.ZP,{type:"dashed",onClick:()=>s(),icon:(0,a.jsx)($.Z,{}),style:{width:"100%"},children:"Add Skill"})]})}})},X.skills.key),(0,a.jsx)(ea,{header:X.capabilities.title,children:X.capabilities.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,valuePropName:"checked",children:(0,a.jsx)(Y.Z,{})},e.name))},X.capabilities.key),(0,a.jsx)(ea,{header:X.optional.title,children:X.optional.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,valuePropName:"switch"===e.type?"checked":void 0,children:"switch"===e.type?(0,a.jsx)(Y.Z,{}):(0,a.jsx)(W.default,{placeholder:e.placeholder})},e.name))},X.optional.key),(0,a.jsx)(ea,{header:X.cost.title,children:(0,a.jsx)(es,{})},X.cost.key),(0,a.jsx)(ea,{header:X.litellm.title,children:X.litellm.fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.name,valuePropName:"switch"===e.type?"checked":void 0,children:"switch"===e.type?(0,a.jsx)(Y.Z,{}):(0,a.jsx)(W.default,{placeholder:e.placeholder})},e.name))},X.litellm.key)]})]})};let{Panel:er}=K.default,ei=(e,t)=>{let s={...t.litellm_params_template||{}};for(let a of t.credential_fields){let t=e[a.key];t&&!1!==a.include_in_litellm_params&&(s[a.key]=t)}if(e.cost_per_query&&(s.cost_per_query=parseFloat(e.cost_per_query)),e.input_cost_per_token&&(s.input_cost_per_token=parseFloat(e.input_cost_per_token)),e.output_cost_per_token&&(s.output_cost_per_token=parseFloat(e.output_cost_per_token)),t.model_template){let a=t.model_template;for(let s of t.credential_fields){let t="{".concat(s.key,"}");a.includes(t)&&e[s.key]&&(a=a.replace(t,e[s.key]))}s.model=a}return{agent_name:e.agent_name,agent_card_params:{protocolVersion:"1.0",name:e.display_name||e.agent_name,description:e.description||"".concat(t.agent_type_display_name," agent"),url:e.api_base||"",version:"1.0.0",defaultInputModes:["text"],defaultOutputModes:["text"],capabilities:{streaming:!0},skills:[{id:"chat",name:"Chat",description:"General chat capability",tags:["chat","conversation"]}]},litellm_params:s}};var en=e=>{let{agentTypeInfo:t}=e;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.Z.Item,{label:"Agent Name",name:"agent_name",rules:[{required:!0,message:"Please enter a unique agent name"}],tooltip:"Unique identifier for the agent",children:(0,a.jsx)(W.default,{placeholder:"e.g., my-langgraph-agent"})}),(0,a.jsx)(U.Z.Item,{label:"Description",name:"description",tooltip:"Brief description of what this agent does",children:(0,a.jsx)(W.default.TextArea,{rows:2,placeholder:"Describe what this agent does..."})}),t.credential_fields.map(e=>(0,a.jsx)(U.Z.Item,{label:e.label,name:e.key,rules:e.required?[{required:!0,message:"Please enter ".concat(e.label)}]:void 0,tooltip:e.tooltip,initialValue:e.default_value,children:"password"===e.field_type?(0,a.jsx)(W.default.Password,{placeholder:e.placeholder||""}):"textarea"===e.field_type?(0,a.jsx)(W.default.TextArea,{rows:3,placeholder:e.placeholder||""}):"select"===e.field_type&&e.options?(0,a.jsx)(H.default,{placeholder:e.placeholder||"",children:e.options.map(e=>(0,a.jsx)(H.default.Option,{value:e,children:e},e))}):(0,a.jsx)(W.default,{placeholder:e.placeholder||""})},e.key)),(0,a.jsx)(K.default,{style:{marginBottom:16},children:(0,a.jsx)(er,{header:X.cost.title,children:(0,a.jsx)(es,{})},X.cost.key)})]})},eo=e=>{var t;let{visible:s,onClose:l,accessToken:r,onSuccess:i}=e,[n]=U.Z.useForm(),[o,d]=(0,M.useState)(!1),[c,m]=(0,M.useState)("a2a"),[u,x]=(0,M.useState)([]),[h,p]=(0,M.useState)(!1);(0,M.useEffect)(()=>{(async()=>{p(!0);try{let e=await (0,q.getAgentCreateMetadata)();x(e)}catch(e){console.error("Error fetching agent metadata:",e)}finally{p(!1)}})()},[]);let g=u.find(e=>e.agent_type===c),j=async e=>{if(!r){V.ZP.error("No access token available");return}d(!0);try{let t;"a2a"===c?t=ee(e):g&&(t=ei(e,g)),await (0,q.createAgentCall)(r,t),V.ZP.success("Agent created successfully"),n.resetFields(),m("a2a"),i(),l()}catch(e){console.error("Error creating agent:",e),V.ZP.error("Failed to create agent")}finally{d(!1)}},f=()=>{n.resetFields(),m("a2a"),l()},y=(null==g?void 0:g.logo_url)||(null===(t=u.find(e=>"a2a"===e.agent_type))||void 0===t?void 0:t.logo_url);return(0,a.jsx)(B.Z,{title:(0,a.jsxs)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:[y&&(0,a.jsx)("img",{src:y,alt:"Agent",className:"w-6 h-6 object-contain"}),(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add New Agent"})]}),open:s,onCancel:f,footer:null,width:900,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsxs)(U.Z,{form:n,layout:"vertical",onFinish:j,initialValues:"a2a"===c?Q():{},className:"space-y-4",children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Agent Type"}),required:!0,tooltip:"Select the type of agent you want to create",children:(0,a.jsx)(H.default,{value:c,onChange:e=>{m(e),n.resetFields()},size:"large",style:{width:"100%"},optionLabelProp:"label",children:u.map(e=>(0,a.jsx)(H.default.Option,{value:e.agent_type,label:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("img",{src:e.logo_url||"",alt:"",className:"w-4 h-4 object-contain"}),(0,a.jsx)("span",{children:e.agent_type_display_name})]}),children:(0,a.jsxs)("div",{className:"flex items-center gap-3 py-1",children:[(0,a.jsx)("img",{src:e.logo_url||"",alt:e.agent_type_display_name,className:"w-5 h-5 object-contain"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-medium",children:e.agent_type_display_name}),e.description&&(0,a.jsx)("div",{className:"text-xs text-gray-500",children:e.description})]})]})},e.agent_type))})}),(0,a.jsx)("div",{className:"mt-6",children:"a2a"===c?(0,a.jsx)(el,{showAgentName:!0}):g?(0,a.jsx)(en,{agentTypeInfo:g}):null}),(0,a.jsxs)("div",{className:"flex items-center justify-end space-x-3 pt-6 border-t border-gray-100 mt-6",children:[(0,a.jsx)(R.z,{variant:"secondary",onClick:f,children:"Cancel"}),(0,a.jsx)(R.z,{variant:"primary",loading:o,children:o?"Creating...":"Create Agent"})]})]})})})},ed=s(12579),ec=s(74998),em=s(44633),eu=s(86462),ex=s(49084),eh=s(99981),ep=s(23639),eg=s(71594),ej=s(24525),ef=e=>{let{agentsList:t,isLoading:s,onDeleteClick:l,accessToken:r,onAgentUpdated:i,isAdmin:n,onAgentClick:o}=e,[d,c]=(0,M.useState)([{id:"created_at",desc:!0}]),m=e=>e?new Date(e).toLocaleString():"-",u=e=>{navigator.clipboard.writeText(e)},x=[{header:"Agent Name",accessorKey:"agent_name",cell:e=>{let{row:t}=e,s=t.original,l=s.agent_name||"";return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(eh.Z,{title:l,children:(0,a.jsx)(ed.zx,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate min-w-[200px] justify-start",onClick:()=>o(s.agent_id),children:l})}),(0,a.jsx)(eh.Z,{title:"Copy Agent ID",children:(0,a.jsx)(ep.Z,{onClick:e=>{e.stopPropagation(),u(s.agent_id)},className:"cursor-pointer text-gray-500 hover:text-blue-500 text-xs"})})]})}},{header:"Description",accessorKey:"agent_card_params.description",cell:e=>{var t;let{row:s}=e,l=(null===(t=s.original.agent_card_params)||void 0===t?void 0:t.description)||"No description";return(0,a.jsx)("span",{className:"text-xs text-gray-600 block max-w-[300px] truncate",children:l})}},{header:"Created At",accessorKey:"created_at",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)(eh.Z,{title:s.created_at,children:(0,a.jsx)("span",{className:"text-xs",children:m(s.created_at)})})}},...n?[{header:"Actions",id:"actions",enableSorting:!1,cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("div",{className:"flex items-center gap-1",children:(0,a.jsx)(eh.Z,{title:"Delete agent",children:(0,a.jsx)(ed.zx,{size:"xs",variant:"light",color:"red",onClick:e=>{e.stopPropagation(),l(s.agent_id,s.agent_name)},icon:ec.Z,className:"text-red-500 hover:text-red-700 hover:bg-red-50"})})})}}]:[]],h=(0,eg.b7)({data:t,columns:x,state:{sorting:d},onSortingChange:c,getCoreRowModel:(0,ej.sC)(),getSortedRowModel:(0,ej.tj)(),enableSorting:!0});return(0,a.jsx)("div",{className:"rounded-lg custom-border relative",children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)(ed.iA,{className:"[&_td]:py-0.5 [&_th]:py-1",children:[(0,a.jsx)(ed.ss,{children:h.getHeaderGroups().map(e=>(0,a.jsx)(ed.SC,{children:e.headers.map(e=>(0,a.jsx)(ed.xs,{className:"py-1 h-8",onClick:e.column.getToggleSortingHandler(),children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex items-center",children:e.isPlaceholder?null:(0,eg.ie)(e.column.columnDef.header,e.getContext())}),(0,a.jsx)("div",{className:"w-4",children:e.column.getIsSorted()?({asc:(0,a.jsx)(em.Z,{className:"h-4 w-4 text-blue-500"}),desc:(0,a.jsx)(eu.Z,{className:"h-4 w-4 text-blue-500"})})[e.column.getIsSorted()]:(0,a.jsx)(ex.Z,{className:"h-4 w-4 text-gray-400"})})]})},e.id))},e.id))}),(0,a.jsx)(ed.RM,{children:s?(0,a.jsx)(ed.SC,{children:(0,a.jsx)(ed.pj,{colSpan:x.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:"Loading..."})})})}):t&&t.length>0?h.getRowModel().rows.map(e=>(0,a.jsx)(ed.SC,{className:"h-8",children:e.getVisibleCells().map(e=>(0,a.jsx)(ed.pj,{className:"py-0.5 max-h-8 overflow-hidden text-ellipsis whitespace-nowrap",children:(0,eg.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,a.jsx)(ed.SC,{children:(0,a.jsx)(ed.pj,{colSpan:x.length,className:"h-8 text-center",children:(0,a.jsx)("div",{className:"text-center text-gray-500",children:(0,a.jsx)("p",{children:"No agents found. Create one to get started."})})})})})]})})})},ey=s(78489),ev=s(12514),eb=s(12485),e_=s(18135),eN=s(35242),eZ=s(29706),ew=s(77991),ek=s(84264),eS=s(96761),eC=s(10353),eT=s(76188),eA=s(10900),eL=s(21700),eI=e=>{let{agent:t}=e,s=t.litellm_params;return(null==s?void 0:s.cost_per_query)===void 0&&(null==s?void 0:s.input_cost_per_token)===void 0&&(null==s?void 0:s.output_cost_per_token)===void 0?null:(0,a.jsxs)("div",{style:{marginTop:24},children:[(0,a.jsx)(eL.D,{children:"Cost Configuration"}),(0,a.jsxs)(eT.Z,{bordered:!0,column:1,style:{marginTop:16},children:[void 0!==s.cost_per_query&&(0,a.jsxs)(eT.Z.Item,{label:"Cost Per Query",children:["$",s.cost_per_query]}),void 0!==s.input_cost_per_token&&(0,a.jsxs)(eT.Z.Item,{label:"Input Cost Per Token",children:["$",s.input_cost_per_token]}),void 0!==s.output_cost_per_token&&(0,a.jsxs)(eT.Z.Item,{label:"Output Cost Per Token",children:["$",s.output_cost_per_token]})]})]})};let eP=e=>{var t,s;let a=(null===(t=e.litellm_params)||void 0===t?void 0:t.model)||"",l=null===(s=e.litellm_params)||void 0===s?void 0:s.custom_llm_provider;return"langgraph"===l?"langgraph":"azure_ai"===l?"azure_ai_foundry":"bedrock"===l?"bedrock_agentcore":a.startsWith("langgraph/")?"langgraph":a.startsWith("azure_ai/agents/")?"azure_ai_foundry":a.startsWith("bedrock/agentcore/")?"bedrock_agentcore":"a2a"},ez=(e,t)=>{var s,a,l,r,i,n;let o={agent_name:e.agent_name,description:(null===(s=e.agent_card_params)||void 0===s?void 0:s.description)||""};for(let s of t.credential_fields)if(!1!==s.include_in_litellm_params)o[s.key]=(null===(i=e.litellm_params)||void 0===i?void 0:i[s.key])||s.default_value||"";else if(t.model_template&&(null===(n=e.litellm_params)||void 0===n?void 0:n.model)){let a=e.litellm_params.model,l=t.model_template.split("/"),r=a.split("/");l.forEach((e,t)=>{e==="{".concat(s.key,"}")&&r[t]&&(o[s.key]=r[t])})}return o.cost_per_query=null===(a=e.litellm_params)||void 0===a?void 0:a.cost_per_query,o.input_cost_per_token=null===(l=e.litellm_params)||void 0===l?void 0:l.input_cost_per_token,o.output_cost_per_token=null===(r=e.litellm_params)||void 0===r?void 0:r.output_cost_per_token,o};var eD=e=>{var t,s,l,r,i,n,o,d,c,m,u,x,h,p,g,j,f,y;let{agentId:v,onClose:b,accessToken:_,isAdmin:N}=e,[Z,w]=(0,M.useState)(null),[k,S]=(0,M.useState)(!0),[C,T]=(0,M.useState)(!1),[A,L]=(0,M.useState)(!1),[I]=U.Z.useForm(),[P,z]=(0,M.useState)([]),[D,E]=(0,M.useState)("a2a");(0,M.useEffect)(()=>{(async()=>{try{let e=await (0,q.getAgentCreateMetadata)();z(e)}catch(e){console.error("Error fetching agent metadata:",e)}})()},[]),(0,M.useEffect)(()=>{O()},[v,_]);let O=async()=>{if(_){S(!0);try{let e=await (0,q.getAgentInfo)(_,v);w(e);let t=eP(e);if(E(t),"a2a"===t)I.setFieldsValue(et(e));else{let s=P.find(e=>e.agent_type===t);s?I.setFieldsValue(ez(e,s)):I.setFieldsValue(et(e))}}catch(e){console.error("Error fetching agent info:",e),V.ZP.error("Failed to load agent information")}finally{S(!1)}}};(0,M.useEffect)(()=>{if(Z&&P.length>0){let e=eP(Z);if("a2a"!==e){let t=P.find(t=>t.agent_type===e);t&&I.setFieldsValue(ez(Z,t))}}},[P,Z]);let F=P.find(e=>e.agent_type===D),R=async e=>{if(_&&Z){L(!0);try{let t;"a2a"===D?t=ee(e,Z):F?(t=ei(e,F)).agent_name=e.agent_name:t=ee(e,Z),await (0,q.patchAgentCall)(_,v,t),V.ZP.success("Agent updated successfully"),T(!1),O()}catch(e){console.error("Error updating agent:",e),V.ZP.error("Failed to update agent")}finally{L(!1)}}};if(k)return(0,a.jsx)("div",{className:"p-4",children:(0,a.jsx)("div",{className:"flex justify-center items-center h-64",children:(0,a.jsx)(eC.Z,{size:"large"})})});if(!Z)return(0,a.jsxs)("div",{className:"p-4",children:[(0,a.jsx)("div",{className:"text-center",children:"Agent not found"}),(0,a.jsx)(ey.Z,{onClick:b,className:"mt-4",children:"Back to Agents List"})]});let B=e=>e?new Date(e).toLocaleString():"-";return(0,a.jsxs)("div",{className:"p-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(ey.Z,{icon:eA.Z,variant:"light",onClick:b,className:"mb-4",children:"Back to Agents"}),(0,a.jsx)(eS.Z,{children:Z.agent_name||"Unnamed Agent"}),(0,a.jsx)(ek.Z,{className:"text-gray-500 font-mono",children:Z.agent_id})]}),(0,a.jsxs)(e_.Z,{children:[(0,a.jsxs)(eN.Z,{className:"mb-4",children:[(0,a.jsx)(eb.Z,{children:"Overview"},"overview"),N?(0,a.jsx)(eb.Z,{children:"Settings"},"settings"):(0,a.jsx)(a.Fragment,{})]}),(0,a.jsxs)(ew.Z,{children:[(0,a.jsxs)(eZ.Z,{children:[(0,a.jsxs)(eT.Z,{bordered:!0,column:1,children:[(0,a.jsx)(eT.Z.Item,{label:"Agent ID",children:Z.agent_id}),(0,a.jsx)(eT.Z.Item,{label:"Agent Name",children:Z.agent_name}),(0,a.jsx)(eT.Z.Item,{label:"Display Name",children:(null===(t=Z.agent_card_params)||void 0===t?void 0:t.name)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Description",children:(null===(s=Z.agent_card_params)||void 0===s?void 0:s.description)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"URL",children:(null===(l=Z.agent_card_params)||void 0===l?void 0:l.url)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Version",children:(null===(r=Z.agent_card_params)||void 0===r?void 0:r.version)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Protocol Version",children:(null===(i=Z.agent_card_params)||void 0===i?void 0:i.protocolVersion)||"-"}),(0,a.jsx)(eT.Z.Item,{label:"Streaming",children:(null===(o=Z.agent_card_params)||void 0===o?void 0:null===(n=o.capabilities)||void 0===n?void 0:n.streaming)?"Yes":"No"}),(null===(c=Z.agent_card_params)||void 0===c?void 0:null===(d=c.capabilities)||void 0===d?void 0:d.pushNotifications)&&(0,a.jsx)(eT.Z.Item,{label:"Push Notifications",children:"Yes"}),(null===(u=Z.agent_card_params)||void 0===u?void 0:null===(m=u.capabilities)||void 0===m?void 0:m.stateTransitionHistory)&&(0,a.jsx)(eT.Z.Item,{label:"State Transition History",children:"Yes"}),(0,a.jsxs)(eT.Z.Item,{label:"Skills",children:[(null===(h=Z.agent_card_params)||void 0===h?void 0:null===(x=h.skills)||void 0===x?void 0:x.length)||0," configured"]}),(null===(p=Z.litellm_params)||void 0===p?void 0:p.model)&&(0,a.jsx)(eT.Z.Item,{label:"Model",children:Z.litellm_params.model}),(null===(g=Z.litellm_params)||void 0===g?void 0:g.make_public)!==void 0&&(0,a.jsx)(eT.Z.Item,{label:"Make Public",children:Z.litellm_params.make_public?"Yes":"No"}),(null===(j=Z.agent_card_params)||void 0===j?void 0:j.iconUrl)&&(0,a.jsx)(eT.Z.Item,{label:"Icon URL",children:Z.agent_card_params.iconUrl}),(null===(f=Z.agent_card_params)||void 0===f?void 0:f.documentationUrl)&&(0,a.jsx)(eT.Z.Item,{label:"Documentation URL",children:Z.agent_card_params.documentationUrl}),(0,a.jsx)(eT.Z.Item,{label:"Created At",children:B(Z.created_at)}),(0,a.jsx)(eT.Z.Item,{label:"Updated At",children:B(Z.updated_at)})]}),(0,a.jsx)(eI,{agent:Z}),(null===(y=Z.agent_card_params)||void 0===y?void 0:y.skills)&&Z.agent_card_params.skills.length>0&&(0,a.jsxs)("div",{style:{marginTop:24},children:[(0,a.jsx)(eS.Z,{children:"Skills"}),(0,a.jsx)(eT.Z,{bordered:!0,column:1,style:{marginTop:16},children:Z.agent_card_params.skills.map((e,t)=>(0,a.jsx)(eT.Z.Item,{label:e.name||"Skill ".concat(t+1),children:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"ID:"})," ",e.id]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Description:"})," ",e.description]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Tags:"})," ",Array.isArray(e.tags)?e.tags.join(", "):e.tags]}),e.examples&&e.examples.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Examples:"})," ",Array.isArray(e.examples)?e.examples.join(", "):e.examples]})]})},t))})]})]}),N&&(0,a.jsx)(eZ.Z,{children:(0,a.jsxs)(ev.Z,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(eS.Z,{children:"Agent Settings"}),!C&&(0,a.jsx)(ey.Z,{onClick:()=>T(!0),children:"Edit Settings"})]}),C?(0,a.jsxs)(U.Z,{form:I,layout:"vertical",onFinish:R,children:[(0,a.jsx)(U.Z.Item,{label:"Agent ID",children:(0,a.jsx)(W.default,{value:Z.agent_id,disabled:!0})}),"a2a"===D?(0,a.jsx)(el,{showAgentName:!0}):F?(0,a.jsx)(en,{agentTypeInfo:F}):(0,a.jsx)(el,{showAgentName:!0}),(0,a.jsxs)("div",{className:"flex justify-end gap-2 mt-6",children:[(0,a.jsx)(G.ZP,{onClick:()=>{T(!1),O()},children:"Cancel"}),(0,a.jsx)(ey.Z,{loading:A,children:"Save Changes"})]})]}):(0,a.jsx)(ek.Z,{children:'Click "Edit Settings" to modify agent configuration.'})]})})]})]})]})},eE=s(9114),eO=e=>{let{accessToken:t,userRole:s}=e,[l,r]=(0,M.useState)([]),[i,n]=(0,M.useState)(!1),[o,d]=(0,M.useState)(!1),[c,m]=(0,M.useState)(!1),[u,x]=(0,M.useState)(null),[h,p]=(0,M.useState)(null),g=!!s&&(0,L.tY)(s),j=async()=>{if(t){d(!0);try{let e=await (0,q.getAgentsList)(t);console.log("agents: ".concat(JSON.stringify(e))),r(e.agents)}catch(e){console.error("Error fetching agents:",e)}finally{d(!1)}}};(0,M.useEffect)(()=>{j()},[t]);let f=async()=>{if(u&&t){m(!0);try{await (0,q.deleteAgentCall)(t,u.id),eE.Z.success('Agent "'.concat(u.name,'" deleted successfully')),j()}catch(e){console.error("Error deleting agent:",e),eE.Z.fromBackend("Failed to delete agent")}finally{m(!1),x(null)}}};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2 mb-4",children:[(0,a.jsx)("h1",{className:"text-2xl font-bold",children:"Agents"}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:"List of A2A-spec agents that are available to be used in your organization. Go to AI Hub, to make agents public."}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(R.z,{onClick:()=>{h&&p(null),n(!0)},disabled:!t,children:"+ Add New Agent"})})]}),h?(0,a.jsx)(eD,{agentId:h,onClose:()=>p(null),accessToken:t,isAdmin:g}):(0,a.jsx)(ef,{agentsList:l,isLoading:o,onDeleteClick:(e,t)=>{x({id:e,name:t})},accessToken:t,onAgentUpdated:j,isAdmin:g,onAgentClick:e=>p(e)}),(0,a.jsx)(eo,{visible:i,onClose:()=>{n(!1)},accessToken:t,onSuccess:()=>{j()}}),u&&(0,a.jsxs)(B.Z,{title:"Delete Agent",open:null!==u,onOk:f,onCancel:()=>{x(null)},confirmLoading:c,okText:"Delete",okButtonProps:{danger:!0},children:[(0,a.jsxs)("p",{children:["Are you sure you want to delete agent: ",u.name,"?"]}),(0,a.jsx)("p",{children:"This action cannot be undone."})]})]})},eF=s(49104),eM=s(66600),eR=s(39210),eB=s(94987),eq=s(71668),eU=s(42673);let eV=e=>{let t=Object.keys(eU.fK).find(t=>eU.fK[t]===e);if(t){let e=eU.Cl[t],s=eU.cd[e];return{displayName:e,logo:s,enumKey:t}}return{displayName:e,logo:"",enumKey:null}},eH=e=>eU.fK[e]||null,eK=(e,t)=>{let s=e.target,a=s.parentElement;if(a){let e=document.createElement("div");e.className="w-5 h-5 rounded-full bg-gray-200 flex items-center justify-center text-xs",e.textContent=t.charAt(0),a.replaceChild(e,s)}};var eW=s(47323),eY=s(49566),eG=s(82422),eJ=s(3837),e$=s(53410),eX=s(21626),eQ=s(97214),e0=s(28241),e1=s(58834),e2=s(69552),e4=s(71876);function e5(e){let{data:t,columns:s,isLoading:l=!1,loadingMessage:r="Loading...",emptyMessage:i="No data",getRowKey:n}=e;return(0,a.jsxs)(eX.Z,{children:[(0,a.jsx)(e1.Z,{children:(0,a.jsx)(e4.Z,{children:s.map((e,t)=>(0,a.jsx)(e2.Z,{style:{width:e.width},children:e.header},t))})}),(0,a.jsx)(eQ.Z,{children:l?(0,a.jsx)(e4.Z,{children:(0,a.jsx)(e0.Z,{colSpan:s.length,className:"text-center",children:(0,a.jsx)(ek.Z,{className:"text-gray-500",children:r})})}):t.length>0?t.map((e,t)=>(0,a.jsx)(e4.Z,{children:s.map((t,s)=>{var l;return(0,a.jsx)(e0.Z,{children:t.cell?t.cell(e):String(null!==(l=e[t.accessor])&&void 0!==l?l:"")},s)})},n?n(e,t):t)):(0,a.jsx)(e4.Z,{children:(0,a.jsx)(e0.Z,{colSpan:s.length,className:"text-center",children:(0,a.jsx)(ek.Z,{className:"text-gray-500",children:i})})})})]})}var e6=e=>{let{discountConfig:t,onDiscountChange:s,onRemoveProvider:l}=e,[r,i]=(0,M.useState)(null),[n,o]=(0,M.useState)(""),d=(e,t)=>{i(e),o((100*t).toString())},c=e=>{let t=parseFloat(n);!isNaN(t)&&t>=0&&t<=100&&s(e,(t/100).toString()),i(null),o("")},m=()=>{i(null),o("")},u=(e,t)=>{"Enter"===e.key?c(t):"Escape"===e.key&&m()},x=Object.entries(t).map(e=>{let[t,s]=e;return{provider:t,discount:s}}).sort((e,t)=>{let s=eV(e.provider).displayName,a=eV(t.provider).displayName;return s.localeCompare(a)});return(0,a.jsx)(e5,{data:x,columns:[{header:"Provider",cell:e=>{let{displayName:t,logo:s}=eV(e.provider);return(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[s&&(0,a.jsx)("img",{src:s,alt:"".concat(t," logo"),className:"w-5 h-5",onError:e=>eK(e,t)}),(0,a.jsx)("span",{className:"font-medium",children:t})]})}},{header:"Discount Percentage",cell:e=>(0,a.jsx)("div",{className:"flex items-center gap-2",children:r===e.provider?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eY.Z,{value:n,onValueChange:o,onKeyDown:t=>u(t,e.provider),placeholder:"5",className:"w-20",autoFocus:!0}),(0,a.jsx)("span",{className:"text-gray-600",children:"%"}),(0,a.jsx)(eW.Z,{icon:eG.Z,size:"sm",onClick:()=>c(e.provider),className:"cursor-pointer text-green-600 hover:text-green-700"}),(0,a.jsx)(eW.Z,{icon:eJ.Z,size:"sm",onClick:m,className:"cursor-pointer text-gray-600 hover:text-gray-700"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(ek.Z,{className:"font-medium",children:[(100*e.discount).toFixed(1),"%"]}),(0,a.jsx)(eW.Z,{icon:e$.Z,size:"sm",onClick:()=>d(e.provider,e.discount),className:"cursor-pointer text-blue-600 hover:text-blue-700"})]})}),width:"250px"},{header:"Actions",cell:e=>{let{displayName:t}=eV(e.provider);return(0,a.jsx)(eW.Z,{icon:ec.Z,size:"sm",onClick:()=>l(e.provider,t),className:"cursor-pointer hover:text-red-600"})},width:"80px"}],getRowKey:e=>e.provider,emptyMessage:"No provider discounts configured"})},e3=s(64504),e8=s(15424),e9=s(33145),e7=e=>{let{discountConfig:t,selectedProvider:s,newDiscount:l,onProviderChange:r,onDiscountChange:i,onAddProvider:n}=e;return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Provider",(0,a.jsx)(eh.Z,{title:"Select the LLM provider you want to configure a discount for",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),rules:[{required:!0,message:"Please select a provider"}],children:(0,a.jsx)(H.default,{showSearch:!0,placeholder:"Select provider",value:s,onChange:r,style:{width:"100%"},size:"large",optionFilterProp:"children",filterOption:(e,t)=>{var s;return String(null!==(s=null==t?void 0:t.label)&&void 0!==s?s:"").toLowerCase().includes(e.toLowerCase())},children:Object.entries(eU.Cl).map(e=>{let[s,l]=e,r=eU.fK[s];return r&&t[r]?null:(0,a.jsx)(H.default.Option,{value:s,label:l,children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(e9.default,{src:eU.cd[l],alt:"".concat(s," logo"),width:20,height:20,className:"w-5 h-5",onError:e=>eK(e,l)}),(0,a.jsx)("span",{children:l})]})},s)})})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Discount Percentage",(0,a.jsx)(eh.Z,{title:"Enter a percentage value (e.g., 5 for 5% discount)",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),rules:[{required:!0,message:"Please enter a discount percentage"}],children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(e3.o,{placeholder:"5",value:l,onValueChange:i,className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500 flex-1"}),(0,a.jsx)("span",{className:"text-gray-600",children:"%"})]})}),(0,a.jsx)("div",{className:"flex items-center justify-end space-x-3 pt-6 border-t border-gray-100",children:(0,a.jsx)(e3.z,{variant:"primary",onClick:n,disabled:!s||!l,children:"Add Provider Discount"})})]})},te=s(29271),tt=s(40875),ts=s(96362);let ta=e=>{let{items:t,children:s="Docs",className:l=""}=e,[r,i]=(0,M.useState)(!1),n=(0,M.useRef)(null);return(0,M.useEffect)(()=>{let e=e=>{n.current&&!n.current.contains(e.target)&&i(!1)};return r&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[r]),(0,a.jsxs)("div",{className:"relative inline-block ".concat(l),ref:n,children:[(0,a.jsxs)("button",{type:"button",onClick:()=>i(!r),className:"inline-flex items-center gap-1 text-gray-500 hover:text-gray-700 text-xs transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded px-2 py-1","aria-expanded":r,"aria-haspopup":"true",children:[(0,a.jsx)("span",{children:s}),(0,a.jsx)(tt.Z,{className:"h-3 w-3 transition-transform ".concat(r?"rotate-180":""),"aria-hidden":"true"})]}),r&&(0,a.jsx)("div",{className:"absolute right-0 mt-1 w-56 bg-white rounded-lg shadow-lg border border-gray-200 py-1 z-50",children:t.map((e,t)=>(0,a.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-between px-4 py-2 text-sm text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>i(!1),children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)(ts.Z,{className:"h-3.5 w-3.5 text-gray-400 flex-shrink-0 ml-2","aria-hidden":"true"})]},t))})]})};var tl=s(56522),tr=s(25653),ti=()=>{let[e,t]=(0,M.useState)(""),[s,l]=(0,M.useState)(""),r=(0,M.useMemo)(()=>{let t=parseFloat(e),a=parseFloat(s);if(isNaN(t)||isNaN(a)||0===t||0===a)return null;let l=t+a;return{originalCost:l.toFixed(10),finalCost:t.toFixed(10),discountAmount:a.toFixed(10),discountPercentage:(a/l*100).toFixed(2)}},[e,s]);return(0,a.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-1",children:"Cost Calculation"}),(0,a.jsxs)(tl.x,{className:"text-xs text-gray-600",children:["Discounts are applied to provider costs: ",(0,a.jsx)("code",{className:"bg-gray-100 px-1.5 py-0.5 rounded text-xs",children:"final_cost = base_cost \xd7 (1 - discount%/100)"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-1",children:"Example"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"A 5% discount on a $10.00 request results in: $10.00 \xd7 (1 - 0.05) = $9.50"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-1",children:"Valid Range"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Discount percentages must be between 0% and 100%"})]}),(0,a.jsxs)("div",{className:"pt-4 border-t border-gray-200",children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-2",children:"Validating Discounts"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600 mb-3",children:"Make a test request and check the response headers to verify discounts are applied:"}),(0,a.jsx)(tr.Z,{language:"bash",code:'curl -X POST -i http://your-proxy:4000/chat/completions \\\n -H "Content-Type: application/json" \\\n -H "Authorization: Bearer sk-1234" \\\n -d \'{\n "model": "gemini/gemini-2.5-pro",\n "messages": [{"role": "user", "content": "Hello"}]\n }\''}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600 mt-3 mb-2",children:"Look for these headers in the response:"}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded text-xs font-mono text-gray-800 whitespace-nowrap",children:"x-litellm-response-cost"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Final cost after discount"})]}),(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded text-xs font-mono text-gray-800 whitespace-nowrap",children:"x-litellm-response-cost-original"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Original cost before discount"})]}),(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded text-xs font-mono text-gray-800 whitespace-nowrap",children:"x-litellm-response-cost-discount-amount"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600",children:"Amount discounted"})]})]})]}),(0,a.jsxs)("div",{className:"pt-4 border-t border-gray-200",children:[(0,a.jsx)(tl.x,{className:"font-medium text-gray-900 text-sm mb-3",children:"Discount Calculator"}),(0,a.jsx)(tl.x,{className:"text-xs text-gray-600 mb-3",children:"Enter values from your response headers to verify the discount:"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-gray-700 mb-1",children:"Response Cost (x-litellm-response-cost)"}),(0,a.jsx)(tl.o,{placeholder:"0.0171938125",value:e,onValueChange:t,className:"text-sm"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-gray-700 mb-1",children:"Discount Amount (x-litellm-response-cost-discount-amount)"}),(0,a.jsx)(tl.o,{placeholder:"0.0009049375",value:s,onValueChange:l,className:"text-sm"})]})]}),r&&(0,a.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4",children:[(0,a.jsx)(tl.x,{className:"text-sm font-medium text-blue-900 mb-2",children:"Calculated Results"}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(tl.x,{className:"text-xs text-blue-800",children:"Original Cost:"}),(0,a.jsxs)("code",{className:"text-xs font-mono text-blue-900",children:["$",r.originalCost]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(tl.x,{className:"text-xs text-blue-800",children:"Final Cost:"}),(0,a.jsxs)("code",{className:"text-xs font-mono text-blue-900",children:["$",r.finalCost]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(tl.x,{className:"text-xs text-blue-800",children:"Discount Amount:"}),(0,a.jsxs)("code",{className:"text-xs font-mono text-blue-900",children:["$",r.discountAmount]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-blue-300",children:[(0,a.jsx)(tl.x,{className:"text-xs font-semibold text-blue-900",children:"Discount Applied:"}),(0,a.jsxs)(tl.x,{className:"text-sm font-bold text-blue-900",children:[r.discountPercentage,"%"]})]})]})]})]})]})};let tn=[{label:"Custom pricing for models",href:"https://docs.litellm.ai/docs/proxy/custom_pricing"},{label:"Spend tracking",href:"https://docs.litellm.ai/docs/proxy/cost_tracking"}];var to=e=>{let{userID:t,userRole:s,accessToken:l}=e,[r,i]=(0,M.useState)({}),[n,o]=(0,M.useState)(void 0),[d,c]=(0,M.useState)(""),[m,u]=(0,M.useState)(!0),[x,h]=(0,M.useState)(!1),[p]=U.Z.useForm(),[g,j]=B.Z.useModal(),f=(0,M.useCallback)(async()=>{u(!0);try{let e=(0,q.getProxyBaseUrl)(),t=await fetch(e?"".concat(e,"/config/cost_discount_config"):"/config/cost_discount_config",{method:"GET",headers:{Authorization:"Bearer ".concat(l),"Content-Type":"application/json"}});if(t.ok){let e=await t.json();i(e.values||{})}else console.error("Failed to fetch discount config")}catch(e){console.error("Error fetching discount config:",e),eE.Z.fromBackend("Failed to fetch discount configuration")}finally{u(!1)}},[l]);(0,M.useEffect)(()=>{l&&f()},[l,f]);let y=async e=>{try{let s=(0,q.getProxyBaseUrl)(),a=await fetch(s?"".concat(s,"/config/cost_discount_config"):"/config/cost_discount_config",{method:"PATCH",headers:{Authorization:"Bearer ".concat(l),"Content-Type":"application/json"},body:JSON.stringify(e)});if(a.ok)eE.Z.success("Discount configuration updated successfully"),await f();else{var t;let e=await a.json(),s=(null===(t=e.detail)||void 0===t?void 0:t.error)||e.detail||"Failed to update settings";eE.Z.fromBackend(s)}}catch(e){console.error("Error updating discount config:",e),eE.Z.fromBackend("Failed to update discount configuration")}},v=async()=>{if(!n||!d){eE.Z.fromBackend("Please select a provider and enter discount percentage");return}let e=parseFloat(d);if(isNaN(e)||e<0||e>100){eE.Z.fromBackend("Discount must be between 0% and 100%");return}let t=eH(n);if(!t){eE.Z.fromBackend("Invalid provider selected");return}if(r[t]){eE.Z.fromBackend("Discount for ".concat(eU.Cl[n]," already exists. Edit it in the table above."));return}let s={...r,[t]:e/100};i(s),await y(s),o(void 0),c(""),h(!1)},b=async(e,t)=>{g.confirm({title:"Remove Provider Discount",icon:(0,a.jsx)(te.Z,{}),content:"Are you sure you want to remove the discount for ".concat(t,"?"),okText:"Remove",okType:"danger",cancelText:"Cancel",onOk:async()=>{let t={...r};delete t[e],i(t),await y(t)}})},_=async(e,t)=>{let s=parseFloat(t);if(!isNaN(s)&&s>=0&&s<=1){let t={...r,[e]:s};i(t),await y(t)}};return l?(0,a.jsxs)("div",{className:"w-full p-8",children:[j,(0,a.jsxs)("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(eq.Dx,{children:"Cost Tracking Settings"}),(0,a.jsx)(ta,{items:tn})]}),(0,a.jsx)(eq.xv,{className:"text-gray-500 mt-1",children:"Configure cost discounts for different LLM providers. Changes are saved automatically."})]}),(0,a.jsx)(eq.zx,{onClick:()=>h(!0),className:"mt-4 md:mt-0",children:"+ Add Provider Discount"})]}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow w-full max-w-full",children:(0,a.jsxs)(eq.v0,{children:[(0,a.jsxs)(eq.td,{className:"px-6 pt-4",children:[(0,a.jsx)(eq.OK,{children:"Provider Discounts"}),(0,a.jsx)(eq.OK,{children:"Test It"})]}),(0,a.jsxs)(eq.nP,{children:[(0,a.jsx)(eq.x4,{children:m?(0,a.jsx)("div",{className:"py-12 text-center",children:(0,a.jsx)(eq.xv,{className:"text-gray-500",children:"Loading configuration..."})}):Object.keys(r).length>0?(0,a.jsx)("div",{className:"p-6",children:(0,a.jsx)(e6,{discountConfig:r,onDiscountChange:_,onRemoveProvider:b})}):(0,a.jsxs)("div",{className:"py-16 px-6 text-center",children:[(0,a.jsx)("svg",{className:"mx-auto h-12 w-12 text-gray-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,a.jsx)(eq.xv,{className:"text-gray-700 font-medium mb-2",children:"No provider discounts configured"}),(0,a.jsx)(eq.xv,{className:"text-gray-500 text-sm",children:'Click "Add Provider Discount" to get started'})]})}),(0,a.jsx)(eq.x4,{children:(0,a.jsx)("div",{className:"px-6 pb-4",children:(0,a.jsx)(ti,{})})})]})]})}),(0,a.jsx)(B.Z,{title:(0,a.jsx)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add Provider Discount"})}),open:x,width:1e3,onCancel:()=>{h(!1),p.resetFields(),o(void 0),c("")},footer:null,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:(0,a.jsxs)("div",{className:"mt-6",children:[(0,a.jsx)(eq.xv,{className:"text-sm text-gray-600 mb-6",children:"Select a provider and set its discount percentage. Enter a value between 0% and 100% (e.g., 5 for a 5% discount)."}),(0,a.jsx)(U.Z,{form:p,onFinish:e=>{v()},layout:"vertical",className:"space-y-6",children:(0,a.jsx)(e7,{discountConfig:r,selectedProvider:n,newDiscount:d,onProviderChange:o,onDiscountChange:c,onAddProvider:v})})]})})]}):null},td=s(27975),tc=s(60170),tm=s(87641),tu=s(92249),tx=s(67325),th=s(68478),tp=s(918),tg=s(33293),tj=s(88904),tf=s(23628),ty=s(47686),tv=s(87452),tb=s(88829),t_=s(72208),tN=s(41649),tZ=s(49804),tw=s(67101),tk=s(27281),tS=s(57365),tC=s(57840),tT=s(59872),tA=s(82586),tL=s(72885),tI=s(2597),tP=s(46468),tz=s(95920),tD=s(68473),tE=s(24199),tO=s(97415),tF=s(21609),tM=s(39957);let tR=(e,t)=>{let s=[];return e&&e.models.length>0?(console.log("organization.models: ".concat(e.models)),s=e.models):s=t,(0,tP.Ob)(s,t)},tB=(e,t,s)=>"Admin"===e||!!s&&!!t&&s.some(e=>{var s;return null===(s=e.members)||void 0===s?void 0:s.some(e=>e.user_id===t&&"org_admin"===e.user_role)}),tq=(e,t,s)=>"Admin"===e?s||[]:s&&t?s.filter(e=>{var s;return null===(s=e.members)||void 0===s?void 0:s.some(e=>e.user_id===t&&"org_admin"===e.user_role)}):[];var tU=e=>{var t,s,l,r;let{teams:i,searchParams:n,accessToken:o,setTeams:d,userID:c,userRole:m,organizations:u,premiumUser:x=!1}=e;console.log("organizations: ".concat(JSON.stringify(u)));let[h,p]=(0,M.useState)(""),[g,j]=(0,M.useState)(null),[f,y]=(0,M.useState)(null),[v,b]=(0,M.useState)(!1),[_,N]=(0,M.useState)({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"});(0,M.useEffect)(()=>{console.log("inside useeffect - ".concat(h)),o&&(0,eR.Z)(o,c,m,g,d),eF()},[h]);let[Z]=U.Z.useForm(),[w]=U.Z.useForm(),{Title:k,Paragraph:S}=tC.default,[C,T]=(0,M.useState)(""),[A,I]=(0,M.useState)(!1),[P,z]=(0,M.useState)(null),[D,E]=(0,M.useState)(null),[O,F]=(0,M.useState)(!1),[R,V]=(0,M.useState)(!1),[K,J]=(0,M.useState)(!1),[$,X]=(0,M.useState)(!1),[Q,ee]=(0,M.useState)([]),[et,es]=(0,M.useState)(!1),[ea,el]=(0,M.useState)(null),[er,ei]=(0,M.useState)([]),[en,eo]=(0,M.useState)({}),[ed,ec]=(0,M.useState)(!1),[em,ex]=(0,M.useState)([]),[ep,eg]=(0,M.useState)({}),[ej,ef]=(0,M.useState)([]),[eS,eC]=(0,M.useState)([]),[eT,eA]=(0,M.useState)(!1),[eL,eI]=(0,M.useState)({});(0,M.useEffect)(()=>{console.log("currentOrgForCreateTeam: ".concat(f));let e=tR(f,Q);console.log("models: ".concat(e)),ei(e),Z.setFieldValue("models",[])},[f,Q]),(0,M.useEffect)(()=>{if(R){let e=tq(m,c,u);if(1===e.length){let t=e[0];Z.setFieldValue("organization_id",t.organization_id),y(t)}else Z.setFieldValue("organization_id",(null==g?void 0:g.organization_id)||null),y(g)}},[R,m,c,u,g]),(0,M.useEffect)(()=>{(async()=>{try{if(null==o)return;let e=(await (0,q.getGuardrailsList)(o)).guardrails.map(e=>e.guardrail_name);ex(e)}catch(e){console.error("Failed to fetch guardrails:",e)}})()},[o]);let eP=async()=>{try{if(null==o)return;let e=await (0,q.fetchMCPAccessGroups)(o);eC(e)}catch(e){console.error("Failed to fetch MCP access groups:",e)}};(0,M.useEffect)(()=>{eP()},[o]),(0,M.useEffect)(()=>{i&&eo(i.reduce((e,t)=>(e[t.team_id]={keys:t.keys||[],team_info:{members_with_roles:t.members_with_roles||[]}},e),{}))},[i]);let ez=async e=>{el(e),es(!0)},eD=async()=>{if(null!=ea&&null!=i&&null!=o)try{ec(!0),await (0,q.teamDeleteCall)(o,ea.team_id),await (0,eR.Z)(o,c,m,g,d),eE.Z.success("Team deleted successfully")}catch(e){eE.Z.fromBackend("Error deleting the team: "+e)}finally{ec(!1),es(!1),el(null)}};(0,M.useEffect)(()=>{(async()=>{try{if(null===c||null===m||null===o)return;let e=await (0,tP.K2)(c,m,o);e&&ee(e)}catch(e){console.error("Error fetching user models:",e)}})()},[o,c,m,i]);let eO=async e=>{try{if(console.log("formValues: ".concat(JSON.stringify(e))),null!=o){var t,s,a;let l=null==e?void 0:e.team_alias,r=null!==(a=null==i?void 0:i.map(e=>e.team_alias))&&void 0!==a?a:[],n=(null==e?void 0:e.organization_id)||(null==g?void 0:g.organization_id);if(""===n||"string"!=typeof n?e.organization_id=null:e.organization_id=n.trim(),r.includes(l))throw Error("Team alias ".concat(l," already exists, please pick another alias"));if(eE.Z.info("Creating Team"),ej.length>0){let t={};if(e.metadata)try{t=JSON.parse(e.metadata)}catch(e){console.warn("Invalid JSON in metadata field, starting with empty object")}t={...t,logging:ej.filter(e=>e.callback_name)},e.metadata=JSON.stringify(t)}if(e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0||e.allowed_mcp_servers_and_groups&&((null===(t=e.allowed_mcp_servers_and_groups.servers)||void 0===t?void 0:t.length)>0||(null===(s=e.allowed_mcp_servers_and_groups.accessGroups)||void 0===s?void 0:s.length)>0||e.allowed_mcp_servers_and_groups.toolPermissions)){if(e.object_permission={},e.allowed_vector_store_ids&&e.allowed_vector_store_ids.length>0&&(e.object_permission.vector_stores=e.allowed_vector_store_ids,delete e.allowed_vector_store_ids),e.allowed_mcp_servers_and_groups){let{servers:t,accessGroups:s}=e.allowed_mcp_servers_and_groups;t&&t.length>0&&(e.object_permission.mcp_servers=t),s&&s.length>0&&(e.object_permission.mcp_access_groups=s),delete e.allowed_mcp_servers_and_groups}e.mcp_tool_permissions&&Object.keys(e.mcp_tool_permissions).length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_tool_permissions=e.mcp_tool_permissions,delete e.mcp_tool_permissions)}if(e.allowed_mcp_access_groups&&e.allowed_mcp_access_groups.length>0&&(e.object_permission||(e.object_permission={}),e.object_permission.mcp_access_groups=e.allowed_mcp_access_groups,delete e.allowed_mcp_access_groups),e.allowed_agents_and_groups){let{agents:t,accessGroups:s}=e.allowed_agents_and_groups;e.object_permission||(e.object_permission={}),t&&t.length>0&&(e.object_permission.agents=t),s&&s.length>0&&(e.object_permission.agent_access_groups=s),delete e.allowed_agents_and_groups}Object.keys(eL).length>0&&(e.model_aliases=eL);let c=await (0,q.teamCreateCall)(o,e);null!==i?d([...i,c]):d([c]),console.log("response for team create call: ".concat(c)),eE.Z.success("Team created"),Z.resetFields(),ef([]),eI({}),V(!1)}}catch(e){console.error("Error creating the team:",e),eE.Z.fromBackend("Error creating the team: "+e)}},eF=()=>{p(new Date().toLocaleString())},eM=(e,t)=>{let s={..._,[e]:t};N(s),o&&(0,q.v2TeamListCall)(o,s.organization_id||null,null,s.team_id||null,s.team_alias||null).then(e=>{e&&e.teams&&d(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})};return(0,a.jsx)("div",{className:"w-full mx-4 h-[75vh]",children:(0,a.jsx)(tw.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(tZ.Z,{numColSpan:1,className:"flex flex-col gap-2",children:[tB(m,c,u)&&(0,a.jsx)(ey.Z,{className:"w-fit",onClick:()=>V(!0),children:"+ Create New Team"}),D?(0,a.jsx)(tg.Z,{teamId:D,onUpdate:e=>{d(t=>{if(null==t)return t;let s=t.map(t=>e.team_id===t.team_id?(0,tT.nl)(t,e):t);return o&&(0,eR.Z)(o,c,m,g,d),s})},onClose:()=>{E(null),F(!1)},accessToken:o,is_team_admin:(e=>{if(null==e||null==e.members_with_roles)return!1;for(let t=0;te.team_id===D)),is_proxy_admin:"Admin"==m,userModels:Q,editTeam:O}):(0,a.jsxs)(e_.Z,{className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(eN.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(eb.Z,{children:"Your Teams"}),(0,a.jsx)(eb.Z,{children:"Available Teams"}),(0,L.P4)(m||"")&&(0,a.jsx)(eb.Z,{children:"Default Team Settings"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[h&&(0,a.jsxs)(ek.Z,{children:["Last Refreshed: ",h]}),(0,a.jsx)(eW.Z,{icon:tf.Z,variant:"shadow",size:"xs",className:"self-center",onClick:eF})]})]}),(0,a.jsxs)(ew.Z,{children:[(0,a.jsxs)(eZ.Z,{children:[(0,a.jsxs)(ek.Z,{children:["Click on “Team ID” to view team details ",(0,a.jsx)("b",{children:"and"})," manage team members."]}),(0,a.jsx)(tw.Z,{numItems:1,className:"gap-2 pt-2 pb-2 h-[75vh] w-full mt-2",children:(0,a.jsx)(tZ.Z,{numColSpan:1,children:(0,a.jsxs)(ev.Z,{className:"w-full mx-auto flex-auto overflow-hidden overflow-y-auto max-h-[50vh]",children:[(0,a.jsx)("div",{className:"border-b px-6 py-4",children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)("div",{className:"relative w-64",children:[(0,a.jsx)("input",{type:"text",placeholder:"Search by Team Name...",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:_.team_alias,onChange:e=>eM("team_alias",e.target.value)}),(0,a.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})]}),(0,a.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2 ".concat(v?"bg-gray-100":""),onClick:()=>b(!v),children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"})}),"Filters",(_.team_id||_.team_alias||_.organization_id)&&(0,a.jsx)("span",{className:"w-2 h-2 rounded-full bg-blue-500"})]}),(0,a.jsxs)("button",{className:"px-3 py-2 text-sm border rounded-md hover:bg-gray-50 flex items-center gap-2",onClick:()=>{N({team_id:"",team_alias:"",organization_id:"",sort_by:"created_at",sort_order:"desc"}),o&&(0,q.v2TeamListCall)(o,null,c||null,null,null).then(e=>{e&&e.teams&&d(e.teams)}).catch(e=>{console.error("Error fetching teams:",e)})},children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),"Reset Filters"]})]}),v&&(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-3",children:[(0,a.jsxs)("div",{className:"relative w-64",children:[(0,a.jsx)("input",{type:"text",placeholder:"Enter Team ID",className:"w-full px-3 py-2 pl-8 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",value:_.team_id,onChange:e=>eM("team_id",e.target.value)}),(0,a.jsx)("svg",{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})]}),(0,a.jsx)("div",{className:"w-64",children:(0,a.jsx)(tk.Z,{value:_.organization_id||"",onValueChange:e=>eM("organization_id",e),placeholder:"Select Organization",children:null==u?void 0:u.map(e=>(0,a.jsx)(tS.Z,{value:e.organization_id||"",children:e.organization_alias||e.organization_id},e.organization_id))})})]})]})}),(0,a.jsxs)(eX.Z,{children:[(0,a.jsx)(e1.Z,{children:(0,a.jsxs)(e4.Z,{children:[(0,a.jsx)(e2.Z,{children:"Team Name"}),(0,a.jsx)(e2.Z,{children:"Team ID"}),(0,a.jsx)(e2.Z,{children:"Created"}),(0,a.jsx)(e2.Z,{children:"Spend (USD)"}),(0,a.jsx)(e2.Z,{children:"Budget (USD)"}),(0,a.jsx)(e2.Z,{children:"Models"}),(0,a.jsx)(e2.Z,{children:"Organization"}),(0,a.jsx)(e2.Z,{children:"Info"}),(0,a.jsx)(e2.Z,{children:"Actions"})]})}),(0,a.jsx)(eQ.Z,{children:i&&i.length>0?i.filter(e=>!g||e.organization_id===g.organization_id).sort((e,t)=>new Date(t.created_at).getTime()-new Date(e.created_at).getTime()).map(e=>(0,a.jsxs)(e4.Z,{children:[(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,a.jsx)(e0.Z,{children:(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsx)(eh.Z,{title:e.team_id,children:(0,a.jsxs)(ey.Z,{size:"xs",variant:"light",className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left overflow-hidden truncate max-w-[200px]",onClick:()=>{E(e.team_id)},children:[e.team_id.slice(0,7),"..."]})})})}),(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.created_at?new Date(e.created_at).toLocaleDateString():"N/A"}),(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,tT.pw)(e.spend,4)}),(0,a.jsx)(e0.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,a.jsx)(e0.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},className:e.models.length>3?"px-0":"",children:(0,a.jsx)("div",{className:"flex flex-col",children:Array.isArray(e.models)?(0,a.jsx)("div",{className:"flex flex-col",children:0===e.models.length?(0,a.jsx)(tN.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(ek.Z,{children:"All Proxy Models"})}):(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"flex items-start",children:[e.models.length>3&&(0,a.jsx)("div",{children:(0,a.jsx)(eW.Z,{icon:ep[e.team_id]?eu.Z:ty.Z,className:"cursor-pointer",size:"xs",onClick:()=>{eg(t=>({...t,[e.team_id]:!t[e.team_id]}))}})}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.models.slice(0,3).map((e,t)=>"all-proxy-models"===e?(0,a.jsx)(tN.Z,{size:"xs",color:"red",children:(0,a.jsx)(ek.Z,{children:"All Proxy Models"})},t):(0,a.jsx)(tN.Z,{size:"xs",color:"blue",children:(0,a.jsx)(ek.Z,{children:e.length>30?"".concat((0,tP.W0)(e).slice(0,30),"..."):(0,tP.W0)(e)})},t)),e.models.length>3&&!ep[e.team_id]&&(0,a.jsx)(tN.Z,{size:"xs",color:"gray",className:"cursor-pointer",children:(0,a.jsxs)(ek.Z,{children:["+",e.models.length-3," ",e.models.length-3==1?"more model":"more models"]})}),ep[e.team_id]&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.models.slice(3).map((e,t)=>"all-proxy-models"===e?(0,a.jsx)(tN.Z,{size:"xs",color:"red",children:(0,a.jsx)(ek.Z,{children:"All Proxy Models"})},t+3):(0,a.jsx)(tN.Z,{size:"xs",color:"blue",children:(0,a.jsx)(ek.Z,{children:e.length>30?"".concat((0,tP.W0)(e).slice(0,30),"..."):(0,tP.W0)(e)})},t+3))})]})]})})}):null})}),(0,a.jsx)(e0.Z,{children:e.organization_id}),(0,a.jsxs)(e0.Z,{children:[(0,a.jsxs)(ek.Z,{children:[en&&e.team_id&&en[e.team_id]&&en[e.team_id].keys&&en[e.team_id].keys.length," ","Keys"]}),(0,a.jsxs)(ek.Z,{children:[en&&e.team_id&&en[e.team_id]&&en[e.team_id].team_info&&en[e.team_id].team_info.members_with_roles&&en[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,a.jsx)(e0.Z,{children:"Admin"==m?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tM.Z,{variant:"Edit",onClick:()=>{E(e.team_id),F(!0)},dataTestId:"edit-team-button",tooltipText:"Edit team"}),(0,a.jsx)(tM.Z,{variant:"Delete",onClick:()=>ez(e),dataTestId:"delete-team-button",tooltipText:"Delete team"})]}):null})]},e.team_id)):(0,a.jsx)(e4.Z,{children:(0,a.jsx)(e0.Z,{colSpan:9,className:"text-center",children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-4",children:[(0,a.jsx)(ek.Z,{className:"text-lg font-medium mb-2",children:"No teams found"}),(0,a.jsx)(ek.Z,{className:"text-sm",children:"Adjust your filters or create a new team"})]})})})})]}),(0,a.jsx)(tF.Z,{isOpen:et,title:"Delete Team?",alertMessage:(null==ea?void 0:null===(t=ea.keys)||void 0===t?void 0:t.length)===0?void 0:"Warning: This team has ".concat(null==ea?void 0:null===(s=ea.keys)||void 0===s?void 0:s.length," keys associated with it. Deleting the team will also delete all associated keys. This action is irreversible."),message:"Are you sure you want to delete this team and all its keys? This action cannot be undone.",resourceInformationTitle:"Team Information",resourceInformation:[{label:"Team ID",value:null==ea?void 0:ea.team_id,code:!0},{label:"Team Name",value:null==ea?void 0:ea.team_alias},{label:"Keys",value:null==ea?void 0:null===(l=ea.keys)||void 0===l?void 0:l.length},{label:"Members",value:null==ea?void 0:null===(r=ea.members_with_roles)||void 0===r?void 0:r.length}],requiredConfirmation:null==ea?void 0:ea.team_alias,onCancel:()=>{es(!1),el(null)},onOk:eD,confirmLoading:ed})]})})})]}),(0,a.jsx)(eZ.Z,{children:(0,a.jsx)(tp.Z,{accessToken:o,userID:c})}),(0,L.P4)(m||"")&&(0,a.jsx)(eZ.Z,{children:(0,a.jsx)(tj.Z,{accessToken:o,userID:c||"",userRole:m||""})})]})]}),tB(m,c,u)&&(0,a.jsx)(B.Z,{title:"Create Team",visible:R,width:1e3,footer:null,onOk:()=>{V(!1),Z.resetFields(),ef([]),eI({})},onCancel:()=>{V(!1),Z.resetFields(),ef([]),eI({})},children:(0,a.jsxs)(U.Z,{form:Z,onFinish:eO,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(eY.Z,{placeholder:""})}),(()=>{let e=tq(m,c,u),t="Admin"!==m,s=1===e.length,l=0===e.length;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Organization"," ",(0,a.jsx)(eh.Z,{title:(0,a.jsxs)("span",{children:["Organizations can have multiple teams. Learn more about"," ",(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/user_management_heirarchy",target:"_blank",rel:"noopener noreferrer",style:{color:"#1890ff",textDecoration:"underline"},onClick:e=>e.stopPropagation(),children:"user management hierarchy"})]}),children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"organization_id",initialValue:g?g.organization_id:null,className:"mt-8",rules:t?[{required:!0,message:"Please select an organization"}]:[],help:s?"You can only create teams within this organization":t?"required":"",children:(0,a.jsx)(H.default,{showSearch:!0,allowClear:!t,disabled:s,placeholder:l?"No organizations available":"Search or select an Organization",onChange:t=>{Z.setFieldValue("organization_id",t),y((null==e?void 0:e.find(e=>e.organization_id===t))||null)},filterOption:(e,t)=>{var s;return!!t&&((null===(s=t.children)||void 0===s?void 0:s.toString())||"").toLowerCase().includes(e.toLowerCase())},optionFilterProp:"children",children:null==e?void 0:e.map(e=>(0,a.jsxs)(H.default.Option,{value:e.organization_id,children:[(0,a.jsx)("span",{className:"font-medium",children:e.organization_alias})," ",(0,a.jsxs)("span",{className:"text-gray-500",children:["(",e.organization_id,")"]})]},e.organization_id))})}),t&&!s&&e.length>1&&(0,a.jsx)("div",{className:"mb-8 p-4 bg-blue-50 border border-blue-200 rounded-md",children:(0,a.jsx)(ek.Z,{className:"text-blue-800 text-sm",children:"Please select an organization to create a team for. You can only create teams within organizations where you are an admin."})})]})})(),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Models"," ",(0,a.jsx)(eh.Z,{title:"These are the models that your selected team has access to",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),rules:[{required:!0,message:"Please select at least one model"}],name:"models",children:(0,a.jsxs)(H.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(H.default.Option,{value:"no-default-models",children:"No Default Models"},"no-default-models"),er.map(e=>(0,a.jsx)(H.default.Option,{value:e,children:(0,tP.W0)(e)},e))]})}),(0,a.jsx)(U.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(tE.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(U.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(H.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(H.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(H.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(H.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(U.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsx)(U.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsxs)(tv.Z,{className:"mt-20 mb-8",onClick:()=>{eT||(eP(),eA(!0))},children:[(0,a.jsx)(t_.Z,{children:(0,a.jsx)("b",{children:"Additional Settings"})}),(0,a.jsxs)(tb.Z,{children:[(0,a.jsx)(U.Z.Item,{label:"Team ID",name:"team_id",help:"ID of the team you want to create. If not provided, it will be generated automatically.",children:(0,a.jsx)(eY.Z,{onChange:e=>{e.target.value=e.target.value.trim()}})}),(0,a.jsx)(U.Z.Item,{label:"Team Member Budget (USD)",name:"team_member_budget",normalize:e=>e?Number(e):void 0,tooltip:"This is the individual budget for a user in the team.",children:(0,a.jsx)(tE.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(U.Z.Item,{label:"Team Member Key Duration (eg: 1d, 1mo)",name:"team_member_key_duration",tooltip:"Set a limit to the duration of a team member's key. Format: 30s (seconds), 30m (minutes), 30h (hours), 30d (days), 1mo (month)",children:(0,a.jsx)(eY.Z,{placeholder:"e.g., 30d"})}),(0,a.jsx)(U.Z.Item,{label:"Team Member RPM Limit",name:"team_member_rpm_limit",tooltip:"The RPM (Requests Per Minute) limit for individual team members",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsx)(U.Z.Item,{label:"Team Member TPM Limit",name:"team_member_tpm_limit",tooltip:"The TPM (Tokens Per Minute) limit for individual team members",children:(0,a.jsx)(tE.Z,{step:1,width:400})}),(0,a.jsx)(U.Z.Item,{label:"Metadata",name:"metadata",help:"Additional team metadata. Enter metadata as JSON object.",children:(0,a.jsx)(W.default.TextArea,{rows:4})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Guardrails"," ",(0,a.jsx)(eh.Z,{title:"Setup your first guardrail",children:(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/guardrails/quick_start",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})})]}),name:"guardrails",className:"mt-8",help:"Select existing guardrails or enter new ones",children:(0,a.jsx)(H.default,{mode:"tags",style:{width:"100%"},placeholder:"Select or enter guardrails",options:em.map(e=>({value:e,label:e}))})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Disable Global Guardrails"," ",(0,a.jsx)(eh.Z,{title:"When enabled, this team will bypass any guardrails configured to run on every request (global guardrails)",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"disable_global_guardrails",className:"mt-4",valuePropName:"checked",help:"Bypass global guardrails for this team",children:(0,a.jsx)(Y.Z,{disabled:!x,checkedChildren:x?"Yes":"Premium feature - Upgrade to disable global guardrails by team",unCheckedChildren:x?"No":"Premium feature - Upgrade to disable global guardrails by team"})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Allowed Vector Stores"," ",(0,a.jsx)(eh.Z,{title:"Select which vector stores this team can access by default. Leave empty for access to all vector stores",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_vector_store_ids",className:"mt-8",help:"Select vector stores this team can access. Leave empty for access to all vector stores",children:(0,a.jsx)(tO.Z,{onChange:e=>Z.setFieldValue("allowed_vector_store_ids",e),value:Z.getFieldValue("allowed_vector_store_ids"),accessToken:o||"",placeholder:"Select vector stores (optional)"})})]})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(t_.Z,{children:(0,a.jsx)("b",{children:"MCP Settings"})}),(0,a.jsxs)(tb.Z,{children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Allowed MCP Servers"," ",(0,a.jsx)(eh.Z,{title:"Select which MCP servers or access groups this team can access",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_mcp_servers_and_groups",className:"mt-4",help:"Select MCP servers or access groups this team can access",children:(0,a.jsx)(tz.Z,{onChange:e=>Z.setFieldValue("allowed_mcp_servers_and_groups",e),value:Z.getFieldValue("allowed_mcp_servers_and_groups"),accessToken:o||"",placeholder:"Select MCP servers or access groups (optional)"})}),(0,a.jsx)(U.Z.Item,{name:"mcp_tool_permissions",initialValue:{},hidden:!0,children:(0,a.jsx)(W.default,{type:"hidden"})}),(0,a.jsx)(U.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.allowed_mcp_servers_and_groups!==t.allowed_mcp_servers_and_groups||e.mcp_tool_permissions!==t.mcp_tool_permissions,children:()=>{var e;return(0,a.jsx)("div",{className:"mt-6",children:(0,a.jsx)(tD.Z,{accessToken:o||"",selectedServers:(null===(e=Z.getFieldValue("allowed_mcp_servers_and_groups"))||void 0===e?void 0:e.servers)||[],toolPermissions:Z.getFieldValue("mcp_tool_permissions")||{},onChange:e=>Z.setFieldsValue({mcp_tool_permissions:e})})})}})]})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(t_.Z,{children:(0,a.jsx)("b",{children:"Agent Settings"})}),(0,a.jsx)(tb.Z,{children:(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{children:["Allowed Agents"," ",(0,a.jsx)(eh.Z,{title:"Select which agents or access groups this team can access",children:(0,a.jsx)(e8.Z,{style:{marginLeft:"4px"}})})]}),name:"allowed_agents_and_groups",className:"mt-4",help:"Select agents or access groups this team can access",children:(0,a.jsx)(tA.Z,{onChange:e=>Z.setFieldValue("allowed_agents_and_groups",e),value:Z.getFieldValue("allowed_agents_and_groups"),accessToken:o||"",placeholder:"Select agents or access groups (optional)"})})})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(t_.Z,{children:(0,a.jsx)("b",{children:"Logging Settings"})}),(0,a.jsx)(tb.Z,{children:(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsx)(tI.Z,{value:ej,onChange:ef,premiumUser:x})})})]}),(0,a.jsxs)(tv.Z,{className:"mt-8 mb-8",children:[(0,a.jsx)(t_.Z,{children:(0,a.jsx)("b",{children:"Model Aliases"})}),(0,a.jsx)(tb.Z,{children:(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)(ek.Z,{className:"text-sm text-gray-600 mb-4",children:"Create custom aliases for models that can be used by team members in API calls. This allows you to create shortcuts for specific models."}),(0,a.jsx)(tL.Z,{accessToken:o||"",initialModelAliases:eL,onAliasUpdate:eI,showExampleConfig:!1})]})})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(G.ZP,{htmlType:"submit",children:"Create Team"})})]})})]})})})},tV=s(30874),tH=s(22004),tK=s(27593),tW=s(56399),tY=s(87526),tG=s(11713),tJ=s(12322),t$=s(58927);let tX=(e,t,s,l)=>[{accessorKey:"search_tool_id",header:"Search Tool ID",cell:t=>{var s;let{row:l}=t;return(0,a.jsxs)("button",{onClick:()=>e(l.original.search_tool_id),className:"font-mono text-blue-500 bg-blue-50 hover:bg-blue-100 text-xs font-normal px-2 py-0.5 text-left w-full truncate whitespace-nowrap cursor-pointer max-w-[15ch]",children:[null===(s=l.original.search_tool_id)||void 0===s?void 0:s.slice(0,7),"..."]})}},{accessorKey:"search_tool_name",header:"Name",cell:e=>{let{getValue:t}=e;return(0,a.jsx)("span",{className:"font-medium",children:t()})}},{id:"provider",header:"Provider",cell:e=>{let{row:t}=e,s=t.original.litellm_params.search_provider,r=l.find(e=>e.provider_name===s),i=(null==r?void 0:r.ui_friendly_name)||s;return(0,a.jsx)("span",{className:"text-sm",children:i})}},{header:"Created At",accessorKey:"created_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("span",{className:"text-xs",children:s.created_at?new Date(s.created_at).toLocaleDateString():"-"})}},{header:"Updated At",accessorKey:"updated_at",sortingFn:"datetime",cell:e=>{let{row:t}=e,s=t.original;return(0,a.jsx)("span",{className:"text-xs",children:s.updated_at?new Date(s.updated_at).toLocaleDateString():"-"})}},{id:"actions",header:"Actions",cell:e=>{let{row:l}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(t$.J,{icon:e$.Z,size:"sm",onClick:()=>t(l.original.search_tool_id),className:"cursor-pointer"}),(0,a.jsx)(t$.J,{icon:ec.Z,size:"sm",onClick:()=>s(l.original.search_tool_id),className:"cursor-pointer"})]})}}];var tQ=s(30401),t0=s(78867),t1=s(61935);let{Text:t2}=tC.default,t4=e=>{var t,s,l,r;let{searchToolName:i,accessToken:n,className:o=""}=e,[d,c]=(0,M.useState)(""),[m,x]=(0,M.useState)(!1),[h,p]=(0,M.useState)([]),[g,j]=(0,M.useState)({}),[f,y]=(0,M.useState)(!1),v=async()=>{if(!d.trim()){V.ZP.warning("Please enter a search query");return}x(!0);let e=performance.now();try{let t=await (0,q.searchToolQueryCall)(n,i,d),s=performance.now(),a={query:d,response:t,timestamp:Date.now(),latency:Math.round(s-e)};p(e=>[a,...e])}catch(e){console.error("Error querying search tool:",e),eE.Z.fromBackend("Failed to query search tool")}finally{x(!1)}},b=e=>new Date(e).toLocaleString(),_=(e,t)=>{let s="".concat(e,"-").concat(t);j(e=>({...e,[s]:!e[s]}))},N=(0,a.jsx)(t1.Z,{style:{fontSize:24},spin:!0}),Z=h.length>0?h[0]:null;return(0,a.jsxs)(ev.Z,{className:"mt-6",children:[(0,a.jsx)("div",{className:"mb-6",children:(0,a.jsx)(eS.Z,{children:"Test Search Tool"})}),(0,a.jsxs)("div",{className:"flex flex-col",style:{minHeight:"600px"},children:[(0,a.jsx)("div",{className:"mb-6",children:(0,a.jsxs)("div",{className:"flex items-stretch gap-3",children:[(0,a.jsxs)("div",{className:"flex items-center flex-1 bg-white rounded-lg px-4 transition-all duration-200",style:{border:f?"2px solid #3b82f6":"2px solid #e5e7eb",boxShadow:f?"0 0 0 3px rgba(59, 130, 246, 0.1)":"0 1px 2px 0 rgba(0, 0, 0, 0.05)",height:"48px"},children:[(0,a.jsx)(u.Z,{className:"text-gray-400 mr-3",style:{fontSize:"18px"}}),(0,a.jsx)(W.default,{value:d,onChange:e=>c(e.target.value),onFocus:()=>y(!0),onBlur:()=>y(!1),onPressEnter:e=>{e.shiftKey||(e.preventDefault(),v())},placeholder:"Enter your search query...",disabled:m,bordered:!1,style:{fontSize:"15px",padding:0,height:"100%",boxShadow:"none"}})]}),(0,a.jsx)(G.ZP,{type:"primary",onClick:v,disabled:m||!d.trim(),icon:(0,a.jsx)(u.Z,{}),loading:m,style:{height:"48px",paddingLeft:"24px",paddingRight:"24px",borderRadius:"8px",fontWeight:500,fontSize:"15px",backgroundColor:m||!d.trim()?void 0:"#1890ff",borderColor:m||!d.trim()?void 0:"#1890ff",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},children:"Search"})]})}),(0,a.jsx)("div",{className:"flex-1",children:Z||m?(0,a.jsxs)("div",{children:[m&&(0,a.jsxs)("div",{className:"flex flex-col justify-center items-center py-16",children:[(0,a.jsx)(eC.Z,{indicator:N}),(0,a.jsx)(t2,{className:"mt-4 text-gray-600 font-medium",children:"Searching..."})]}),Z&&!m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg",style:{boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)(t2,{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Search Query"}),(0,a.jsx)("div",{className:"text-base font-semibold text-gray-900 mt-1.5",children:Z.query})]}),(0,a.jsxs)("div",{className:"text-right ml-4",children:[(0,a.jsx)(t2,{className:"text-xs text-gray-500",children:b(Z.timestamp)}),(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-1",children:[(0,a.jsxs)("div",{className:"text-sm font-semibold text-blue-600",children:[(null===(s=Z.response)||void 0===s?void 0:null===(t=s.results)||void 0===t?void 0:t.length)||0," ",(null===(r=Z.response)||void 0===r?void 0:null===(l=r.results)||void 0===l?void 0:l.length)===1?"result":"results"]}),void 0!==Z.latency&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-gray-400",children:"•"}),(0,a.jsxs)("div",{className:"text-sm font-semibold text-green-600",children:[Z.latency,"ms"]})]})]})]})]})}),Z.response&&Z.response.results&&Z.response.results.length>0?(0,a.jsx)("div",{className:"space-y-3",children:Z.response.results.map((e,t)=>{let s=g["0-".concat(t)]||!1;return(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg overflow-hidden transition-all duration-200",style:{boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},onMouseEnter:e=>{e.currentTarget.style.boxShadow="0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",e.currentTarget.style.borderColor="#e0e7ff"},onMouseLeave:e=>{e.currentTarget.style.boxShadow="0 1px 2px 0 rgba(0, 0, 0, 0.05)",e.currentTarget.style.borderColor="#e5e7eb"},children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-2",children:[(0,a.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-lg font-semibold text-blue-600 hover:text-blue-700 flex-1 leading-snug",style:{textDecoration:"none"},onMouseEnter:e=>e.currentTarget.style.textDecoration="underline",onMouseLeave:e=>e.currentTarget.style.textDecoration="none",children:e.title}),(0,a.jsx)(G.ZP,{type:"text",size:"small",className:"flex-shrink-0",icon:(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})}),onClick:()=>window.open(e.url,"_blank"),style:{color:"#6b7280"}})]}),(0,a.jsx)("div",{className:"text-sm text-green-700 mb-3 truncate font-medium",children:e.url}),(0,a.jsx)("div",{className:"text-sm text-gray-700 leading-relaxed",children:s?e.snippet:"".concat(e.snippet.substring(0,200)).concat(e.snippet.length>200?"...":"")}),e.snippet.length>200&&(0,a.jsx)(G.ZP,{type:"link",size:"small",className:"mt-3 p-0 h-auto",onClick:()=>_(0,t),style:{fontSize:"13px",fontWeight:500,color:"#3b82f6"},children:s?"Show less":"Show more"})]})},t)})}):(0,a.jsxs)("div",{className:"text-center py-12 bg-gray-50 border border-gray-200 rounded-lg",children:[(0,a.jsx)("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-gray-100 mx-auto mb-4",children:(0,a.jsx)(u.Z,{style:{fontSize:"24px",color:"#9ca3af"}})}),(0,a.jsx)(t2,{className:"text-gray-600 font-medium",children:"No results found"}),(0,a.jsx)(t2,{className:"text-sm text-gray-500 mt-1",children:"Try a different search query"})]})]}),h.length>1&&(0,a.jsxs)("div",{className:"mt-8 pt-6 border-t border-gray-200",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)(t2,{className:"text-sm font-semibold text-gray-700",children:"Previous Searches"}),(0,a.jsx)(G.ZP,{onClick:()=>{p([]),j({}),eE.Z.success("Search history cleared")},size:"small",type:"link",style:{fontSize:"13px",fontWeight:500},children:"Clear All"})]}),(0,a.jsx)("div",{className:"space-y-2",children:h.slice(1,6).map((e,t)=>{var s,l,r,i;return(0,a.jsxs)("div",{className:"p-3 bg-gray-50 border border-gray-200 rounded-lg cursor-pointer transition-all duration-200 hover:bg-gray-100 hover:border-gray-300",onClick:()=>{c(e.query)},children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-800 truncate",children:e.query}),(0,a.jsxs)("div",{className:"text-xs text-gray-500 mt-1.5 flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"font-medium text-blue-600",children:[(null===(l=e.response)||void 0===l?void 0:null===(s=l.results)||void 0===s?void 0:s.length)||0," ",(null===(i=e.response)||void 0===i?void 0:null===(r=i.results)||void 0===r?void 0:r.length)===1?"result":"results"]}),void 0!==e.latency&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{children:"•"}),(0,a.jsxs)("span",{className:"font-medium text-green-600",children:[e.latency,"ms"]})]}),(0,a.jsx)("span",{children:"•"}),(0,a.jsx)("span",{children:b(e.timestamp)})]})]},t+1)})})]})]}):(0,a.jsxs)("div",{className:"h-full flex flex-col items-center justify-center p-8",children:[(0,a.jsx)("div",{className:"flex items-center justify-center w-24 h-24 rounded-full bg-gray-100 mb-6",children:(0,a.jsx)(u.Z,{style:{fontSize:"48px",color:"#9ca3af"}})}),(0,a.jsx)(t2,{className:"text-lg text-gray-600 font-medium",children:"Test your search tool"}),(0,a.jsx)(t2,{className:"text-sm text-gray-500 mt-2",children:"Enter a query above to see search results"})]})})]})]})},t5=e=>{var t;let{searchTool:s,onBack:l,isEditing:r,accessToken:i,availableProviders:n}=e,[o,d]=(0,M.useState)({}),c=async(e,t)=>{await (0,tT.vQ)(e)&&(d(e=>({...e,[t]:!0})),setTimeout(()=>{d(e=>({...e,[t]:!1}))},2e3))};return(0,a.jsxs)("div",{className:"p-4 max-w-full",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-6",children:(0,a.jsxs)("div",{children:[(0,a.jsx)(ey.Z,{icon:eA.Z,variant:"light",className:"mb-4",onClick:l,children:"Back to All Search Tools"}),(0,a.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,a.jsx)(eS.Z,{children:s.search_tool_name}),(0,a.jsx)(G.ZP,{type:"text",size:"small",icon:o["search-tool-name"]?(0,a.jsx)(tQ.Z,{size:12}):(0,a.jsx)(t0.Z,{size:12}),onClick:()=>c(s.search_tool_name,"search-tool-name"),className:"left-2 z-10 transition-all duration-200 ".concat(o["search-tool-name"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]}),(0,a.jsxs)("div",{className:"flex items-center cursor-pointer",children:[(0,a.jsx)(ek.Z,{className:"text-gray-500 font-mono",children:s.search_tool_id}),(0,a.jsx)(G.ZP,{type:"text",size:"small",icon:o["search-tool-id"]?(0,a.jsx)(tQ.Z,{size:12}):(0,a.jsx)(t0.Z,{size:12}),onClick:()=>c(s.search_tool_id,"search-tool-id"),className:"left-2 z-10 transition-all duration-200 ".concat(o["search-tool-id"]?"text-green-600 bg-green-50 border-green-200":"text-gray-500 hover:text-gray-700 hover:bg-gray-100")})]})]})}),(0,a.jsxs)(tw.Z,{numItems:1,numItemsSm:2,numItemsLg:3,className:"gap-6",children:[(0,a.jsxs)(ev.Z,{children:[(0,a.jsx)(ek.Z,{children:"Provider"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(eS.Z,{children:(e=>{let t=n.find(t=>t.provider_name===e);return(null==t?void 0:t.ui_friendly_name)||e})(s.litellm_params.search_provider)})})]}),(0,a.jsxs)(ev.Z,{children:[(0,a.jsx)(ek.Z,{children:"API Key"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(ek.Z,{children:s.litellm_params.api_key?"****":"Not set"})})]}),(0,a.jsxs)(ev.Z,{children:[(0,a.jsx)(ek.Z,{children:"Created At"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(ek.Z,{children:s.created_at?new Date(s.created_at).toLocaleString():"Unknown"})})]})]}),(null===(t=s.search_tool_info)||void 0===t?void 0:t.description)&&(0,a.jsxs)(ev.Z,{className:"mt-6",children:[(0,a.jsx)(ek.Z,{children:"Description"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(ek.Z,{children:s.search_tool_info.description})})]}),(0,a.jsx)("div",{className:"mt-6",children:i&&(0,a.jsx)(t4,{searchToolName:s.search_tool_name,accessToken:i})})]})};var t6=s(29),t3=s.n(t6),t8=s(23496),t9=s(35291);let{Text:t7}=tC.default;var se=e=>{let{litellmParams:t,accessToken:s,onTestComplete:l}=e,[r,i]=(0,M.useState)(!0),[n,o]=(0,M.useState)(null),[d,c]=(0,M.useState)(!1);(0,M.useEffect)(()=>{(async()=>{i(!0);try{let e=await (0,q.testSearchToolConnection)(s,t);o(e),"success"===e.status&&eE.Z.success("Connection test successful!")}catch(e){o({status:"error",message:e instanceof Error?e.message:"Unknown error occurred",error_type:"NetworkError"})}finally{i(!1),l&&l()}})()},[s,t,l]);let m=(null==n?void 0:n.message)?(e=>{if(!e)return"Unknown error";let t=e.split("stack trace:")[0].trim().replace(/^litellm\.(.*?)Error:\s*/,"").replace(/^AuthenticationError:\s*/,"");if(t.includes("")||t.includes("(.*?)<\/title>/);return e?e[1]:t.includes("401")||t.includes("Authorization Required")?"Authentication failed: Invalid API key or credentials":"Authentication error - please check your API key"}return t.length>200?t.substring(0,200)+"...":t})(n.message):"Unknown error";return r?(0,a.jsx)("div",{style:{padding:"24px",borderRadius:"8px",backgroundColor:"#fff"},children:(0,a.jsxs)("div",{style:{textAlign:"center",padding:"32px 20px"},className:"jsx-dc9a0e2d897fe63b",children:[(0,a.jsx)("div",{style:{marginBottom:"16px"},className:"jsx-dc9a0e2d897fe63b loading-spinner",children:(0,a.jsx)("div",{style:{border:"3px solid #f3f3f3",borderTop:"3px solid #1890ff",borderRadius:"50%",width:"30px",height:"30px",animation:"spin 1s linear infinite",margin:"0 auto"},className:"jsx-dc9a0e2d897fe63b"})}),(0,a.jsxs)(t7,{style:{fontSize:"16px"},children:["Testing connection to ",t.search_provider||"search provider","..."]}),(0,a.jsx)(t3(),{id:"dc9a0e2d897fe63b",children:"@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}"})]})}):n?(0,a.jsxs)("div",{style:{padding:"24px",borderRadius:"8px",backgroundColor:"#fff"},children:["success"===n.status?(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"32px 20px"},children:[(0,a.jsx)("div",{style:{color:"#52c41a",fontSize:"24px",display:"flex",alignItems:"center"},children:(0,a.jsx)("svg",{viewBox:"64 64 896 896",focusable:"false","data-icon":"check-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"})})}),(0,a.jsxs)("div",{style:{marginLeft:"12px"},children:[(0,a.jsxs)(t7,{type:"success",style:{fontSize:"18px",fontWeight:500,display:"block"},children:["Connection to ",t.search_provider," successful!"]}),n.test_query&&(0,a.jsxs)(t7,{style:{fontSize:"14px",color:"#666",marginTop:"8px",display:"block"},children:["Test query: ",(0,a.jsx)("code",{style:{backgroundColor:"#f0f0f0",padding:"2px 6px",borderRadius:"4px"},children:n.test_query})]}),void 0!==n.results_count&&(0,a.jsxs)(t7,{style:{fontSize:"14px",color:"#666",display:"block"},children:["Results retrieved: ",n.results_count]})]})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:"20px"},children:[(0,a.jsx)(t9.Z,{style:{color:"#ff4d4f",fontSize:"24px",marginRight:"12px"}}),(0,a.jsxs)(t7,{type:"danger",style:{fontSize:"18px",fontWeight:500},children:["Connection to ",t.search_provider||"search provider"," failed"]})]}),(0,a.jsxs)("div",{style:{backgroundColor:"#fff2f0",border:"1px solid #ffccc7",borderRadius:"8px",padding:"16px",marginBottom:"20px",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.03)"},children:[(0,a.jsxs)(t7,{strong:!0,style:{display:"block",marginBottom:"8px"},children:["Error:"," "]}),(0,a.jsx)(t7,{type:"danger",style:{fontSize:"14px",lineHeight:"1.5"},children:m}),n.error_type&&(0,a.jsx)("div",{style:{marginTop:"8px"},children:(0,a.jsxs)(t7,{style:{fontSize:"13px",color:"#666"},children:["Error type:"," ",(0,a.jsx)("code",{style:{backgroundColor:"#ffebee",padding:"2px 6px",borderRadius:"4px",color:"#d32f2f"},children:n.error_type})]})}),n.message&&(0,a.jsx)("div",{style:{marginTop:"12px"},children:(0,a.jsx)(G.ZP,{type:"link",onClick:()=>c(!d),style:{paddingLeft:0,height:"auto"},children:d?"Hide Details":"Show Details"})})]}),d&&(0,a.jsxs)("div",{style:{marginBottom:"20px"},children:[(0,a.jsx)(t7,{strong:!0,style:{display:"block",marginBottom:"8px",fontSize:"15px"},children:"Full Error Details"}),(0,a.jsx)("pre",{style:{backgroundColor:"#f5f5f5",padding:"16px",borderRadius:"8px",fontSize:"13px",maxHeight:"200px",overflow:"auto",border:"1px solid #e8e8e8",lineHeight:"1.5",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:n.message})]}),(0,a.jsxs)("div",{style:{backgroundColor:"#fffbf0",border:"1px solid #ffe58f",borderLeft:"4px solid #faad14",borderRadius:"8px",padding:"16px"},children:[(0,a.jsx)(t7,{strong:!0,style:{display:"block",marginBottom:"8px",color:"#d48806"},children:"Troubleshooting tips:"}),(0,a.jsxs)("ul",{style:{margin:"8px 0",paddingLeft:"20px",color:"#ad6800"},children:[(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Verify your API key is correct and active"}),(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Check if the search provider service is operational"}),(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Ensure you have sufficient credits/quota with the provider"}),(0,a.jsx)("li",{style:{marginBottom:"6px"},children:"Review the provider's documentation for any additional requirements"})]})]})]})}),(0,a.jsx)(t8.Z,{style:{margin:"24px 0 16px"}}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,a.jsx)(G.ZP,{type:"link",href:"https://docs.litellm.ai/docs/search",target:"_blank",icon:(0,a.jsx)(e8.Z,{}),children:"View Search Documentation"})})]}):null};let{TextArea:st}=W.default,ss=e=>"".concat("../ui/assets/logos/").concat(e,".png"),sa=e=>{let{providerName:t,displayName:s}=e;return(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(e9.default,{src:ss(t),alt:"",width:20,height:20,style:{marginRight:"8px",objectFit:"contain"},onError:e=>{e.currentTarget.style.display="none"}}),(0,a.jsx)("span",{children:s})]})};var sl=e=>{let{userRole:t,accessToken:s,onCreateSuccess:l,isModalVisible:r,setModalVisible:i}=e,[n]=U.Z.useForm(),[o,d]=(0,M.useState)(!1),[c,m]=(0,M.useState)({}),[u,x]=(0,M.useState)(!1),[h,p]=(0,M.useState)(!1),[g,j]=(0,M.useState)(""),{data:f,isLoading:y}=(0,tG.a)({queryKey:["searchProviders"],queryFn:()=>{if(!s)throw Error("Access Token required");return(0,q.fetchAvailableSearchProviders)(s)},enabled:!!s&&r}),v=(null==f?void 0:f.providers)||[],b=async e=>{d(!0);try{let t={search_tool_name:e.search_tool_name,litellm_params:{search_provider:e.search_provider,api_key:e.api_key,api_base:e.api_base,timeout:e.timeout?parseFloat(e.timeout):void 0,max_retries:e.max_retries?parseInt(e.max_retries):void 0},search_tool_info:e.description?{description:e.description}:void 0};if(console.log("Creating search tool with payload:",t),null!=s){let e=await (0,q.createSearchTool)(s,t);eE.Z.success("Search tool created successfully"),n.resetFields(),m({}),i(!1),l(e)}}catch(e){eE.Z.error("Error creating search tool: "+e)}finally{d(!1)}},_=async()=>{try{await n.validateFields(["search_provider","api_key"]),p(!0),j("test-".concat(Date.now())),x(!0)}catch(e){eE.Z.error("Please fill in Search Provider and API Key before testing")}};return(M.useEffect(()=>{r||m({})},[r]),(0,L.tY)(t))?(0,a.jsxs)(B.Z,{title:(0,a.jsxs)("div",{className:"flex items-center space-x-3 pb-4 border-b border-gray-100",children:[(0,a.jsx)("span",{className:"text-2xl",children:"\uD83D\uDD0D"}),(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Add New Search Tool"})]}),open:r,width:800,onCancel:()=>{n.resetFields(),m({}),i(!1)},footer:null,className:"top-8",styles:{body:{padding:"24px"},header:{padding:"24px 24px 0 24px",border:"none"}},children:[(0,a.jsx)("div",{className:"mt-6",children:(0,a.jsxs)(U.Z,{form:n,onFinish:b,onValuesChange:(e,t)=>m(t),layout:"vertical",className:"space-y-6",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6",children:[(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Search Tool Name",(0,a.jsx)(eh.Z,{title:"A unique name to identify this search tool configuration (e.g., 'perplexity-search', 'tavily-news-search').",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"search_tool_name",rules:[{required:!0,message:"Please enter a search tool name"},{pattern:/^[a-zA-Z0-9_-]+$/,message:"Name can only contain letters, numbers, hyphens, and underscores"}],children:(0,a.jsx)(e3.o,{placeholder:"e.g., perplexity-search, my-tavily-tool",className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500"})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["Search Provider",(0,a.jsx)(eh.Z,{title:"Select the search provider you want to use. Each provider has different capabilities and pricing.",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"search_provider",rules:[{required:!0,message:"Please select a search provider"}],children:(0,a.jsx)(H.default,{placeholder:"Select a search provider",className:"rounded-lg",size:"large",loading:y,showSearch:!0,optionFilterProp:"children",optionLabelProp:"label",children:v.map(e=>(0,a.jsx)(H.default.Option,{value:e.provider_name,label:(0,a.jsx)(sa,{providerName:e.provider_name,displayName:e.ui_friendly_name}),children:(0,a.jsx)(sa,{providerName:e.provider_name,displayName:e.ui_friendly_name})},e.provider_name))})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsxs)("span",{className:"text-sm font-medium text-gray-700 flex items-center",children:["API Key",(0,a.jsx)(eh.Z,{title:"The API key for authenticating with the search provider. This will be securely stored.",children:(0,a.jsx)(e8.Z,{className:"ml-2 text-blue-400 hover:text-blue-600 cursor-help"})})]}),name:"api_key",rules:[{required:!1,message:"Please enter an API key"}],children:(0,a.jsx)(e3.o,{type:"password",placeholder:"Enter your API key",className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500"})}),(0,a.jsx)(U.Z.Item,{label:(0,a.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Description (Optional)"}),name:"description",children:(0,a.jsx)(st,{rows:3,placeholder:"Brief description of this search tool's purpose",className:"rounded-lg border-gray-300 focus:border-blue-500 focus:ring-blue-500"})})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center pt-6 border-t border-gray-100",children:[(0,a.jsx)(eh.Z,{title:"Get help on our github",children:(0,a.jsx)(tC.default.Link,{href:"https://github.com/BerriAI/litellm/issues",target:"_blank",children:"Need Help?"})}),(0,a.jsxs)("div",{className:"space-x-2",children:[(0,a.jsx)(e3.z,{onClick:_,loading:h,children:"Test Connection"}),(0,a.jsx)(e3.z,{loading:o,type:"submit",children:"Add Search Tool"})]})]})]})}),(0,a.jsx)(B.Z,{title:"Connection Test Results",open:u,onCancel:()=>{x(!1),p(!1)},footer:[(0,a.jsx)(e3.z,{onClick:()=>{x(!1),p(!1)},children:"Close"},"close")],width:700,children:u&&s&&(0,a.jsx)(se,{litellmParams:{search_provider:c.search_provider,api_key:c.api_key,api_base:c.api_base},accessToken:s,onTestComplete:()=>p(!1)},g)})]}):null};let sr=e=>{let{isModalOpen:t,title:s,confirmDelete:l,cancelDelete:r}=e;return t?(0,a.jsx)(B.Z,{open:t,onOk:l,okType:"danger",onCancel:r,children:(0,a.jsxs)(tw.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(eS.Z,{children:s}),(0,a.jsx)(tZ.Z,{numColSpan:1,children:(0,a.jsx)("p",{children:"Are you sure you want to delete this search tool?"})})]})}):null};var si=e=>{let{accessToken:t,userRole:s,userID:l}=e,{data:r,isLoading:i,refetch:n}=(0,tG.a)({queryKey:["searchTools"],queryFn:()=>{if(!t)throw Error("Access Token required");return(0,q.fetchSearchTools)(t).then(e=>e.search_tools||[])},enabled:!!t}),{data:o,isLoading:d}=(0,tG.a)({queryKey:["searchProviders"],queryFn:()=>{if(!t)throw Error("Access Token required");return(0,q.fetchAvailableSearchProviders)(t)},enabled:!!t}),c=(null==o?void 0:o.providers)||[],[m,u]=(0,M.useState)(null),[x,h]=(0,M.useState)(!1),[p,g]=(0,M.useState)(null),[j,f]=(0,M.useState)(!1),[y,v]=(0,M.useState)(!1),[b,_]=(0,M.useState)(!1),[N]=U.Z.useForm(),Z=M.useMemo(()=>tX(e=>{g(e),f(!1)},e=>{let t=null==r?void 0:r.find(t=>t.search_tool_id===e);if(t){var s;N.setFieldsValue({search_tool_name:t.search_tool_name,search_provider:t.litellm_params.search_provider,api_key:t.litellm_params.api_key,api_base:t.litellm_params.api_base,timeout:t.litellm_params.timeout,max_retries:t.litellm_params.max_retries,description:null===(s=t.search_tool_info)||void 0===s?void 0:s.description}),g(e),_(!0)}},w,c),[c,r,N]);function w(e){u(e),h(!0)}let k=async()=>{if(null!=m&&null!=t){try{await (0,q.deleteSearchTool)(t,m),eE.Z.success("Deleted search tool successfully"),n()}catch(e){console.error("Error deleting the search tool:",e),eE.Z.error("Failed to delete search tool")}h(!1),u(null)}},S=async()=>{if(t&&p)try{let e=await N.validateFields(),s={search_tool_name:e.search_tool_name,litellm_params:{search_provider:e.search_provider,api_key:e.api_key,api_base:e.api_base,timeout:e.timeout?parseFloat(e.timeout):void 0,max_retries:e.max_retries?parseInt(e.max_retries):void 0},search_tool_info:e.description?{description:e.description}:void 0};await (0,q.updateSearchTool)(t,p,s),eE.Z.success("Search tool updated successfully"),_(!1),N.resetFields(),g(null),n()}catch(e){console.error("Failed to update search tool:",e),eE.Z.error("Failed to update search tool")}};return t&&s&&l?(0,a.jsxs)("div",{className:"w-full h-full p-6",children:[(0,a.jsx)(sr,{isModalOpen:x,title:"Delete Search Tool",confirmDelete:k,cancelDelete:()=>{h(!1),u(null)}}),(0,a.jsx)(sl,{userRole:s,accessToken:t,onCreateSuccess:e=>{v(!1),n()},isModalVisible:y,setModalVisible:v}),(0,a.jsx)(B.Z,{title:"Edit Search Tool",open:b,onOk:S,onCancel:()=>{_(!1),N.resetFields(),g(null)},width:600,children:(0,a.jsxs)(U.Z,{form:N,layout:"vertical",children:[(0,a.jsx)(U.Z.Item,{name:"search_tool_name",label:"Search Tool Name",rules:[{required:!0,message:"Please enter a search tool name"}],children:(0,a.jsx)(W.default,{placeholder:"e.g., my-perplexity-search"})}),(0,a.jsx)(U.Z.Item,{name:"search_provider",label:"Search Provider",rules:[{required:!0,message:"Please select a search provider"}],children:(0,a.jsx)(H.default,{placeholder:"Select a search provider",loading:d,children:c.map(e=>(0,a.jsx)(H.default.Option,{value:e.provider_name,children:e.ui_friendly_name},e.provider_name))})}),(0,a.jsx)(U.Z.Item,{name:"api_key",label:"API Key",extra:"API key for the search provider",children:(0,a.jsx)(W.default.Password,{placeholder:"Enter API key"})}),(0,a.jsx)(U.Z.Item,{name:"description",label:"Description",children:(0,a.jsx)(W.default.TextArea,{rows:3,placeholder:"Description of this search tool"})})]})}),(0,a.jsx)(eS.Z,{children:"Search Tools"}),(0,a.jsx)(ek.Z,{className:"text-tremor-content mt-2",children:"Configure and manage your search providers"}),(0,L.tY)(s)&&(0,a.jsx)(ey.Z,{className:"mt-4 mb-4",onClick:()=>v(!0),children:"+ Add New Search Tool"}),(0,a.jsx)(()=>p?(0,a.jsx)(t5,{searchTool:(null==r?void 0:r.find(e=>e.search_tool_id===p))||{search_tool_id:"",search_tool_name:"",litellm_params:{search_provider:""}},onBack:()=>{f(!1),g(null),n()},isEditing:j,accessToken:t,availableProviders:c}):(0,a.jsx)("div",{className:"w-full h-full",children:(0,a.jsx)("div",{className:"w-full px-6 mt-6",children:(0,a.jsx)(tJ.w,{data:r||[],columns:Z,renderSubComponent:()=>(0,a.jsx)("div",{}),getRowCanExpand:()=>!1,isLoading:i,noDataMessage:"No search tools configured"})})}),{})]}):(console.log("Missing required authentication parameters",{accessToken:t,userRole:s,userID:l}),(0,a.jsx)("div",{className:"p-6 text-center text-gray-500",children:"Missing required authentication parameters."}))},sn=s(89111),so=s(42273),sd=s(59004),sc=s(5183),sm=s(18143),su=s(21739),sx=s(98524),sh=s(33801),sp=s(86653),sg=s(69734),sj=s(97060),sf=s(21623),sy=s(29827),sv=s(14474),sb=s(99376);function s_(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";document.cookie="".concat(e,"=; Max-Age=0; Path=").concat(t)}let sN=new sf.S;function sZ(){let[e,t]=(0,M.useState)(""),[s,r]=(0,M.useState)(!1),[i,n]=(0,M.useState)(!1),[o,d]=(0,M.useState)(null),[c,m]=(0,M.useState)(null),[u,x]=(0,M.useState)([]),[h,p]=(0,M.useState)([]),[g,j]=(0,M.useState)([]),[f,y]=(0,M.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""}),[v,b]=(0,M.useState)(!0),_=(0,sb.useSearchParams)(),[N,Z]=(0,M.useState)({data:[]}),[w,k]=(0,M.useState)(null),[S,C]=(0,M.useState)(!1),[T,A]=(0,M.useState)(!0),[I,P]=(0,M.useState)(null),z=_.get("invitation_id"),[R,B]=(0,M.useState)(()=>_.get("page")||"api-keys"),[U,V]=(0,M.useState)(null),[H,K]=(0,M.useState)(!1),W=e=>{x(t=>t?[...t,e]:[e]),C(()=>!S)},Y=!1===T&&null===w&&null===z;return((0,M.useEffect)(()=>{let e=!1;return(async()=>{try{await (0,q.getUiConfig)()}catch(e){}if(e)return;let t=function(e){let t=document.cookie.split("; ").find(t=>t.startsWith(e+"="));if(!t)return null;let s=t.slice(e.length+1);try{return decodeURIComponent(s)}catch(e){return s}}("token"),s=t&&!(0,sj.v)(t)?t:null;t&&!s&&s_("token","/"),e||(k(s),A(!1))})(),()=>{e=!0}},[]),(0,M.useEffect)(()=>{if(Y){let e=(q.proxyBaseUrl||"")+"/ui/login";window.location.replace(e)}},[Y]),(0,M.useEffect)(()=>{if(!w)return;if((0,sj.v)(w)){s_("token","/"),k(null);return}let e=null;try{e=(0,sv.o)(w)}catch(e){s_("token","/"),k(null);return}if(e){if(V(e.key),n(e.disabled_non_admin_personal_key_creation),e.user_role){let s=function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(e.user_role);t(s),"Admin Viewer"==s&&B("usage")}e.user_email&&d(e.user_email),e.login_method&&b("username_password"==e.login_method),e.premium_user&&r(e.premium_user),e.auth_header_name&&(0,q.setGlobalLitellmHeaderName)(e.auth_header_name),e.user_id&&P(e.user_id)}},[w]),(0,M.useEffect)(()=>{U&&I&&e&&(0,tV.Nr)(I,e,U,j),U&&I&&e&&(0,eR.Z)(U,I,e,null,m),U&&(0,tH.g)(U,p)},[U,I,e]),T||Y)?(0,a.jsx)(eB.Z,{}):(0,a.jsx)(M.Suspense,{fallback:(0,a.jsx)(eB.Z,{}),children:(0,a.jsx)(sy.aH,{client:sN,children:(0,a.jsx)(sg.f,{accessToken:U,children:z?(0,a.jsx)(su.Z,{userID:I,userRole:e,premiumUser:s,teams:c,keys:u,setUserRole:t,userEmail:o,setUserEmail:d,setTeams:m,setKeys:x,organizations:h,addKey:W,createClicked:S}):(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(tx.Z,{userID:I,userRole:e,premiumUser:s,userEmail:o,setProxySettings:y,proxySettings:f,accessToken:U,isPublicPage:!1,sidebarCollapsed:H,onToggleSidebar:()=>{K(!H)}}),(0,a.jsxs)("div",{className:"flex flex-1",children:[(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(D,{setPage:e=>{let t=new URLSearchParams(_);t.set("page",e),window.history.pushState(null,"","?".concat(t.toString())),B(e)},defaultSelectedKey:R,sidebarCollapsed:H})}),"api-keys"==R?(0,a.jsx)(su.Z,{userID:I,userRole:e,premiumUser:s,teams:c,keys:u,setUserRole:t,userEmail:o,setUserEmail:d,setTeams:m,setKeys:x,organizations:h,addKey:W,createClicked:S}):"models"==R?(0,a.jsx)(E.Z,{userID:I,userRole:e,token:w,keys:u,accessToken:U,modelData:N,setModelData:Z,premiumUser:s,teams:c}):"llm-playground"==R?(0,a.jsx)(O.default,{}):"users"==R?(0,a.jsx)(sp.Z,{userID:I,userRole:e,token:w,keys:u,teams:c,accessToken:U,setKeys:x}):"teams"==R?(0,a.jsx)(tU,{teams:c,setTeams:m,accessToken:U,userID:I,userRole:e,organizations:h,premiumUser:s,searchParams:_}):"organizations"==R?(0,a.jsx)(tH.Z,{organizations:h,setOrganizations:p,userModels:g,accessToken:U,userRole:e,premiumUser:s}):"admin-panel"==R?(0,a.jsx)(F.Z,{setTeams:m,searchParams:_,accessToken:U,userID:I,showSSOBanner:v,premiumUser:s,proxySettings:f}):"api_ref"==R?(0,a.jsx)(l.Z,{proxySettings:f}):"logging-and-alerts"==R?(0,a.jsx)(sn.Z,{userID:I,userRole:e,accessToken:U,premiumUser:s}):"budgets"==R?(0,a.jsx)(eF.Z,{accessToken:U}):"guardrails"==R?(0,a.jsx)(tc.Z,{accessToken:U,userRole:e}):"agents"==R?(0,a.jsx)(eO,{accessToken:U,userRole:e}):"prompts"==R?(0,a.jsx)(tW.Z,{accessToken:U,userRole:e}):"transform-request"==R?(0,a.jsx)(sd.Z,{accessToken:U}):"router-settings"==R?(0,a.jsx)(td.Z,{userID:I,userRole:e,accessToken:U,modelData:N}):"ui-theme"==R?(0,a.jsx)(sc.Z,{userID:I,userRole:e,accessToken:U}):"cost-tracking"==R?(0,a.jsx)(to,{userID:I,userRole:e,accessToken:U}):"model-hub-table"==R?(0,L.tY)(e)?(0,a.jsx)(tu.Z,{accessToken:U,publicPage:!1,premiumUser:s,userRole:e}):(0,a.jsx)(tY.Z,{accessToken:U,isEmbedded:!0}):"caching"==R?(0,a.jsx)(eM.Z,{userID:I,userRole:e,token:w,accessToken:U,premiumUser:s}):"pass-through-settings"==R?(0,a.jsx)(tK.Z,{userID:I,userRole:e,accessToken:U,modelData:N,premiumUser:s}):"logs"==R?(0,a.jsx)(sh.Z,{userID:I,userRole:e,token:w,accessToken:U,allTeams:null!=c?c:[],premiumUser:s}):"mcp-servers"==R?(0,a.jsx)(tm.d,{accessToken:U,userRole:e,userID:I}):"search-tools"==R?(0,a.jsx)(si,{accessToken:U,userRole:e,userID:I}):"tag-management"==R?(0,a.jsx)(so.Z,{accessToken:U,userRole:e,userID:I}):"vector-stores"==R?(0,a.jsx)(sx.Z,{accessToken:U,userRole:e,userID:I}):"new_usage"==R?(0,a.jsx)(th.Z,{teams:null!=c?c:[],organizations:null!=h?h:[]}):(0,a.jsx)(sm.Z,{userID:I,userRole:e,token:w,accessToken:U,keys:u,premiumUser:s})]})]})})})})}},88904:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(88913),i=s(57840),n=s(37592),o=s(63709),d=s(10353),c=s(19250),m=s(65925),u=s(46468),x=s(9114);t.Z=e=>{var t;let{accessToken:s,userID:h,userRole:p}=e,[g,j]=(0,l.useState)(!0),[f,y]=(0,l.useState)(null),[v,b]=(0,l.useState)(!1),[_,N]=(0,l.useState)({}),[Z,w]=(0,l.useState)(!1),[k,S]=(0,l.useState)([]),{Paragraph:C}=i.default,{Option:T}=n.default;(0,l.useEffect)(()=>{(async()=>{if(!s){j(!1);return}try{let e=await (0,c.getDefaultTeamSettings)(s);if(y(e),N(e.values||{}),s)try{let e=await (0,c.modelAvailableCall)(s,h,p);if(e&&e.data){let t=e.data.map(e=>e.id);S(t)}}catch(e){console.error("Error fetching available models:",e)}}catch(e){console.error("Error fetching team SSO settings:",e),x.Z.fromBackend("Failed to fetch team settings")}finally{j(!1)}})()},[s]);let A=async()=>{if(s){w(!0);try{let e=await (0,c.updateDefaultTeamSettings)(s,_);y({...f,values:e.settings}),b(!1),x.Z.success("Default team settings updated successfully")}catch(e){console.error("Error updating team settings:",e),x.Z.fromBackend("Failed to update team settings")}finally{w(!1)}}},L=(e,t)=>{N(s=>({...s,[e]:t}))},I=(e,t,s)=>{var l;let i=t.type;return"budget_duration"===e?(0,a.jsx)(m.Z,{value:_[e]||null,onChange:t=>L(e,t),className:"mt-2"}):"boolean"===i?(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(o.Z,{checked:!!_[e],onChange:t=>L(e,t)})}):"array"===i&&(null===(l=t.items)||void 0===l?void 0:l.enum)?(0,a.jsx)(n.default,{mode:"multiple",style:{width:"100%"},value:_[e]||[],onChange:t=>L(e,t),className:"mt-2",children:t.items.enum.map(e=>(0,a.jsx)(T,{value:e,children:e},e))}):"models"===e?(0,a.jsxs)(n.default,{mode:"multiple",style:{width:"100%"},value:_[e]||[],onChange:t=>L(e,t),className:"mt-2",children:[(0,a.jsx)(T,{value:"no-default-models",children:"No Default Models"},"no-default-models"),k.map(e=>(0,a.jsx)(T,{value:e,children:(0,u.W0)(e)},e))]}):"string"===i&&t.enum?(0,a.jsx)(n.default,{style:{width:"100%"},value:_[e]||"",onChange:t=>L(e,t),className:"mt-2",children:t.enum.map(e=>(0,a.jsx)(T,{value:e,children:e},e))}):(0,a.jsx)(r.oi,{value:void 0!==_[e]?String(_[e]):"",onChange:t=>L(e,t.target.value),placeholder:t.description||"",className:"mt-2"})},P=(e,t)=>null==t?(0,a.jsx)("span",{className:"text-gray-400",children:"Not set"}):"budget_duration"===e?(0,a.jsx)("span",{children:(0,m.m)(t)}):"boolean"==typeof t?(0,a.jsx)("span",{children:t?"Enabled":"Disabled"}):"models"===e&&Array.isArray(t)?0===t.length?(0,a.jsx)("span",{className:"text-gray-400",children:"None"}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:t.map((e,t)=>(0,a.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:(0,u.W0)(e)},t))}):"object"==typeof t?Array.isArray(t)?0===t.length?(0,a.jsx)("span",{className:"text-gray-400",children:"None"}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2 mt-1",children:t.map((e,t)=>(0,a.jsx)("span",{className:"px-2 py-1 bg-blue-100 rounded text-xs",children:"object"==typeof e?JSON.stringify(e):String(e)},t))}):(0,a.jsx)("pre",{className:"bg-gray-100 p-2 rounded text-xs overflow-auto mt-1",children:JSON.stringify(t,null,2)}):(0,a.jsx)("span",{children:String(t)});return g?(0,a.jsx)("div",{className:"flex justify-center items-center h-64",children:(0,a.jsx)(d.Z,{size:"large"})}):f?(0,a.jsxs)(r.Zb,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,a.jsx)(r.Dx,{className:"text-xl",children:"Default Team Settings"}),!g&&f&&(v?(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(r.zx,{variant:"secondary",onClick:()=>{b(!1),N(f.values||{})},disabled:Z,children:"Cancel"}),(0,a.jsx)(r.zx,{onClick:A,loading:Z,children:"Save Changes"})]}):(0,a.jsx)(r.zx,{onClick:()=>b(!0),children:"Edit Settings"}))]}),(0,a.jsx)(r.xv,{children:"These settings will be applied by default when creating new teams."}),(null==f?void 0:null===(t=f.field_schema)||void 0===t?void 0:t.description)&&(0,a.jsx)(C,{className:"mb-4 mt-2",children:f.field_schema.description}),(0,a.jsx)(r.iz,{}),(0,a.jsx)("div",{className:"mt-4 space-y-4",children:(()=>{let{values:e,field_schema:t}=f;return t&&t.properties?Object.entries(t.properties).map(t=>{let[s,l]=t,i=e[s],n=s.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase());return(0,a.jsxs)("div",{className:"mb-6 pb-6 border-b border-gray-200 last:border-0",children:[(0,a.jsx)(r.xv,{className:"font-medium text-lg",children:n}),(0,a.jsx)(C,{className:"text-sm text-gray-500 mt-1",children:l.description||"No description available"}),v?(0,a.jsx)("div",{className:"mt-2",children:I(s,l,i)}):(0,a.jsx)("div",{className:"mt-1 p-2 bg-gray-50 rounded",children:P(s,i)})]},s)}):(0,a.jsx)(r.xv,{children:"No schema information available"})})()})]}):(0,a.jsx)(r.Zb,{children:(0,a.jsx)(r.xv,{children:"No team settings available or you do not have permission to view them."})})}},49104:function(e,t,s){"use strict";s.d(t,{Z:function(){return O}});var a=s(57437),l=s(53410),r=s(74998),i=s(78489),n=s(12514),o=s(47323),d=s(12485),c=s(18135),m=s(35242),u=s(29706),x=s(77991),h=s(21626),p=s(97214),g=s(28241),j=s(58834),f=s(69552),y=s(71876),v=s(84264),b=s(2265),_=s(17906),N=s(21609),Z=s(9114),w=s(19250),k=s(87452),S=s(88829),C=s(72208),T=s(49566),A=s(10032),L=s(22116),I=s(19015),P=s(37592),z=s(5545),D=e=>{let{isModalVisible:t,accessToken:s,setIsModalVisible:l,setBudgetList:r}=e,[i]=A.Z.useForm(),n=async e=>{if(null!=s&&void 0!=s)try{Z.Z.info("Making API Call");let t=await (0,w.budgetCreateCall)(s,e);console.log("key create Response:",t),r(e=>e?[...e,t]:[t]),Z.Z.success("Budget Created"),i.resetFields()}catch(e){console.error("Error creating the key:",e),Z.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,a.jsx)(L.Z,{title:"Create Budget",visible:t,width:800,footer:null,onOk:()=>{l(!1),i.resetFields()},onCancel:()=>{l(!1),i.resetFields()},children:(0,a.jsxs)(A.Z,{form:i,onFinish:n,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(T.Z,{placeholder:""})}),(0,a.jsx)(A.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(k.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(C.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(S.Z,{children:[(0,a.jsx)(A.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(P.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(P.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(P.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(P.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(z.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},E=e=>{let{isModalVisible:t,accessToken:s,setIsModalVisible:l,setBudgetList:r,existingBudget:i,handleUpdateCall:n}=e;console.log("existingBudget",i);let[o]=A.Z.useForm();(0,b.useEffect)(()=>{o.setFieldsValue(i)},[i,o]);let d=async e=>{if(null!=s&&void 0!=s)try{Z.Z.info("Making API Call"),l(!0);let t=await (0,w.budgetUpdateCall)(s,e);r(e=>e?[...e,t]:[t]),Z.Z.success("Budget Updated"),o.resetFields(),n()}catch(e){console.error("Error creating the key:",e),Z.Z.fromBackend("Error creating the key: ".concat(e))}};return(0,a.jsx)(L.Z,{title:"Edit Budget",visible:t,width:800,footer:null,onOk:()=>{l(!1),o.resetFields()},onCancel:()=>{l(!1),o.resetFields()},children:(0,a.jsxs)(A.Z,{form:o,onFinish:d,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:i,children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(T.Z,{placeholder:""})}),(0,a.jsx)(A.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(k.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(C.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(S.Z,{children:[(0,a.jsx)(A.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(A.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(P.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(P.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(P.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(P.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(z.ZP,{htmlType:"submit",children:"Save"})})]})})},O=e=>{let{accessToken:t}=e,[s,k]=(0,b.useState)(!1),[S,C]=(0,b.useState)(!1),[T,A]=(0,b.useState)(null),[L,I]=(0,b.useState)([]),[P,z]=(0,b.useState)(!1),[O,F]=(0,b.useState)(!1);(0,b.useEffect)(()=>{t&&(0,w.getBudgetList)(t).then(e=>{I(e)})},[t]);let M=async e=>{null!=t&&(A(e),C(!0))},R=e=>{A(e),F(!0)},B=async()=>{if(T&&null!=t){z(!0);try{await (0,w.budgetDeleteCall)(t,T.budget_id),Z.Z.success("Budget deleted."),await q()}catch(e){console.error("Error deleting budget:",e),"function"==typeof Z.Z.fromBackend?Z.Z.fromBackend("Failed to delete budget"):Z.Z.info("Failed to delete budget")}finally{z(!1),F(!1),A(null)}}},q=async()=>{null!=t&&(0,w.getBudgetList)(t).then(e=>{I(e)})};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsx)(i.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>k(!0),children:"+ Create Budget"}),(0,a.jsx)(D,{accessToken:t,isModalVisible:s,setIsModalVisible:k,setBudgetList:I}),T&&(0,a.jsx)(E,{accessToken:t,isModalVisible:S,setIsModalVisible:C,setBudgetList:I,existingBudget:T,handleUpdateCall:q}),(0,a.jsxs)(n.Z,{children:[(0,a.jsx)(v.Z,{children:"Create a budget to assign to customers."}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(j.Z,{children:(0,a.jsxs)(y.Z,{children:[(0,a.jsx)(f.Z,{children:"Budget ID"}),(0,a.jsx)(f.Z,{children:"Max Budget"}),(0,a.jsx)(f.Z,{children:"TPM"}),(0,a.jsx)(f.Z,{children:"RPM"})]})}),(0,a.jsx)(p.Z,{children:L.slice().sort((e,t)=>new Date(t.updated_at).getTime()-new Date(e.updated_at).getTime()).map((e,t)=>(0,a.jsxs)(y.Z,{children:[(0,a.jsx)(g.Z,{children:e.budget_id}),(0,a.jsx)(g.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,a.jsx)(g.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,a.jsx)(g.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,a.jsx)(o.Z,{icon:l.Z,size:"sm",className:"cursor-pointer",onClick:()=>M(e)}),(0,a.jsx)(o.Z,{icon:r.Z,size:"sm",className:"cursor-pointer hover:text-red-500",onClick:()=>R(e)})]},t))})]})]}),(0,a.jsx)(N.Z,{isOpen:O,title:"Delete Budget?",message:"Are you sure you want to delete this budget? This action cannot be undone.",resourceInformationTitle:"Budget Information",resourceInformation:[{label:"Budget ID",value:null==T?void 0:T.budget_id,code:!0},{label:"Max Budget",value:null==T?void 0:T.max_budget},{label:"TPM",value:null==T?void 0:T.tpm_limit},{label:"RPM",value:null==T?void 0:T.rpm_limit}],onCancel:()=>{F(!1)},onOk:B,confirmLoading:P}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(v.Z,{className:"text-base",children:"How to use budget id"}),(0,a.jsxs)(c.Z,{children:[(0,a.jsxs)(m.Z,{children:[(0,a.jsx)(d.Z,{children:"Assign Budget to Customer"}),(0,a.jsx)(d.Z,{children:"Test it (Curl)"}),(0,a.jsx)(d.Z,{children:"Test it (OpenAI SDK)"})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsx)(u.Z,{children:(0,a.jsx)(_.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,a.jsx)(u.Z,{children:(0,a.jsx)(_.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,a.jsx)(u.Z,{children:(0,a.jsx)(_.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})}},94987:function(e,t,s){"use strict";s.d(t,{Z:function(){return i}});var a=s(57437),l=s(10012),r=s(91323);function i(){return(0,a.jsxs)("div",{className:(0,l.cx)("h-screen","flex items-center justify-center gap-4"),children:[(0,a.jsx)("div",{className:"text-lg font-medium py-2 pr-4 border-r border-r-gray-200",children:"\uD83D\uDE85 LiteLLM"}),(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)(r.S,{className:"size-4"}),(0,a.jsx)("span",{className:"text-gray-600 text-sm",children:"Loading..."})]})]})}},918:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(62490),i=s(19250),n=s(9114);t.Z=e=>{let{accessToken:t,userID:s}=e,[o,d]=(0,l.useState)([]);(0,l.useEffect)(()=>{(async()=>{if(t&&s)try{let e=await (0,i.availableTeamListCall)(t);d(e)}catch(e){console.error("Error fetching available teams:",e)}})()},[t,s]);let c=async e=>{if(t&&s)try{await (0,i.teamMemberAddCall)(t,e,{user_id:s,role:"user"}),n.Z.success("Successfully joined team"),d(t=>t.filter(t=>t.team_id!==e))}catch(e){console.error("Error joining team:",e),n.Z.fromBackend("Failed to join team")}};return(0,a.jsx)(r.Zb,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(r.iA,{children:[(0,a.jsx)(r.ss,{children:(0,a.jsxs)(r.SC,{children:[(0,a.jsx)(r.xs,{children:"Team Name"}),(0,a.jsx)(r.xs,{children:"Description"}),(0,a.jsx)(r.xs,{children:"Members"}),(0,a.jsx)(r.xs,{children:"Models"}),(0,a.jsx)(r.xs,{children:"Actions"})]})}),(0,a.jsxs)(r.RM,{children:[o.map(e=>(0,a.jsxs)(r.SC,{children:[(0,a.jsx)(r.pj,{children:(0,a.jsx)(r.xv,{children:e.team_alias})}),(0,a.jsx)(r.pj,{children:(0,a.jsx)(r.xv,{children:e.description||"No description available"})}),(0,a.jsx)(r.pj,{children:(0,a.jsxs)(r.xv,{children:[e.members_with_roles.length," members"]})}),(0,a.jsx)(r.pj,{children:(0,a.jsx)("div",{className:"flex flex-col",children:e.models&&0!==e.models.length?e.models.map((e,t)=>(0,a.jsx)(r.Ct,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(r.xv,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},t)):(0,a.jsx)(r.Ct,{size:"xs",color:"red",children:(0,a.jsx)(r.xv,{children:"All Proxy Models"})})})}),(0,a.jsx)(r.pj,{children:(0,a.jsx)(r.zx,{size:"xs",variant:"secondary",onClick:()=>c(e.team_id),children:"Join Team"})})]},e.team_id)),0===o.length&&(0,a.jsx)(r.SC,{children:(0,a.jsx)(r.pj,{colSpan:5,className:"text-center",children:(0,a.jsx)(r.xv,{children:"No available teams to join"})})})]})]})})}},59004:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(5545),i=s(23639),n=s(21700),o=s(19250),d=s(9114);t.Z=e=>{let{accessToken:t}=e,[s,c]=(0,l.useState)('{\n "model": "openai/gpt-4o",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n },\n {\n "role": "user",\n "content": "Explain quantum computing in simple terms"\n }\n ],\n "temperature": 0.7,\n "max_tokens": 500,\n "stream": true\n}'),[m,u]=(0,l.useState)(""),[x,h]=(0,l.useState)(!1),p=(e,t,s)=>{let a=JSON.stringify(t,null,2).split("\n").map(e=>" ".concat(e)).join("\n"),l=Object.entries(s).map(e=>{let[t,s]=e;return"-H '".concat(t,": ").concat(s,"'")}).join(" \\\n ");return"curl -X POST \\\n ".concat(e," \\\n ").concat(l?"".concat(l," \\\n "):"","-H 'Content-Type: application/json' \\\n -d '{\n").concat(a,"\n }'")},g=async()=>{h(!0);try{let e;try{e=JSON.parse(s)}catch(e){d.Z.fromBackend("Invalid JSON in request body"),h(!1);return}let a={call_type:"completion",request_body:e};if(!t){d.Z.fromBackend("No access token found"),h(!1);return}let l=await (0,o.transformRequestCall)(t,a);if(l.raw_request_api_base&&l.raw_request_body){let e=p(l.raw_request_api_base,l.raw_request_body,l.raw_request_headers||{});u(e),d.Z.success("Request transformed successfully")}else{let e="string"==typeof l?l:JSON.stringify(l);u(e),d.Z.info("Transformed request received in unexpected format")}}catch(e){console.error("Error transforming request:",e),d.Z.fromBackend("Failed to transform request")}finally{h(!1)}};return(0,a.jsxs)("div",{className:"w-full m-2",style:{overflow:"hidden"},children:[(0,a.jsx)(n.D,{children:"Playground"}),(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"See how LiteLLM transforms your request for the specified provider."}),(0,a.jsxs)("div",{style:{display:"flex",gap:"16px",width:"100%",minWidth:0,overflow:"hidden"},className:"mt-4",children:[(0,a.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"600px",minWidth:0},children:[(0,a.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,a.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Original Request"}),(0,a.jsx)("p",{style:{color:"#666",margin:0},children:"The request you would send to LiteLLM /chat/completions endpoint."})]}),(0,a.jsx)("textarea",{style:{flex:"1 1 auto",width:"100%",minHeight:"240px",padding:"16px",border:"1px solid #e8e8e8",borderRadius:"6px",fontFamily:"monospace",fontSize:"14px",resize:"none",marginBottom:"24px",overflow:"auto"},value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),g())},placeholder:"Press Cmd/Ctrl + Enter to transform"}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"auto"},children:(0,a.jsxs)(r.ZP,{type:"primary",style:{backgroundColor:"#000",display:"flex",alignItems:"center",gap:"8px"},onClick:g,loading:x,children:[(0,a.jsx)("span",{children:"Transform"}),(0,a.jsx)("span",{children:"→"})]})})]}),(0,a.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",border:"1px solid #e8e8e8",borderRadius:"8px",padding:"24px",overflow:"hidden",maxHeight:"800px",minWidth:0},children:[(0,a.jsxs)("div",{style:{marginBottom:"24px"},children:[(0,a.jsx)("h2",{style:{fontSize:"24px",fontWeight:"bold",margin:"0 0 4px 0"},children:"Transformed Request"}),(0,a.jsx)("p",{style:{color:"#666",margin:0},children:"How LiteLLM transforms your request for the specified provider."}),(0,a.jsx)("br",{}),(0,a.jsx)("p",{style:{color:"#666",margin:0},className:"text-xs",children:"Note: Sensitive headers are not shown."})]}),(0,a.jsxs)("div",{style:{position:"relative",backgroundColor:"#f5f5f5",borderRadius:"6px",flex:"1 1 auto",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,a.jsx)("pre",{style:{padding:"16px",fontFamily:"monospace",fontSize:"14px",margin:0,overflow:"auto",flex:"1 1 auto"},children:m||'curl -X POST \\\n https://api.openai.com/v1/chat/completions \\\n -H \'Authorization: Bearer sk-xxx\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "model": "gpt-4",\n "messages": [\n {\n "role": "system",\n "content": "You are a helpful assistant."\n }\n ],\n "temperature": 0.7\n }\''}),(0,a.jsx)(r.ZP,{type:"text",icon:(0,a.jsx)(i.Z,{}),style:{position:"absolute",right:"8px",top:"8px"},size:"small",onClick:()=>{navigator.clipboard.writeText(m||""),d.Z.success("Copied to clipboard")}})]})]})]}),(0,a.jsx)("div",{className:"mt-4 text-right w-full",children:(0,a.jsxs)("p",{className:"text-sm text-gray-500",children:["Found an error? File an issue"," ",(0,a.jsx)("a",{href:"https://github.com/BerriAI/litellm/issues",target:"_blank",rel:"noopener noreferrer",children:"here"}),"."]})})]})}},5183:function(e,t,s){"use strict";var a=s(57437),l=s(2265),r=s(19046),i=s(69734),n=s(19250),o=s(9114);t.Z=e=>{let{userID:t,userRole:s,accessToken:d}=e,{logoUrl:c,setLogoUrl:m}=(0,i.F)(),[u,x]=(0,l.useState)(""),[h,p]=(0,l.useState)(!1);(0,l.useEffect)(()=>{d&&g()},[d]);let g=async()=>{try{let t=(0,n.getProxyBaseUrl)(),s=await fetch(t?"".concat(t,"/get/ui_theme_settings"):"/get/ui_theme_settings",{method:"GET",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"}});if(s.ok){var e;let t=await s.json(),a=(null===(e=t.values)||void 0===e?void 0:e.logo_url)||"";x(a),m(a||null)}}catch(e){console.error("Error fetching theme settings:",e)}},j=async()=>{p(!0);try{let e=(0,n.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:u||null})})).ok)o.Z.success("Logo settings updated successfully!"),m(u||null);else throw Error("Failed to update settings")}catch(e){console.error("Error updating logo settings:",e),o.Z.fromBackend("Failed to update logo settings")}finally{p(!1)}},f=async()=>{x(""),m(null),p(!0);try{let e=(0,n.getProxyBaseUrl)();if((await fetch(e?"".concat(e,"/update/ui_theme_settings"):"/update/ui_theme_settings",{method:"PATCH",headers:{Authorization:"Bearer ".concat(d),"Content-Type":"application/json"},body:JSON.stringify({logo_url:null})})).ok)o.Z.success("Logo reset to default!");else throw Error("Failed to reset logo")}catch(e){console.error("Error resetting logo:",e),o.Z.fromBackend("Failed to reset logo")}finally{p(!1)}};return d?(0,a.jsxs)("div",{className:"w-full mx-auto max-w-4xl px-6 py-8",children:[(0,a.jsxs)("div",{className:"mb-8",children:[(0,a.jsx)(r.Dx,{className:"text-2xl font-bold mb-2",children:"Logo Customization"}),(0,a.jsx)(r.xv,{className:"text-gray-600",children:"Customize your LiteLLM admin dashboard with a custom logo."})]}),(0,a.jsx)(r.Zb,{className:"shadow-sm p-6",children:(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(r.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Custom Logo URL"}),(0,a.jsx)(r.oi,{placeholder:"https://example.com/logo.png",value:u,onValueChange:e=>{x(e),m(e||null)},className:"w-full"}),(0,a.jsx)(r.xv,{className:"text-xs text-gray-500 mt-1",children:"Enter a URL for your custom logo or leave empty to use the default LiteLLM logo"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(r.xv,{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Current Logo"}),(0,a.jsx)("div",{className:"bg-gray-50 rounded-lg p-6 flex items-center justify-center min-h-[120px]",children:u?(0,a.jsx)("img",{src:u,alt:"Custom logo",className:"max-w-full max-h-24 object-contain",onError:e=>{var t;let s=e.target;s.style.display="none";let a=document.createElement("div");a.className="text-gray-500 text-sm",a.textContent="Failed to load image",null===(t=s.parentElement)||void 0===t||t.appendChild(a)}}):(0,a.jsx)(r.xv,{className:"text-gray-500 text-sm",children:"Default LiteLLM logo will be used"})})]}),(0,a.jsxs)("div",{className:"flex gap-3 pt-4",children:[(0,a.jsx)(r.zx,{onClick:j,loading:h,disabled:h,color:"indigo",children:"Save Changes"}),(0,a.jsx)(r.zx,{onClick:f,loading:h,disabled:h,variant:"secondary",color:"gray",children:"Reset to Default"})]})]})})]}):null}},79262:function(e,t,s){"use strict";s.d(t,{Z:function(){return x}});var a=s(57437);s(1309);var l=s(76865),r=s(70525),i=s(95805),n=s(51817),o=s(21047);s(22135),s(40875);var d=s(49663),c=s(2265),m=s(19250);let u=function(){for(var e=arguments.length,t=Array(e),s=0;s{(async()=>{if(t){v(!0),_(null);try{let e=await (0,m.getRemainingUsers)(t);f(e)}catch(e){console.error("Failed to fetch usage data:",e),_("Failed to load usage data")}finally{v(!1)}}})()},[t]);let{isOverLimit:N,isNearLimit:Z,usagePercentage:w,userMetrics:k,teamMetrics:S}=(e=>{if(!e)return{isOverLimit:!1,isNearLimit:!1,usagePercentage:0,userMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0},teamMetrics:{isOverLimit:!1,isNearLimit:!1,usagePercentage:0}};let t=e.total_users?e.total_users_used/e.total_users*100:0,s=t>100,a=t>=80&&t<=100,l=e.total_teams?e.total_teams_used/e.total_teams*100:0,r=l>100,i=l>=80&&l<=100,n=s||r;return{isOverLimit:n,isNearLimit:(a||i)&&!n,usagePercentage:Math.max(t,l),userMetrics:{isOverLimit:s,isNearLimit:a,usagePercentage:t},teamMetrics:{isOverLimit:r,isNearLimit:i,usagePercentage:l}}})(j),C=()=>N?(0,a.jsx)(l.Z,{className:"h-3 w-3"}):Z?(0,a.jsx)(r.Z,{className:"h-3 w-3"}):null;return t&&((null==j?void 0:j.total_users)!==null||(null==j?void 0:j.total_teams)!==null)?(0,a.jsx)("div",{className:"fixed bottom-4 left-4 z-50",style:{width:"".concat(Math.min(s,220),"px")},children:(0,a.jsx)(()=>p?(0,a.jsx)("button",{onClick:()=>g(!1),className:u("bg-white border border-gray-200 rounded-lg shadow-sm p-3 hover:shadow-md transition-all w-full"),title:"Show usage details",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(N||Z)&&(0,a.jsx)("span",{className:"flex-shrink-0",children:C()}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium truncate",children:[j&&null!==j.total_users&&(0,a.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",k.isOverLimit&&"bg-red-50 text-red-700 border-red-200",k.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!k.isOverLimit&&!k.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["U: ",j.total_users_used,"/",j.total_users]}),j&&null!==j.total_teams&&(0,a.jsxs)("span",{className:u("flex-shrink-0 px-1.5 py-0.5 rounded text-xs border",S.isOverLimit&&"bg-red-50 text-red-700 border-red-200",S.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!S.isOverLimit&&!S.isNearLimit&&"bg-gray-50 text-gray-700 border-gray-200"),children:["T: ",j.total_teams_used,"/",j.total_teams]}),!j||null===j.total_users&&null===j.total_teams&&(0,a.jsx)("span",{className:"truncate",children:"Usage"})]})]})}):y?(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 w-full",children:(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2 py-2",children:[(0,a.jsx)(n.Z,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{className:"text-sm text-gray-500 truncate",children:"Loading..."})]})}):b||!j?(0,a.jsx)("div",{className:"bg-white border border-gray-200 rounded-lg shadow-sm p-4 group w-full",children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)("span",{className:"text-sm text-gray-500 truncate block",children:b||"No data"})}),(0,a.jsx)("button",{onClick:()=>g(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,a.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]})}):(0,a.jsxs)("div",{className:u("bg-white border rounded-lg shadow-sm p-3 transition-all duration-200 group w-full"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4 flex-shrink-0"}),(0,a.jsx)("span",{className:"font-medium text-sm truncate",children:"Usage"})]}),(0,a.jsx)("button",{onClick:()=>g(!0),className:"opacity-0 group-hover:opacity-100 p-1 hover:bg-gray-100 rounded transition-all flex-shrink-0",title:"Minimize",children:(0,a.jsx)(o.Z,{className:"h-3 w-3 text-gray-400"})})]}),(0,a.jsxs)("div",{className:"space-y-3 text-sm",children:[null!==j.total_users&&(0,a.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",k.isOverLimit&&"border-red-200 bg-red-50",k.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,a.jsx)(i.Z,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"font-medium",children:"Users"}),(0,a.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",k.isOverLimit&&"bg-red-50 text-red-700 border-red-200",k.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!k.isOverLimit&&!k.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:k.isOverLimit?"Over limit":k.isNearLimit?"Near limit":"OK"})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[j.total_users_used,"/",j.total_users]})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,a.jsx)("span",{className:u("font-medium text-right",k.isOverLimit&&"text-red-600",k.isNearLimit&&"text-yellow-600"),children:j.total_users_remaining})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[Math.round(k.usagePercentage),"%"]})]}),(0,a.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,a.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",k.isOverLimit&&"bg-red-500",k.isNearLimit&&"bg-yellow-500",!k.isOverLimit&&!k.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(k.usagePercentage,100),"%")}})})]}),null!==j.total_teams&&(0,a.jsxs)("div",{className:u("space-y-1 border rounded-md p-2",S.isOverLimit&&"border-red-200 bg-red-50",S.isNearLimit&&"border-yellow-200 bg-yellow-50"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-600 mb-1",children:[(0,a.jsx)(d.Z,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"font-medium",children:"Teams"}),(0,a.jsx)("span",{className:u("ml-1 px-1.5 py-0.5 rounded border",S.isOverLimit&&"bg-red-50 text-red-700 border-red-200",S.isNearLimit&&"bg-yellow-50 text-yellow-700 border-yellow-200",!S.isOverLimit&&!S.isNearLimit&&"bg-gray-50 text-gray-600 border-gray-200"),children:S.isOverLimit?"Over limit":S.isNearLimit?"Near limit":"OK"})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Used:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[j.total_teams_used,"/",j.total_teams]})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Remaining:"}),(0,a.jsx)("span",{className:u("font-medium text-right",S.isOverLimit&&"text-red-600",S.isNearLimit&&"text-yellow-600"),children:j.total_teams_remaining})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-gray-600 text-xs",children:"Usage:"}),(0,a.jsxs)("span",{className:"font-medium text-right",children:[Math.round(S.usagePercentage),"%"]})]}),(0,a.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,a.jsx)("div",{className:u("h-2 rounded-full transition-all duration-300",S.isOverLimit&&"bg-red-500",S.isNearLimit&&"bg-yellow-500",!S.isOverLimit&&!S.isNearLimit&&"bg-green-500"),style:{width:"".concat(Math.min(S.usagePercentage,100),"%")}})})]})]})]}),{})}):null}},97060:function(e,t,s){"use strict";s.d(t,{v:function(){return l}});var a=s(14474);function l(e){try{let t=(0,a.o)(e);if(t&&"number"==typeof t.exp)return 1e3*t.exp<=Date.now();return!1}catch(e){return!0}}}},function(e){e.O(0,[9546,1047,3665,6990,9028,9409,4865,337,8135,1442,2926,2409,3367,353,1994,7318,3705,8565,3709,5319,5333,5869,525,6609,1713,7906,9611,2618,7140,816,7271,8237,9349,8468,2843,2586,849,6640,605,3621,1345,8049,4679,2202,874,4292,7526,1253,2249,2012,2004,1200,7641,8478,3801,170,6399,6653,8524,1739,8449,6600,9111,9039,8143,7975,2273,2971,2117,1744],function(){return e(e.s=97731)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/main-app-77a6ca3c04ee9adf.js b/litellm/proxy/_experimental/out/_next/static/chunks/main-app-c6945ec5b2d5e671.js similarity index 81% rename from litellm/proxy/_experimental/out/_next/static/chunks/main-app-77a6ca3c04ee9adf.js rename to litellm/proxy/_experimental/out/_next/static/chunks/main-app-c6945ec5b2d5e671.js index 3be8daf3eb..e044158508 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/main-app-77a6ca3c04ee9adf.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/main-app-c6945ec5b2d5e671.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1744],{78483:function(e,n,t){Promise.resolve().then(t.t.bind(t,12846,23)),Promise.resolve().then(t.t.bind(t,19107,23)),Promise.resolve().then(t.t.bind(t,61060,23)),Promise.resolve().then(t.t.bind(t,4707,23)),Promise.resolve().then(t.t.bind(t,80,23)),Promise.resolve().then(t.t.bind(t,36423,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[2971,2117],function(){return n(54278),n(78483)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1744],{96024:function(e,n,t){Promise.resolve().then(t.t.bind(t,12846,23)),Promise.resolve().then(t.t.bind(t,19107,23)),Promise.resolve().then(t.t.bind(t,61060,23)),Promise.resolve().then(t.t.bind(t,4707,23)),Promise.resolve().then(t.t.bind(t,80,23)),Promise.resolve().then(t.t.bind(t,36423,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[2971,2117],function(){return n(54278),n(96024)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/main-598d78e71630173a.js b/litellm/proxy/_experimental/out/_next/static/chunks/main-e4e168e4dfadea03.js similarity index 99% rename from litellm/proxy/_experimental/out/_next/static/chunks/main-598d78e71630173a.js rename to litellm/proxy/_experimental/out/_next/static/chunks/main-e4e168e4dfadea03.js index 32c718d58f..5d3580f090 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/main-598d78e71630173a.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/main-e4e168e4dfadea03.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{84878:function(e,t){"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},40037:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},41412:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(77652),o=r(68796);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28878:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(68796);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n25){window.location.reload();return}clearTimeout(r),r=setTimeout(t,s>5?5e3:1e3)}n&&n.close();let u=(0,o.getSocketUrl)(e.assetPrefix);(n=new window.WebSocket(""+u+e.path)).onopen=function(){s=0,window.console.log("[HMR] connected")},n.onerror=i,n.onclose=i,n.onmessage=function(e){let t=JSON.parse(e.data);for(let e of a)e(t)}}()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},97193:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let n=t.title?t.title[0]:null,o="";if(n){let{children:e}=n.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{r(e,t[e]||[])})}}}r=(e,t)=>{let r=document.getElementsByTagName("head")[0],n=r.querySelector("meta[name=next-head-count]"),i=Number(n.content),u=[];for(let t=0,r=n.previousElementSibling;t{for(let t=0,r=u.length;t{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),l.forEach(e=>r.insertBefore(e,n)),n.content=(i-u.length+l.length).toString()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24500:function(e,t,r){"use strict";let n,o,a,i,u,s,l,c,f,d,p,h;Object.defineProperty(t,"__esModule",{value:!0});let m=r(61757);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return X},hydrate:function(){return ef},initialize:function(){return K},router:function(){return n},version:function(){return q}});let _=r(38754),g=r(85893);r(40037);let y=_._(r(67294)),P=_._(r(20745)),b=r(20077),v=_._(r(58967)),E=r(37171),S=r(12179),R=r(31735),O=r(38600),j=r(45758),T=r(45782),w=r(1493),A=_._(r(52071)),I=_._(r(21413)),C=_._(r(65736)),x=r(63622),M=r(37253),N=r(80676),L=r(98261),D=r(91566),F=r(71838),U=r(3068),k=r(82488),B=r(10213),H=_._(r(36920)),W=_._(r(57930)),G=_._(r(95179)),q="14.2.33",X=(0,v.default)(),V=e=>[].slice.call(e),z=!1;class Y extends y.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,R.isDynamicRoute)(n.pathname)||location.search||z)||o.props&&o.props.__N_SSG&&(location.search||z))&&n.replace(n.pathname+"?"+String((0,O.assign)((0,O.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!z}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function K(e){void 0===e&&(e={}),W.default.onSpanEnd(G.default),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,j.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,F.hasBasePath)(a)&&(a=(0,D.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(95026);e(o.scriptLoader)}i=new I.default(o.buildId,t);let l=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>l(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=l,(s=(0,A.default)()).getIsSsr=()=>n.isSsr,u=document.getElementById("__next"),{assetPrefix:t}}function $(e,t){return(0,g.jsx)(e,{...t})}function Q(e){var t;let{children:r}=e,o=y.default.useMemo(()=>(0,k.adaptForAppRouterInstance)(n),[]);return(0,g.jsx)(Y,{fn:e=>Z({App:f,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,g.jsx)(U.AppRouterContext.Provider,{value:o,children:(0,g.jsx)(B.SearchParamsContext.Provider,{value:(0,k.adaptForSearchParams)(n),children:(0,g.jsx)(k.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,g.jsx)(B.PathParamsContext.Provider,{value:(0,k.adaptForPathParams)(n),children:(0,g.jsx)(E.RouterContext.Provider,{value:(0,M.makePublicRouterInstance)(n),children:(0,g.jsx)(b.HeadManagerContext.Provider,{value:s,children:(0,g.jsx)(L.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1},children:r})})})})})})})})}let J=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,g.jsx)(Q,{children:$(e,r)})};function Z(e){let{App:t,err:u}=e;return console.error(u),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==l?void 0:l.Component)===o?Promise.resolve().then(()=>m._(r(18529))).then(n=>Promise.resolve().then(()=>m._(r(48141))).then(r=>(t=r.default,e.App=t,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:s,styleSheets:l}=r,c=J(t),f={Component:s,AppTree:c,router:n,ctx:{err:u,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,f)).then(t=>el({...e,err:u,Component:s,styleSheets:l,props:t}))})}function ee(e){let{callback:t}=e;return y.default.useLayoutEffect(()=>t(),[t]),null}let et={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},er={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},en=null,eo=!0;function ea(){[et.beforeRender,et.afterHydrate,et.afterRender,et.routeChange].forEach(e=>performance.clearMarks(e))}function ei(){T.ST&&(performance.mark(et.afterHydrate),performance.getEntriesByName(et.beforeRender,"mark").length&&(performance.measure(er.beforeHydration,et.navigationStart,et.beforeRender),performance.measure(er.hydration,et.beforeRender,et.afterHydrate)),d&&performance.getEntriesByName(er.hydration).forEach(d),ea())}function eu(){if(!T.ST)return;performance.mark(et.afterRender);let e=performance.getEntriesByName(et.routeChange,"mark");e.length&&(performance.getEntriesByName(et.beforeRender,"mark").length&&(performance.measure(er.routeChangeToRender,e[0].name,et.beforeRender),performance.measure(er.render,et.beforeRender,et.afterRender),d&&(performance.getEntriesByName(er.render).forEach(d),performance.getEntriesByName(er.routeChangeToRender).forEach(d))),ea(),[er.routeChangeToRender,er.render].forEach(e=>performance.clearMeasures(e)))}function es(e){let{callbacks:t,children:r}=e;return y.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),y.default.useEffect(()=>{(0,C.default)(d)},[]),r}function el(e){let t,{App:r,Component:o,props:a,err:i}=e,s="initial"in e?void 0:e.styleSheets;o=o||l.Component;let f={...a=a||l.props,Component:o,err:i,router:n};l=f;let d=!1,p=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{d=!0,c=null;let e=Error("Cancel rendering route");e.cancelled=!0,r(e)}});function h(){t()}!function(){if(!s)return;let e=new Set(V(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");s.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let m=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ee,{callback:function(){if(s&&!d){let e=new Set(s.map(e=>e.href)),t=V(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),V(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,S.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,g.jsxs)(Q,{children:[$(r,f),(0,g.jsx)(w.Portal,{type:"next-route-announcer",children:(0,g.jsx)(x.RouteAnnouncer,{})})]})]});return!function(e,t){T.ST&&performance.mark(et.beforeRender);let r=t(eo?ei:eu);en?(0,y.default.startTransition)(()=>{en.render(r)}):(en=P.default.hydrateRoot(e,r,{onRecoverableError:H.default}),eo=!1)}(u,e=>(0,g.jsx)(es,{callbacks:[e,h],children:m})),p}async function ec(e){if(e.err&&(void 0===e.Component||!e.isHydratePass)){await Z(e);return}try{await el(e)}catch(r){let t=(0,N.getProperError)(r);if(t.cancelled)throw t;await Z({...e,err:t})}}async function ef(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;f=t,r&&r.reportWebVitals&&(d=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:u,entryType:s,entries:l,attribution:c}=e,f=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);l&&l.length&&(t=l[0].startTime);let d={id:n||f,name:o,startTime:a||t,value:null==i?u:i,label:"mark"===s||"measure"===s?"custom":"web-vital"};c&&(d.attribution=c),r.reportWebVitals(d)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,N.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,M.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:f,Component:p,wrapApp:J,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>ec(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),z=await n._initialMatchesMiddlewarePromise;let r={App:f,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),ec(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},62288:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(99151);let n=r(24500);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},68796:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(33575),o=r(80626),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return""+(0,n.removeTrailingSlash)(t)+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36920:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(85575);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,n.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},21413:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let n=r(38754),o=r(41412),a=r(37399),i=n._(r(20116)),u=r(28878),s=r(31735),l=r(62757),c=r(33575),f=r(32856);r(45104);class d{getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:f,query:d,search:p}=(0,l.parseRelativeUrl)(r),{pathname:h}=(0,l.parseRelativeUrl)(t),m=(0,c.removeTrailingSlash)(f);if("/"!==m[0])throw Error('Route name should start with a "/", got "'+m+'"');return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,u.addLocale)(e,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+t+p,!0)})(e.skipInterpolation?h:(0,s.isDynamicRoute)(m)?(0,a.interpolateAs)(f,h,d).result:m)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65736:function(e,t,r){"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let o=["CLS","FCP","FID","INP","LCP","TTFB"];location.href;let a=!1;function i(e){n&&n(e)}let u=e=>{if(n=e,!a)for(let e of(a=!0,o))try{let t;t||(t=r(78018)),t["on"+e](i)}catch(t){console.warn("Failed to track "+e+" web-vital",t)}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1493:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(67294),o=r(73935),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91566:function(e,t,r){"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(71838),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},14509:function(e,t,r){"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(80626),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},66078:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},64813:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(38600),o=r(5058),a=r(12795),i=r(45782),u=r(68796),s=r(65853),l=r(72189),c=r(37399);function f(e,t,r){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,s.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,l.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:u}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,u)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63622:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return s},default:function(){return l}});let n=r(38754),o=r(85893),a=n._(r(67294)),i=r(37253),u={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},s=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:u,children:t})},l=s;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},32856:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return p},isAssetError:function(){return l},markAssetError:function(){return s}}),r(38754),r(20116);let n=r(92518),o=r(66078),a=r(84878);function i(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,o={resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let u=Symbol("ASSET_LOAD_ERROR");function s(e){return Object.defineProperty(e,u,{})}function l(e){return e&&u in e}let c=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),f=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function d(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function p(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):d(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,s(Error("Failed to load client build manifest")))}function h(e,t){return p().then(r=>{if(!(t in r))throw s(Error("Failed to lookup route: "+t));let o=r[t].map(t=>e+"/_next/"+encodeURI(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+f()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+f())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function u(e){{var t;let n=r.get(e.toString());return n||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(s(Error("Failed to load script: "+e))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n))}}function l(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Error("Failed to load stylesheet: "+e);return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw s(e)})),t}return{whenEntrypoint:e=>i(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return i(r,a,()=>{let o;return d(h(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(u)),Promise.all(o.map(l))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,s(Error("Route did not complete loading: "+r))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():h(e,t).then(e=>Promise.all(c?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{if(document.querySelector('\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]'))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(s(Error("Failed to prefetch: "+t))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37253:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return m},default:function(){return p},makePublicRouterInstance:function(){return _},useRouter:function(){return h},withRouter:function(){return s.default}});let n=r(38754),o=n._(r(67294)),a=n._(r(29668)),i=r(37171),u=n._(r(80676)),s=n._(r(538)),l={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function d(){if(!l.router)throw Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return l.router}Object.defineProperty(l,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(l,e,{get:()=>d()[e]})}),f.forEach(e=>{l[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{l.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),l.readyCallbacks=[],l.router}function _(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:u="afterInteractive",onError:s,stylesheets:c}=e,m=r||t;if(m&&d.has(m))return;if(f.has(t)){d.add(m),f.get(t).then(n,s);return}let _=()=>{o&&o(),d.add(m)},g=document.createElement("script"),y=new Promise((e,t)=>{g.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),g.addEventListener("error",function(e){t(e)})}).catch(function(e){s&&s(e)});for(let[r,n]of(a?(g.innerHTML=a.__html||"",_()):i?(g.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(g.src=t,f.set(t,y)),Object.entries(e))){if(void 0===n||p.includes(r))continue;let e=l.DOMAttributeNames[r]||r.toLowerCase();g.setAttribute(e,n)}"worker"===u&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",u),c&&h(c),document.body.appendChild(g)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>m(e))}):m(e)}function g(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");d.add(t)})}function y(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:l="afterInteractive",onError:f,stylesheets:p,...h}=e,{updateScripts:_,scripts:g,getIsSsr:y,appDir:P,nonce:b}=(0,u.useContext)(s.HeadManagerContext),v=(0,u.useRef)(!1);(0,u.useEffect)(()=>{let e=t||r;v.current||(o&&e&&d.has(e)&&o(),v.current=!0)},[o,t,r]);let E=(0,u.useRef)(!1);if((0,u.useEffect)(()=>{!E.current&&("afterInteractive"===l?m(e):"lazyOnload"===l&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>m(e))})),E.current=!0)},[e,l]),("beforeInteractive"===l||"worker"===l)&&(_?(g[l]=(g[l]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:f,...h}]),_(g)):y&&y()?d.add(t||r):y&&!y()&&m(e)),P){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===l)return r?(i.default.preload(r,h.integrity?{as:"script",integrity:h.integrity,nonce:b,crossOrigin:h.crossOrigin}:{as:"script",nonce:b,crossOrigin:h.crossOrigin}),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{...h,id:t}])+")"}})):(h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...h,id:t}])+")"}}));"afterInteractive"===l&&r&&i.default.preload(r,h.integrity?{as:"script",integrity:h.integrity,nonce:b,crossOrigin:h.crossOrigin}:{as:"script",nonce:b,crossOrigin:h.crossOrigin})}return null}Object.defineProperty(y,"__nextScript",{value:!0});let P=y;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},95179:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(45303);function o(e){if("ended"!==e.state.state)throw Error("Expected span to be ended");(0,n.sendMessage)(JSON.stringify({event:"span-end",startTime:e.startTime,endTime:e.state.endTime,spanName:e.name,attributes:e.attributes}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},57930:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(38754)._(r(58967));class o{end(e){if("ended"===this.state.state)throw Error("Span has already ended");this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},92518:function(e,t){"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99151:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(84878),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},538:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(38754);let n=r(85893);r(67294);let o=r(37253);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},48141:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=r(38754),o=r(85893),a=n._(r(67294)),i=r(45782);async function u(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,i.loadGetInitialProps)(t,r)}}class s extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}s.origGetInitialProps=u,s.getInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},18529:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(38754),o=r(85893),a=n._(r(67294)),i=n._(r(50494)),u={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function s(e){let{res:t,err:r}=e;return{statusCode:t&&t.statusCode?t.statusCode:r?r.statusCode:404}}let l={error:{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"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class c extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||u[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:l.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:l.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:l.h1,children:e}):null,(0,o.jsx)("div",{style:l.wrap,children:(0,o.jsxs)("h2",{style:l.h2,children:[this.props.title||e?r:(0,o.jsx)(o.Fragment,{children:"Application error: a client-side exception has occurred (see the browser console for more information)"}),"."]})})]})]})}}c.displayName="ErrorPage",c.getInitialProps=s,c.origGetInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},75010:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(38754)._(r(67294)).default.createContext({})},98579:function(e,t){"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},3068:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return s},TemplateContext:function(){return u}});let n=r(38754)._(r(67294)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),u=n.default.createContext(null),s=n.default.createContext(new Set)},69970:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,1540483477);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},45104:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return y},APP_CLIENT_INTERNALS:function(){return K},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return _},AUTOMATIC_FONT_OPTIMIZATION_MANIFEST:function(){return x},BARREL_OPTIMIZATION_PREFIX:function(){return H},BLOCKED_PAGES:function(){return D},BUILD_ID_FILE:function(){return L},BUILD_MANIFEST:function(){return g},CLIENT_PUBLIC_FILES_PATH:function(){return F},CLIENT_REFERENCE_MANIFEST:function(){return W},CLIENT_STATIC_FILES_PATH:function(){return U},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Q},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return z},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return Y},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return $},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return J},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return N},DEFAULT_RUNTIME_WEBPACK:function(){return et},DEFAULT_SANS_SERIF_FONT:function(){return es},DEFAULT_SERIF_FONT:function(){return eu},DEV_CLIENT_PAGES_MANIFEST:function(){return w},DEV_MIDDLEWARE_MANIFEST:function(){return I},EDGE_RUNTIME_WEBPACK:function(){return er},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return S},EXPORT_MARKER:function(){return E},FUNCTIONS_CONFIG_MANIFEST:function(){return P},GOOGLE_FONT_PROVIDER:function(){return ea},IMAGES_MANIFEST:function(){return j},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return V},MIDDLEWARE_BUILD_MANIFEST:function(){return q},MIDDLEWARE_MANIFEST:function(){return A},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return X},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return B},NEXT_FONT_MANIFEST:function(){return v},OPTIMIZED_FONT_PROVIDERS:function(){return ei},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return f},PHASE_EXPORT:function(){return s},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return l},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return d},PRERENDER_MANIFEST:function(){return R},REACT_LOADABLE_MANIFEST:function(){return C},ROUTES_MANIFEST:function(){return O},RSC_MODULE_TYPES:function(){return ed},SERVER_DIRECTORY:function(){return M},SERVER_FILES_MANIFEST:function(){return T},SERVER_PROPS_ID:function(){return eo},SERVER_REFERENCE_MANIFEST:function(){return G},STATIC_PROPS_ID:function(){return en},STATIC_STATUS_PAGES:function(){return el},STRING_LITERAL_DROP_BUNDLE:function(){return k},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return b},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ef},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return u}});let n=r(38754)._(r(60979)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",u=""+i+"/page",s="phase-export",l="phase-production-build",c="phase-production-server",f="phase-development-server",d="phase-test",p="phase-info",h="pages-manifest.json",m="app-paths-manifest.json",_="app-path-routes-manifest.json",g="build-manifest.json",y="app-build-manifest.json",P="functions-config-manifest.json",b="subresource-integrity-manifest",v="next-font-manifest",E="export-marker.json",S="export-detail.json",R="prerender-manifest.json",O="routes-manifest.json",j="images-manifest.json",T="required-server-files.json",w="_devPagesManifest.json",A="middleware-manifest.json",I="_devMiddlewareManifest.json",C="react-loadable-manifest.json",x="font-manifest.json",M="server",N=["next.config.js","next.config.mjs"],L="BUILD_ID",D=["/_document","/_app","/_error"],F="public",U="static",k="__NEXT_DROP_CLIENT_FILE__",B="__NEXT_BUILTIN_DOCUMENT__",H="__barrel_optimize__",W="client-reference-manifest",G="server-reference-manifest",q="middleware-build-manifest",X="middleware-react-loadable-manifest",V="interception-route-rewrite-manifest",z="main",Y=""+z+"-app",K="app-pages-internals",$="react-refresh",Q="amp",J="webpack",Z="polyfills",ee=Symbol(Z),et="webpack-runtime",er="edge-runtime-webpack",en="__N_SSG",eo="__N_SSP",ea="https://fonts.googleapis.com/",ei=[{url:ea,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}],eu={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},es={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},el=["/500"],ec=1,ef=6e3,ed={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([z,$,Q,Y]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},34592:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},20077:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(38754)._(r(67294)).default.createContext({})},50494:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return f}});let n=r(38754),o=r(61757),a=r(85893),i=o._(r(67294)),u=n._(r(3657)),s=r(75010),l=r(20077),c=r(98579);function f(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function d(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(79784);let p=["name","httpEquiv","charSet","itemProp"];function h(e,t){let{inAmpMode:r}=t;return e.reduce(d,[]).reverse().concat(f(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=p.length;e{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:n})})}let m=function(e){let{children:t}=e,r=(0,i.useContext)(s.AmpStateContext),n=(0,i.useContext)(l.HeadManagerContext);return(0,a.jsx)(u.default,{reduceComponentsToState:h,headManager:n,inAmpMode:(0,c.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},10213:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(67294),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},91623:function(e,t){"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},98261:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(38754)._(r(67294)),o=r(64666),a=n.default.createContext(o.imageConfigDefault)},64666:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},58299:function(e,t){"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},85575:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},58967:function(e,t){"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},60979:function(e){"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},3349:function(e,t){"use strict";function r(e){let t=(null==e?void 0:e.replace(/^\/+|\/+$/g,""))||!1;if(!t)return"";if(URL.canParse(t)){let e=new URL(t).toString();return e.endsWith("/")?e.slice(0,-1):e}return"/"+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizedAssetPrefix",{enumerable:!0,get:function(){return r}})},75876:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(72189),o=r(24212);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},75078:function(e,t){"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},24212:function(e,t){"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},37171:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(38754)._(r(67294)).default.createContext(null)},82488:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return d},adaptForSearchParams:function(){return f}});let n=r(61757),o=r(85893),a=n._(r(67294)),i=r(10213),u=r(72189),s=r(4232),l=r(36309);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},fastRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function f(e){return e.isReady&&e.query?(0,s.asPathToSearchParams)(e.asPath):new URLSearchParams}function d(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,l.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,s=(0,a.useRef)(n.isAutoExport),l=(0,a.useMemo)(()=>{let e;let t=s.current;if(t&&(s.current=!1),(0,u.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:l,children:t})}},29668:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return G},default:function(){return V},matchesMiddleware:function(){return L}});let n=r(38754),o=r(61757),a=r(33575),i=r(32856),u=r(95026),s=o._(r(80676)),l=r(75876),c=r(91623),f=n._(r(58967)),d=r(45782),p=r(31735),h=r(62757);r(72431);let m=r(43323),_=r(36309),g=r(5058);r(97193);let y=r(80626),P=r(28878),b=r(14509),v=r(91566),E=r(41412),S=r(71838),R=r(64813),O=r(79423),j=r(58754),T=r(15604),w=r(9012),A=r(65853),I=r(6312),C=r(12795),x=r(37399),M=r(12179);function N(){return Object.assign(Error("Route Cancelled"),{cancelled:!0})}async function L(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,y.parsePath)(e.asPath),n=(0,S.hasBasePath)(r)?(0,v.removeBasePath)(r):r,o=(0,E.addBasePath)((0,P.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function D(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function F(e,t,r){let[n,o]=(0,R.resolveHref)(e,t,!0),a=(0,d.getLocationOrigin)(),i=n.startsWith(a),u=o&&o.startsWith(a);n=D(n),o=o?D(o):o;let s=i?n:(0,E.addBasePath)(n),l=r?D((0,R.resolveHref)(e,r)):o||n;return{url:s,as:u?l:(0,E.addBasePath)(l)}}function U(e,t){let r=(0,a.removeTrailingSlash)((0,l.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,_.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function k(e){if(!await L(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!1},o=t.headers.get("x-nextjs-rewrite"),u=o||t.headers.get("x-nextjs-matched-path"),s=t.headers.get("x-matched-path");if(!s||u||s.includes("__next_data_catchall")||s.includes("/_error")||s.includes("/404")||(u=s),u){if(u.startsWith("/")){let t=(0,h.parseRelativeUrl)(u),s=(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),l=(0,a.removeTrailingSlash)(s.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:u}]=a,f=(0,P.addLocale)(s.pathname,s.locale);if((0,p.isDynamicRoute)(f)||!o&&i.includes((0,c.normalizeLocalePath)((0,v.removeBasePath)(f),r.router.locales).pathname)){let r=(0,j.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});f=(0,E.addBasePath)(r.pathname),t.pathname=f}if(!i.includes(l)){let e=U(l,i);e!==l&&(l=e)}let d=i.includes(l)?l:U((0,c.normalizeLocalePath)((0,v.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(d)){let e=(0,m.getRouteMatcher)((0,_.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,y.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let l=t.headers.get("x-nextjs-redirect");if(l){if(l.startsWith("/")){let e=(0,y.parsePath)(l),t=(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:l})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let B=Symbol("SSG_DATA_NOT_FOUND");function H(e){try{return JSON.parse(e)}catch(e){return null}}function W(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:u,persistCache:s,isBackground:l,unstable_skipClientCache:c}=e,{href:f}=new URL(t,window.location.href),d=e=>{var l;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(l=null==e?void 0:e.method)?l:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:f}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:f};if(404===r.status){var n;if(null==(n=H(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:B},response:r,text:e,cacheKey:f}}let u=Error("Failed to load static props");throw a||(0,i.markAssetError)(u),u}return{dataHref:t,json:u?H(e):null,response:r,text:e,cacheKey:f}})).then(e=>(s&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[f],e)).catch(e=>{throw c||delete r[f],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&s?d({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[f]=Promise.resolve(e)),e)):void 0!==r[f]?r[f]:r[f]=d(l?{method:"HEAD"}:{})}function G(){return Math.random().toString(36).slice(2,10)}function q(e){let{url:t,router:r}=e;if(t===(0,E.addBasePath)((0,P.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}let X=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class V{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=F(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=F(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,r,n){{let s=!1,l=!1;for(let c of[e,t])if(c){let t=(0,a.removeTrailingSlash)(new URL(c,"http://n").pathname),f=(0,E.addBasePath)((0,P.addLocale)(t,r||this.locale));if(t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var o,i,u;for(let e of(s=s||!!(null==(o=this._bfl_s)?void 0:o.contains(t))||!!(null==(i=this._bfl_s)?void 0:i.contains(f)),[t,f])){let t=e.split("/");for(let e=0;!l&&e{})}}}}return!1}async change(e,t,r,n,o){var l,c,f,R,O,j,T,I,M;let D,k;if(!(0,A.isLocalURL)(t))return q({url:t,router:this}),!1;let H=1===n._h;H||n.shallow||await this._bfl(r,void 0,n.locale);let W=H||n._shouldResolveHref||(0,y.parsePath)(t).pathname===(0,y.parsePath)(r).pathname,G={...this.state},X=!0!==this.isReady;this.isReady=!0;let z=this.isSsr;if(H||(this.isSsr=!1),H&&this.clc)return!1;let Y=G.locale;d.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(z||V.events.emit("routeChangeError",N(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,E.addBasePath)((0,P.addLocale)((0,S.hasBasePath)(r)?(0,v.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,b.removeLocale)((0,S.hasBasePath)(r)?(0,v.removeBasePath)(r):r,G.locale);this._inFlightRoute=r;let Z=Y!==G.locale;if(!H&&this.onlyAHashChange(J)&&!Z){G.asPath=J,V.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(G,this.components[G.route],null)}catch(e){throw(0,s.default)(e)&&e.cancelled&&V.events.emit("routeChangeError",e,J,Q),e}return V.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[D,{__rewrites:k}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return q({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,v.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(l=this.components[et])?void 0:l.__appRouter)return q({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,m.getRouteMatcher)((0,_.getRouteRegex)(eo))(ea))),eu=!n.shallow&&await L({asPath:r,locale:G.locale,router:this});if(H&&eu&&(W=!1),W&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=U(et,D),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,E.addBasePath)(et),eu||(t=(0,g.formatWithValidation)(ee)))),!(0,A.isLocalURL)(r))return q({url:r,router:this}),!1;en=(0,b.removeLocale)((0,v.removeBasePath)(en),G.locale),eo=(0,a.removeTrailingSlash)(et);let es=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,_.getRouteRegex)(eo);es=(0,m.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,x.interpolateAs)(eo,n,er):{};if(es&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,C.omit)(er,i.params)})):Object.assign(er,es);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!eu)throw Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as"))}}H||V.events.emit("routeChangeStart",r,Q);let el="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:G.locale,isPreview:G.isPreview,hasMiddleware:eu,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:H&&!this.isFallback,isMiddlewareRewrite:ei});if(H||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,G.locale),"route"in a&&eu){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,S.hasBasePath)(ee.pathname)?(0,v.removeBasePath)(ee.pathname):ee.pathname;if(es&&et!==e&&Object.keys(es).forEach(e=>{es&&er[e]===es[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,E.addBasePath)((0,P.addLocale)(new URL(r,location.href).pathname,G.locale),!0);(0,S.hasBasePath)(e)&&(e=(0,v.removeBasePath)(e));let t=(0,_.getRouteRegex)(et),n=(0,m.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a){if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);return q({url:a.destination,router:this}),new Promise(()=>{})}let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,u.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=U(r.pathname,D);let{url:o,as:a}=F(this,t,t);return this.change(e,o,a,n)}return q({url:t,router:this}),new Promise(()=>{})}if(G.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===B){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isNotFound:!0}),"type"in a)throw Error("Unexpected middleware effect on /404")}}H&&"/_error"===this.pathname&&(null==(f=self.__NEXT_DATA__.props)?void 0:null==(c=f.pageProps)?void 0:c.statusCode)===500&&(null==(R=a.props)?void 0:R.pageProps)&&(a.props.pageProps.statusCode=500);let l=n.shallow&&G.route===(null!=(O=a.route)?O:eo),d=null!=(j=n.scroll)?j:!H&&!l,g=null!=o?o:d?{x:0,y:0}:null,y={...G,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(H&&el){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isQueryUpdating:H&&!this.isFallback}),"type"in a)throw Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&(null==(I=self.__NEXT_DATA__.props)?void 0:null==(T=I.pageProps)?void 0:T.statusCode)===500&&(null==(M=a.props)?void 0:M.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(y,a,g)}catch(e){throw(0,s.default)(e)&&e.cancelled&&V.events.emit("routeChangeError",e,J,Q),e}return!0}if(V.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(H&&!g&&!X&&!Z&&(0,w.compareRouterStates)(y,this.state))){try{await this.set(y,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw H||V.events.emit("routeChangeError",a.error,J,Q),a.error;H||V.events.emit("routeChangeComplete",r,Q),d&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,s.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:G()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(console.error(e),e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw V.events.emit("routeChangeError",e,n,o),q({url:n,router:this}),N();try{let n;let{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,s.default)(e)?e:Error(e+""),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:u,locale:l,hasMiddleware:f,isPreview:d,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:m,isNotFound:_}=e,y=t;try{var P,b,E,S;let e=this.components[y];if(u.shallow&&e&&this.route===y)return e;let t=X({route:y,router:this});f&&(e=void 0);let s=!e||"initial"in e?void 0:e,R={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:_?"/404":i,locale:l}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!m?null:await k({fetchData:()=>W(R),asPath:_?"/404":i,locale:l,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),t(),(null==j?void 0:null==(P=j.effect)?void 0:P.type)==="redirect-internal"||(null==j?void 0:null==(b=j.effect)?void 0:b.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(E=j.effect)?void 0:E.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(j.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(y=t,r=j.effect.resolvedHref,n={...n,...j.effect.parsedAs.query},i=(0,v.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),e=this.components[y],u.shallow&&e&&this.route===y&&!f))return{...e,route:y}}if((0,O.isAPIRoute)(y))return q({url:o,router:this}),new Promise(()=>{});let T=s||await this.fetchComponent(y).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),w=null==j?void 0:null==(S=j.response)?void 0:S.headers.get("x-middleware-skip"),A=T.__N_SSG||T.__N_SSP;w&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:I,cacheKey:C}=await this._getData(async()=>{if(A){if((null==j?void 0:j.json)&&!w)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:l}),t=await W({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:w?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:r,query:n,asPath:o,locale:l,locales:this.locales,defaultLocale:this.defaultLocale})}});return T.__N_SSP&&R.dataHref&&C&&delete this.sdc[C],this.isPreview||!T.__N_SSG||h||W(Object.assign({},R,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),I.pageProps=Object.assign({},I.pageProps),T.props=I,T.route=y,T.query=n,T.resolvedAs=i,this.components[y]=T,T}catch(e){return this.handleRouteInfoError((0,s.getProperError)(e),r,n,o,u)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,M.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,I.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:u}=n,s=i,l=await this.pageLoader.getPageList(),c=t,f=void 0!==r.locale?r.locale||void 0:this.locale,d=await L({asPath:t,locale:f,router:this});n.pathname=U(n.pathname,l),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(u,(0,m.getRouteMatcher)((0,_.getRouteRegex)(n.pathname))((0,y.parsePath)(t).pathname)||{}),d||(e=(0,g.formatWithValidation)(n)));let P=await k({fetchData:()=>W({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:s,query:u}),skipInterpolation:!0,asPath:c,locale:f}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:f,router:this});if((null==P?void 0:P.effect.type)==="rewrite"&&(n.pathname=P.effect.resolvedHref,i=P.effect.resolvedHref,u={...u,...P.effect.parsedAs.query},c=P.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==P?void 0:P.effect.type)==="redirect-external")return;let b=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(b).then(t=>!!t&&W({dataHref:(null==P?void 0:P.json)?null==P?void 0:P.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:f}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](b)])}async fetchComponent(e){let t=X({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e})}_getFlightData(e){return W({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then(e=>{let{text:t}=e;return{data:t}})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,d.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,n,{initialProps:o,pageLoader:i,App:u,wrapApp:s,Component:l,err:c,subscription:f,isFallback:m,locale:_,locales:y,defaultLocale:P,domainLocales:b,isPreview:v}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=G(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,E.addBasePath)(e),query:t}),(0,d.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:u}=n;this._key=u;let{pathname:s}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,E.addBasePath)(this.asPath)||s!==(0,E.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let S=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[S]={Component:l,initial:!0,props:o,err:c,__N_SSG:o&&o.__N_SSG,__N_SSP:o&&o.__N_SSP}),this.components["/_app"]={Component:u,styleSheets:[]};{let{BloomFilter:e}=r(69970),t={numItems:32,errorRate:1e-4,numBits:614,numHashes:14,bitArray:[0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,0,1,0,1,1,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,1,0,1,1,1,0,1,0,1,1,1,0,0,0,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,0,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,1,1,1,0,1,1,0,1,0,0,1,1,0,1,0,1,0,0,0,0,1,1,1,0,1,0,0,1,1,1,0,1,0,1,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,1,1,1,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,1,1]},n={numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]};(null==t?void 0:t.numHashes)&&(this._bfl_s=new e(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==n?void 0:n.numHashes)&&(this._bfl_d=new e(n.numItems,n.errorRate),this._bfl_d.import(n))}this.events=V.events,this.pageLoader=i;let R=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=f,this.clc=null,this._wrapApp=s,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!R&&!self.location.search),this.state={route:S,pathname:e,query:t,asPath:R?e:n,isPreview:!!v,locale:void 0,isFallback:m},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!n.startsWith("//")){let r={locale:_},o=(0,d.getURL)();this._initialMatchesMiddlewarePromise=L({router:this,locale:_,asPath:o}).then(a=>(r._shouldResolveHref=n!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,E.addBasePath)(e),query:t}),o,r),a))}window.addEventListener("popstate",this.onPopState)}}V.events=(0,f.default)()},68043:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(77652),o=r(25298);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},77652:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(80626);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},96152:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(80626);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},42340:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(75078),o=r(73737);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},4232:function(e,t){"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},9012:function(e,t){"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},15604:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return u}});let n=r(33575),o=r(77652),a=r(96152),i=r(68043);function u(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5058:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});let n=r(61757)._(r(38600)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(n.urlQueryToSearchParams(s)));let c=e.search||s&&"?"+s||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==l?(l="//"+(l||""),i&&"/"!==i[0]&&(i="/"+i)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),""+a+l+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+u}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},20116:function(e,t){"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},58754:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(91623),o=r(43691),a=r(25298);function i(e,t){var r,i;let{basePath:u,i18n:s,trailingSlash:l}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):l};u&&(0,a.pathHasPrefix)(c.pathname,u)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,u),c.basePath=u);let f=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),r=e[0];c.buildId=r,f="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=f)}if(s){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,s.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(f):(0,n.normalizeLocalePath)(f,s.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},12179:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},72189:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(317),o=r(31735)},37399:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(43323),o=r(36309);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),u=i.groups,s=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let l=Object.keys(u);return l.every(e=>{let t=s[e]||"",{repeat:r,optional:n}=u[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in s)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:l,result:a}}},6312:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},31735:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let n=r(92407),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},65853:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(45782),o=r(71838);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},12795:function(e,t){"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},80626:function(e,t){"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},62757:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(45782),o=r(38600);function a(e,t){let r=new URL((0,n.getLocationOrigin)()),a=t?new URL(t,r):e.startsWith(".")?new URL(window.location.href):r,{pathname:i,searchParams:u,search:s,hash:l,href:c,origin:f}=new URL(e,a);if(f!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:i,query:(0,o.searchParamsToUrlQuery)(u),search:s,hash:l,href:c.slice(r.origin.length)}}},25298:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(80626);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},38600:function(e,t){"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},43691:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(25298);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},33575:function(e,t){"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},43323:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(45782);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},i={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(i[e]=~n.indexOf("/")?n.split("/").map(e=>a(e)):t.repeat?[a(n)]:a(n))}),i}}},36309:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return d},getRouteRegex:function(){return l},parseParameter:function(){return u}});let n=r(92350),o=r(92407),a=r(34592),i=r(33575);function u(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function s(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:o,repeat:s}=u(i[1]);return r[e]={pos:n++,repeat:s,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=u(i[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function l(e){let{parameterizedRoute:t,groups:r}=s(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:i}=e,{key:s,optional:l,repeat:c}=u(n),f=s.replace(/\W/g,"");i&&(f=""+i+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=r()),i?o[f]=""+i+s:o[f]=s;let p=t?(0,a.escapeStringRegexp)(t):"";return c?l?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function f(e,t){let r;let u=(0,i.removeTrailingSlash)(e).slice(1).split("/"),s=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:u.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&i){let[r]=e.split(i[0]);return c({getSafeRouteKey:s,interceptionMarker:r,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?c({getSafeRouteKey:s,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function d(e,t){let r=f(e,t);return{...l(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=s(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=f(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},317:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function a(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}},45758:function(e,t){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},73737:function(e,t){"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});let n="__PAGE__",o="__DEFAULT__"},3657:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(67294),o=n.useLayoutEffect,a=n.useEffect;function i(e){let{headManager:t,reduceComponentsToState:r}=e;function i(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},45782:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return g},NormalizeError:function(){return m},PageNotFoundError:function(){return _},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return s},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return a},isResSent:function(){return l},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&l(r))return n;if(!n)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class m extends Error{}class _ extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},79784:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},78018:function(e){var t,r,n,o,a,i,u,s,l,c,f,d,p,h,m,_,g,y,P,b,v,E,S,R,O,j,T,w,A,I,C,x,M,N,L,D,F,U,k,B,H,W,G,q,X,V;(t={}).d=function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},void 0!==t&&(t.ab="//"),r={},t.r(r),t.d(r,{getCLS:function(){return S},getFCP:function(){return b},getFID:function(){return I},getINP:function(){return W},getLCP:function(){return q},getTTFB:function(){return V},onCLS:function(){return S},onFCP:function(){return b},onFID:function(){return I},onINP:function(){return W},onLCP:function(){return q},onTTFB:function(){return V}}),s=-1,l=function(e){addEventListener("pageshow",function(t){t.persisted&&(s=t.timeStamp,e(t))},!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},f=function(){var e=c();return e&&e.activationStart||0},d=function(e,t){var r=c(),n="navigate";return s>=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},p=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},h=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},m=function(e,t,r,n){var o,a;return function(i){var u;t.value>=0&&(i||n)&&((a=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=a,t.rating=(u=t.value)>r[1]?"poor":u>r[0]?"needs-improvement":"good",e(t))}},_=-1,g=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},y=function(){h(function(e){_=e.timeStamp},!0)},P=function(){return _<0&&(_=g(),y(),l(function(){setTimeout(function(){_=g(),y()},0)})),{get firstHiddenTime(){return _}}},b=function(e,t){t=t||{};var r,n=[1800,3e3],o=P(),a=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(s&&s.disconnect(),e.startTime-1&&e(t)},a=d("CLS",0),i=0,u=[],s=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=u[0],r=u[u.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,u.push(e)):(i=e.value,u=[e]),i>a.value&&(a.value=i,a.entries=u,n())}})},c=p("layout-shift",s);c&&(n=m(o,a,r,t.reportAllChanges),h(function(){s(c.takeRecords()),n(!0)}),l(function(){i=0,E=-1,n=m(o,a=d("CLS",0),r,t.reportAllChanges)}))},R={passive:!0,capture:!0},O=new Date,j=function(e,t){n||(n=t,o=e,a=new Date,A(removeEventListener),T())},T=function(){if(o>=0&&o1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){j(o,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,R),removeEventListener("pointercancel",r,R)},addEventListener("pointerup",t,R),addEventListener("pointercancel",r,R)):j(o,e)}},A=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,w,R)})},I=function(e,t){t=t||{};var r,a=[100,300],u=P(),s=d("FID"),c=function(e){e.startTimet.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};B[n.id]=n,k.push(n)}k.sort(function(e,t){return t.latency-e.latency}),k.splice(10).forEach(function(e){delete B[e.id]})}},W=function(e,t){t=t||{};var r=[200,500];D();var n,o=d("INP"),a=function(e){e.forEach(function(e){e.interactionId&&H(e),"first-input"!==e.entryType||k.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||H(e)});var t,r=(t=Math.min(k.length-1,Math.floor(U()/50)),k[t]);r&&r.latency!==o.value&&(o.value=r.latency,o.entries=r.entries,n())},i=p("event",a,{durationThreshold:t.durationThreshold||40});n=m(e,o,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),h(function(){a(i.takeRecords()),o.value<0&&U()>0&&(o.value=0,o.entries=[]),n(!0)}),l(function(){k=[],F=L(),n=m(e,o=d("INP"),r,t.reportAllChanges)}))},G={},q=function(e,t){t=t||{};var r,n=[2500,4e3],o=P(),a=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();nperformance.now())return;n.entries=[a],o(!0),l(function(){(o=m(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},92350:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return s},APP_DIR_ALIAS:function(){return T},CACHE_ONE_YEAR:function(){return b},DOT_NEXT_ALIAS:function(){return O},ESLINT_DEFAULT_DIRS:function(){return X},GSP_NO_RETURNED_VALUE:function(){return k},GSSP_COMPONENT_MEMBER_ERROR:function(){return W},GSSP_NO_RETURNED_VALUE:function(){return B},INSTRUMENTATION_HOOK_FILENAME:function(){return S},MIDDLEWARE_FILENAME:function(){return v},MIDDLEWARE_LOCATION_REGEXP:function(){return E},NEXT_BODY_SUFFIX:function(){return f},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return P},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return m},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return y},NEXT_CACHE_TAGS_HEADER:function(){return d},NEXT_CACHE_TAG_MAX_ITEMS:function(){return _},NEXT_CACHE_TAG_MAX_LENGTH:function(){return g},NEXT_DATA_SUFFIX:function(){return l},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return c},NEXT_QUERY_PARAM_PREFIX:function(){return r},NON_STANDARD_NODE_ENV:function(){return G},PAGES_DIR_ALIAS:function(){return R},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return M},ROOT_DIR_ALIAS:function(){return j},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return x},RSC_ACTION_ENCRYPTION_ALIAS:function(){return C},RSC_ACTION_PROXY_ALIAS:function(){return I},RSC_ACTION_VALIDATE_ALIAS:function(){return A},RSC_MOD_REF_PROXY_ALIAS:function(){return w},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return u},SERVER_PROPS_EXPORT_ERROR:function(){return U},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return L},SERVER_PROPS_SSG_CONFLICT:function(){return D},SERVER_RUNTIME:function(){return V},SSG_FALLBACK_EXPORT_ERROR:function(){return q},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return N},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return F},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return H},WEBPACK_LAYERS:function(){return Y},WEBPACK_RESOURCE_QUERIES:function(){return K}});let r="nxtP",n="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",u=".rsc",s=".action",l=".json",c=".meta",f=".body",d="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",m="x-next-revalidate-tag-token",_=128,g=256,y=1024,P="_N_T_",b=31536e3,v="middleware",E=`(?:src/)?${v}`,S="instrumentation",R="private-next-pages",O="private-dot-next",j="private-next-root-dir",T="private-next-app-dir",w="private-next-rsc-mod-ref-proxy",A="private-next-rsc-action-validate",I="private-next-rsc-server-reference",C="private-next-rsc-action-encryption",x="private-next-rsc-action-client-wrapper",M="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",N="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",L="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",D="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",F="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",U="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",k="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",B="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",H="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",W="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",G='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',q="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",X=["app","pages","components","lib","src"],V={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},Y={...z,GROUP:{serverOnly:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.instrument],clientOnly:[z.serverSideRendering,z.appPagesBrowser],nonClientServerTarget:[z.middleware,z.api],app:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.serverSideRendering,z.appPagesBrowser,z.shared,z.instrument]}},K={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},79423:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},80676:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(58299);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},92407:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(42340),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},72431:function(){},38754:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},61757:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}},function(e){e.O(0,[9774],function(){return e(e.s=62288)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{84878:function(e,t){"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},40037:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},41412:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(77652),o=r(68796);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28878:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(68796);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n25){window.location.reload();return}clearTimeout(r),r=setTimeout(t,s>5?5e3:1e3)}n&&n.close();let u=(0,o.getSocketUrl)(e.assetPrefix);(n=new window.WebSocket(""+u+e.path)).onopen=function(){s=0,window.console.log("[HMR] connected")},n.onerror=i,n.onclose=i,n.onmessage=function(e){let t=JSON.parse(e.data);for(let e of a)e(t)}}()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},97193:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let n=t.title?t.title[0]:null,o="";if(n){let{children:e}=n.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{r(e,t[e]||[])})}}}r=(e,t)=>{let r=document.getElementsByTagName("head")[0],n=r.querySelector("meta[name=next-head-count]"),i=Number(n.content),u=[];for(let t=0,r=n.previousElementSibling;t{for(let t=0,r=u.length;t{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),l.forEach(e=>r.insertBefore(e,n)),n.content=(i-u.length+l.length).toString()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24500:function(e,t,r){"use strict";let n,o,a,i,u,s,l,c,f,d,p,h;Object.defineProperty(t,"__esModule",{value:!0});let m=r(61757);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return X},hydrate:function(){return ef},initialize:function(){return K},router:function(){return n},version:function(){return q}});let _=r(38754),g=r(85893);r(40037);let y=_._(r(67294)),P=_._(r(20745)),b=r(20077),v=_._(r(58967)),E=r(37171),S=r(12179),R=r(31735),O=r(38600),j=r(45758),T=r(45782),w=r(1493),A=_._(r(52071)),I=_._(r(21413)),C=_._(r(65736)),x=r(63622),M=r(37253),N=r(80676),L=r(98261),D=r(91566),F=r(71838),U=r(3068),k=r(82488),B=r(10213),H=_._(r(36920)),W=_._(r(57930)),G=_._(r(95179)),q="14.2.35",X=(0,v.default)(),V=e=>[].slice.call(e),z=!1;class Y extends y.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,R.isDynamicRoute)(n.pathname)||location.search||z)||o.props&&o.props.__N_SSG&&(location.search||z))&&n.replace(n.pathname+"?"+String((0,O.assign)((0,O.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!z}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function K(e){void 0===e&&(e={}),W.default.onSpanEnd(G.default),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,j.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,F.hasBasePath)(a)&&(a=(0,D.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(95026);e(o.scriptLoader)}i=new I.default(o.buildId,t);let l=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>l(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=l,(s=(0,A.default)()).getIsSsr=()=>n.isSsr,u=document.getElementById("__next"),{assetPrefix:t}}function $(e,t){return(0,g.jsx)(e,{...t})}function Q(e){var t;let{children:r}=e,o=y.default.useMemo(()=>(0,k.adaptForAppRouterInstance)(n),[]);return(0,g.jsx)(Y,{fn:e=>Z({App:f,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,g.jsx)(U.AppRouterContext.Provider,{value:o,children:(0,g.jsx)(B.SearchParamsContext.Provider,{value:(0,k.adaptForSearchParams)(n),children:(0,g.jsx)(k.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,g.jsx)(B.PathParamsContext.Provider,{value:(0,k.adaptForPathParams)(n),children:(0,g.jsx)(E.RouterContext.Provider,{value:(0,M.makePublicRouterInstance)(n),children:(0,g.jsx)(b.HeadManagerContext.Provider,{value:s,children:(0,g.jsx)(L.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1},children:r})})})})})})})})}let J=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,g.jsx)(Q,{children:$(e,r)})};function Z(e){let{App:t,err:u}=e;return console.error(u),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==l?void 0:l.Component)===o?Promise.resolve().then(()=>m._(r(18529))).then(n=>Promise.resolve().then(()=>m._(r(48141))).then(r=>(t=r.default,e.App=t,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:s,styleSheets:l}=r,c=J(t),f={Component:s,AppTree:c,router:n,ctx:{err:u,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,f)).then(t=>el({...e,err:u,Component:s,styleSheets:l,props:t}))})}function ee(e){let{callback:t}=e;return y.default.useLayoutEffect(()=>t(),[t]),null}let et={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},er={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},en=null,eo=!0;function ea(){[et.beforeRender,et.afterHydrate,et.afterRender,et.routeChange].forEach(e=>performance.clearMarks(e))}function ei(){T.ST&&(performance.mark(et.afterHydrate),performance.getEntriesByName(et.beforeRender,"mark").length&&(performance.measure(er.beforeHydration,et.navigationStart,et.beforeRender),performance.measure(er.hydration,et.beforeRender,et.afterHydrate)),d&&performance.getEntriesByName(er.hydration).forEach(d),ea())}function eu(){if(!T.ST)return;performance.mark(et.afterRender);let e=performance.getEntriesByName(et.routeChange,"mark");e.length&&(performance.getEntriesByName(et.beforeRender,"mark").length&&(performance.measure(er.routeChangeToRender,e[0].name,et.beforeRender),performance.measure(er.render,et.beforeRender,et.afterRender),d&&(performance.getEntriesByName(er.render).forEach(d),performance.getEntriesByName(er.routeChangeToRender).forEach(d))),ea(),[er.routeChangeToRender,er.render].forEach(e=>performance.clearMeasures(e)))}function es(e){let{callbacks:t,children:r}=e;return y.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),y.default.useEffect(()=>{(0,C.default)(d)},[]),r}function el(e){let t,{App:r,Component:o,props:a,err:i}=e,s="initial"in e?void 0:e.styleSheets;o=o||l.Component;let f={...a=a||l.props,Component:o,err:i,router:n};l=f;let d=!1,p=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{d=!0,c=null;let e=Error("Cancel rendering route");e.cancelled=!0,r(e)}});function h(){t()}!function(){if(!s)return;let e=new Set(V(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");s.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let m=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ee,{callback:function(){if(s&&!d){let e=new Set(s.map(e=>e.href)),t=V(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),V(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,S.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,g.jsxs)(Q,{children:[$(r,f),(0,g.jsx)(w.Portal,{type:"next-route-announcer",children:(0,g.jsx)(x.RouteAnnouncer,{})})]})]});return!function(e,t){T.ST&&performance.mark(et.beforeRender);let r=t(eo?ei:eu);en?(0,y.default.startTransition)(()=>{en.render(r)}):(en=P.default.hydrateRoot(e,r,{onRecoverableError:H.default}),eo=!1)}(u,e=>(0,g.jsx)(es,{callbacks:[e,h],children:m})),p}async function ec(e){if(e.err&&(void 0===e.Component||!e.isHydratePass)){await Z(e);return}try{await el(e)}catch(r){let t=(0,N.getProperError)(r);if(t.cancelled)throw t;await Z({...e,err:t})}}async function ef(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;f=t,r&&r.reportWebVitals&&(d=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:u,entryType:s,entries:l,attribution:c}=e,f=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);l&&l.length&&(t=l[0].startTime);let d={id:n||f,name:o,startTime:a||t,value:null==i?u:i,label:"mark"===s||"measure"===s?"custom":"web-vital"};c&&(d.attribution=c),r.reportWebVitals(d)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,N.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,M.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:f,Component:p,wrapApp:J,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>ec(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),z=await n._initialMatchesMiddlewarePromise;let r={App:f,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),ec(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},62288:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(99151);let n=r(24500);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},68796:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(33575),o=r(80626),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return""+(0,n.removeTrailingSlash)(t)+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36920:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(85575);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,n.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},21413:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let n=r(38754),o=r(41412),a=r(37399),i=n._(r(20116)),u=r(28878),s=r(31735),l=r(62757),c=r(33575),f=r(32856);r(45104);class d{getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:f,query:d,search:p}=(0,l.parseRelativeUrl)(r),{pathname:h}=(0,l.parseRelativeUrl)(t),m=(0,c.removeTrailingSlash)(f);if("/"!==m[0])throw Error('Route name should start with a "/", got "'+m+'"');return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,u.addLocale)(e,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+t+p,!0)})(e.skipInterpolation?h:(0,s.isDynamicRoute)(m)?(0,a.interpolateAs)(f,h,d).result:m)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65736:function(e,t,r){"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let o=["CLS","FCP","FID","INP","LCP","TTFB"];location.href;let a=!1;function i(e){n&&n(e)}let u=e=>{if(n=e,!a)for(let e of(a=!0,o))try{let t;t||(t=r(78018)),t["on"+e](i)}catch(t){console.warn("Failed to track "+e+" web-vital",t)}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1493:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(67294),o=r(73935),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91566:function(e,t,r){"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(71838),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},14509:function(e,t,r){"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(80626),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},66078:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},64813:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(38600),o=r(5058),a=r(12795),i=r(45782),u=r(68796),s=r(65853),l=r(72189),c=r(37399);function f(e,t,r){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,s.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,l.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:u}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,u)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63622:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return s},default:function(){return l}});let n=r(38754),o=r(85893),a=n._(r(67294)),i=r(37253),u={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},s=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:u,children:t})},l=s;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},32856:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return p},isAssetError:function(){return l},markAssetError:function(){return s}}),r(38754),r(20116);let n=r(92518),o=r(66078),a=r(84878);function i(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,o={resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let u=Symbol("ASSET_LOAD_ERROR");function s(e){return Object.defineProperty(e,u,{})}function l(e){return e&&u in e}let c=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),f=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function d(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function p(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):d(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,s(Error("Failed to load client build manifest")))}function h(e,t){return p().then(r=>{if(!(t in r))throw s(Error("Failed to lookup route: "+t));let o=r[t].map(t=>e+"/_next/"+encodeURI(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+f()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+f())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function u(e){{var t;let n=r.get(e.toString());return n||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(s(Error("Failed to load script: "+e))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n))}}function l(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Error("Failed to load stylesheet: "+e);return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw s(e)})),t}return{whenEntrypoint:e=>i(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return i(r,a,()=>{let o;return d(h(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(u)),Promise.all(o.map(l))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,s(Error("Route did not complete loading: "+r))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():h(e,t).then(e=>Promise.all(c?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{if(document.querySelector('\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]'))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(s(Error("Failed to prefetch: "+t))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37253:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return m},default:function(){return p},makePublicRouterInstance:function(){return _},useRouter:function(){return h},withRouter:function(){return s.default}});let n=r(38754),o=n._(r(67294)),a=n._(r(29668)),i=r(37171),u=n._(r(80676)),s=n._(r(538)),l={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function d(){if(!l.router)throw Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return l.router}Object.defineProperty(l,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(l,e,{get:()=>d()[e]})}),f.forEach(e=>{l[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{l.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),l.readyCallbacks=[],l.router}function _(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:u="afterInteractive",onError:s,stylesheets:c}=e,m=r||t;if(m&&d.has(m))return;if(f.has(t)){d.add(m),f.get(t).then(n,s);return}let _=()=>{o&&o(),d.add(m)},g=document.createElement("script"),y=new Promise((e,t)=>{g.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),g.addEventListener("error",function(e){t(e)})}).catch(function(e){s&&s(e)});for(let[r,n]of(a?(g.innerHTML=a.__html||"",_()):i?(g.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(g.src=t,f.set(t,y)),Object.entries(e))){if(void 0===n||p.includes(r))continue;let e=l.DOMAttributeNames[r]||r.toLowerCase();g.setAttribute(e,n)}"worker"===u&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",u),c&&h(c),document.body.appendChild(g)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>m(e))}):m(e)}function g(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");d.add(t)})}function y(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:l="afterInteractive",onError:f,stylesheets:p,...h}=e,{updateScripts:_,scripts:g,getIsSsr:y,appDir:P,nonce:b}=(0,u.useContext)(s.HeadManagerContext),v=(0,u.useRef)(!1);(0,u.useEffect)(()=>{let e=t||r;v.current||(o&&e&&d.has(e)&&o(),v.current=!0)},[o,t,r]);let E=(0,u.useRef)(!1);if((0,u.useEffect)(()=>{!E.current&&("afterInteractive"===l?m(e):"lazyOnload"===l&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>m(e))})),E.current=!0)},[e,l]),("beforeInteractive"===l||"worker"===l)&&(_?(g[l]=(g[l]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:f,...h}]),_(g)):y&&y()?d.add(t||r):y&&!y()&&m(e)),P){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===l)return r?(i.default.preload(r,h.integrity?{as:"script",integrity:h.integrity,nonce:b,crossOrigin:h.crossOrigin}:{as:"script",nonce:b,crossOrigin:h.crossOrigin}),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{...h,id:t}])+")"}})):(h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...h,id:t}])+")"}}));"afterInteractive"===l&&r&&i.default.preload(r,h.integrity?{as:"script",integrity:h.integrity,nonce:b,crossOrigin:h.crossOrigin}:{as:"script",nonce:b,crossOrigin:h.crossOrigin})}return null}Object.defineProperty(y,"__nextScript",{value:!0});let P=y;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},95179:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(45303);function o(e){if("ended"!==e.state.state)throw Error("Expected span to be ended");(0,n.sendMessage)(JSON.stringify({event:"span-end",startTime:e.startTime,endTime:e.state.endTime,spanName:e.name,attributes:e.attributes}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},57930:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(38754)._(r(58967));class o{end(e){if("ended"===this.state.state)throw Error("Span has already ended");this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},92518:function(e,t){"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99151:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(84878),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},538:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(38754);let n=r(85893);r(67294);let o=r(37253);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},48141:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=r(38754),o=r(85893),a=n._(r(67294)),i=r(45782);async function u(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,i.loadGetInitialProps)(t,r)}}class s extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}s.origGetInitialProps=u,s.getInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},18529:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(38754),o=r(85893),a=n._(r(67294)),i=n._(r(50494)),u={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function s(e){let{res:t,err:r}=e;return{statusCode:t&&t.statusCode?t.statusCode:r?r.statusCode:404}}let l={error:{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"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class c extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||u[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:l.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:l.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:l.h1,children:e}):null,(0,o.jsx)("div",{style:l.wrap,children:(0,o.jsxs)("h2",{style:l.h2,children:[this.props.title||e?r:(0,o.jsx)(o.Fragment,{children:"Application error: a client-side exception has occurred (see the browser console for more information)"}),"."]})})]})]})}}c.displayName="ErrorPage",c.getInitialProps=s,c.origGetInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},75010:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(38754)._(r(67294)).default.createContext({})},98579:function(e,t){"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},3068:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return s},TemplateContext:function(){return u}});let n=r(38754)._(r(67294)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),u=n.default.createContext(null),s=n.default.createContext(new Set)},69970:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,1540483477);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},45104:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return y},APP_CLIENT_INTERNALS:function(){return K},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return _},AUTOMATIC_FONT_OPTIMIZATION_MANIFEST:function(){return x},BARREL_OPTIMIZATION_PREFIX:function(){return H},BLOCKED_PAGES:function(){return D},BUILD_ID_FILE:function(){return L},BUILD_MANIFEST:function(){return g},CLIENT_PUBLIC_FILES_PATH:function(){return F},CLIENT_REFERENCE_MANIFEST:function(){return W},CLIENT_STATIC_FILES_PATH:function(){return U},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Q},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return z},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return Y},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return $},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return J},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return N},DEFAULT_RUNTIME_WEBPACK:function(){return et},DEFAULT_SANS_SERIF_FONT:function(){return es},DEFAULT_SERIF_FONT:function(){return eu},DEV_CLIENT_PAGES_MANIFEST:function(){return w},DEV_MIDDLEWARE_MANIFEST:function(){return I},EDGE_RUNTIME_WEBPACK:function(){return er},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return S},EXPORT_MARKER:function(){return E},FUNCTIONS_CONFIG_MANIFEST:function(){return P},GOOGLE_FONT_PROVIDER:function(){return ea},IMAGES_MANIFEST:function(){return j},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return V},MIDDLEWARE_BUILD_MANIFEST:function(){return q},MIDDLEWARE_MANIFEST:function(){return A},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return X},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return B},NEXT_FONT_MANIFEST:function(){return v},OPTIMIZED_FONT_PROVIDERS:function(){return ei},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return f},PHASE_EXPORT:function(){return s},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return l},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return d},PRERENDER_MANIFEST:function(){return R},REACT_LOADABLE_MANIFEST:function(){return C},ROUTES_MANIFEST:function(){return O},RSC_MODULE_TYPES:function(){return ed},SERVER_DIRECTORY:function(){return M},SERVER_FILES_MANIFEST:function(){return T},SERVER_PROPS_ID:function(){return eo},SERVER_REFERENCE_MANIFEST:function(){return G},STATIC_PROPS_ID:function(){return en},STATIC_STATUS_PAGES:function(){return el},STRING_LITERAL_DROP_BUNDLE:function(){return k},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return b},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ef},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return u}});let n=r(38754)._(r(60979)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",u=""+i+"/page",s="phase-export",l="phase-production-build",c="phase-production-server",f="phase-development-server",d="phase-test",p="phase-info",h="pages-manifest.json",m="app-paths-manifest.json",_="app-path-routes-manifest.json",g="build-manifest.json",y="app-build-manifest.json",P="functions-config-manifest.json",b="subresource-integrity-manifest",v="next-font-manifest",E="export-marker.json",S="export-detail.json",R="prerender-manifest.json",O="routes-manifest.json",j="images-manifest.json",T="required-server-files.json",w="_devPagesManifest.json",A="middleware-manifest.json",I="_devMiddlewareManifest.json",C="react-loadable-manifest.json",x="font-manifest.json",M="server",N=["next.config.js","next.config.mjs"],L="BUILD_ID",D=["/_document","/_app","/_error"],F="public",U="static",k="__NEXT_DROP_CLIENT_FILE__",B="__NEXT_BUILTIN_DOCUMENT__",H="__barrel_optimize__",W="client-reference-manifest",G="server-reference-manifest",q="middleware-build-manifest",X="middleware-react-loadable-manifest",V="interception-route-rewrite-manifest",z="main",Y=""+z+"-app",K="app-pages-internals",$="react-refresh",Q="amp",J="webpack",Z="polyfills",ee=Symbol(Z),et="webpack-runtime",er="edge-runtime-webpack",en="__N_SSG",eo="__N_SSP",ea="https://fonts.googleapis.com/",ei=[{url:ea,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}],eu={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},es={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},el=["/500"],ec=1,ef=6e3,ed={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([z,$,Q,Y]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},34592:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},20077:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(38754)._(r(67294)).default.createContext({})},50494:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return f}});let n=r(38754),o=r(61757),a=r(85893),i=o._(r(67294)),u=n._(r(3657)),s=r(75010),l=r(20077),c=r(98579);function f(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function d(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(79784);let p=["name","httpEquiv","charSet","itemProp"];function h(e,t){let{inAmpMode:r}=t;return e.reduce(d,[]).reverse().concat(f(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=p.length;e{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:n})})}let m=function(e){let{children:t}=e,r=(0,i.useContext)(s.AmpStateContext),n=(0,i.useContext)(l.HeadManagerContext);return(0,a.jsx)(u.default,{reduceComponentsToState:h,headManager:n,inAmpMode:(0,c.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},10213:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(67294),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},91623:function(e,t){"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},98261:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(38754)._(r(67294)),o=r(64666),a=n.default.createContext(o.imageConfigDefault)},64666:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},58299:function(e,t){"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},85575:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},58967:function(e,t){"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},60979:function(e){"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},3349:function(e,t){"use strict";function r(e){let t=(null==e?void 0:e.replace(/^\/+|\/+$/g,""))||!1;if(!t)return"";if(URL.canParse(t)){let e=new URL(t).toString();return e.endsWith("/")?e.slice(0,-1):e}return"/"+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizedAssetPrefix",{enumerable:!0,get:function(){return r}})},75876:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(72189),o=r(24212);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},75078:function(e,t){"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},24212:function(e,t){"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},37171:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(38754)._(r(67294)).default.createContext(null)},82488:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return d},adaptForSearchParams:function(){return f}});let n=r(61757),o=r(85893),a=n._(r(67294)),i=r(10213),u=r(72189),s=r(4232),l=r(36309);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},fastRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function f(e){return e.isReady&&e.query?(0,s.asPathToSearchParams)(e.asPath):new URLSearchParams}function d(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,l.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,s=(0,a.useRef)(n.isAutoExport),l=(0,a.useMemo)(()=>{let e;let t=s.current;if(t&&(s.current=!1),(0,u.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:l,children:t})}},29668:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return G},default:function(){return V},matchesMiddleware:function(){return L}});let n=r(38754),o=r(61757),a=r(33575),i=r(32856),u=r(95026),s=o._(r(80676)),l=r(75876),c=r(91623),f=n._(r(58967)),d=r(45782),p=r(31735),h=r(62757);r(72431);let m=r(43323),_=r(36309),g=r(5058);r(97193);let y=r(80626),P=r(28878),b=r(14509),v=r(91566),E=r(41412),S=r(71838),R=r(64813),O=r(79423),j=r(58754),T=r(15604),w=r(9012),A=r(65853),I=r(6312),C=r(12795),x=r(37399),M=r(12179);function N(){return Object.assign(Error("Route Cancelled"),{cancelled:!0})}async function L(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,y.parsePath)(e.asPath),n=(0,S.hasBasePath)(r)?(0,v.removeBasePath)(r):r,o=(0,E.addBasePath)((0,P.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function D(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function F(e,t,r){let[n,o]=(0,R.resolveHref)(e,t,!0),a=(0,d.getLocationOrigin)(),i=n.startsWith(a),u=o&&o.startsWith(a);n=D(n),o=o?D(o):o;let s=i?n:(0,E.addBasePath)(n),l=r?D((0,R.resolveHref)(e,r)):o||n;return{url:s,as:u?l:(0,E.addBasePath)(l)}}function U(e,t){let r=(0,a.removeTrailingSlash)((0,l.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,_.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function k(e){if(!await L(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!1},o=t.headers.get("x-nextjs-rewrite"),u=o||t.headers.get("x-nextjs-matched-path"),s=t.headers.get("x-matched-path");if(!s||u||s.includes("__next_data_catchall")||s.includes("/_error")||s.includes("/404")||(u=s),u){if(u.startsWith("/")){let t=(0,h.parseRelativeUrl)(u),s=(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),l=(0,a.removeTrailingSlash)(s.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:u}]=a,f=(0,P.addLocale)(s.pathname,s.locale);if((0,p.isDynamicRoute)(f)||!o&&i.includes((0,c.normalizeLocalePath)((0,v.removeBasePath)(f),r.router.locales).pathname)){let r=(0,j.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});f=(0,E.addBasePath)(r.pathname),t.pathname=f}if(!i.includes(l)){let e=U(l,i);e!==l&&(l=e)}let d=i.includes(l)?l:U((0,c.normalizeLocalePath)((0,v.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(d)){let e=(0,m.getRouteMatcher)((0,_.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,y.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let l=t.headers.get("x-nextjs-redirect");if(l){if(l.startsWith("/")){let e=(0,y.parsePath)(l),t=(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:l})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let B=Symbol("SSG_DATA_NOT_FOUND");function H(e){try{return JSON.parse(e)}catch(e){return null}}function W(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:u,persistCache:s,isBackground:l,unstable_skipClientCache:c}=e,{href:f}=new URL(t,window.location.href),d=e=>{var l;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(l=null==e?void 0:e.method)?l:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:f}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:f};if(404===r.status){var n;if(null==(n=H(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:B},response:r,text:e,cacheKey:f}}let u=Error("Failed to load static props");throw a||(0,i.markAssetError)(u),u}return{dataHref:t,json:u?H(e):null,response:r,text:e,cacheKey:f}})).then(e=>(s&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[f],e)).catch(e=>{throw c||delete r[f],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&s?d({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[f]=Promise.resolve(e)),e)):void 0!==r[f]?r[f]:r[f]=d(l?{method:"HEAD"}:{})}function G(){return Math.random().toString(36).slice(2,10)}function q(e){let{url:t,router:r}=e;if(t===(0,E.addBasePath)((0,P.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}let X=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class V{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=F(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=F(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,r,n){{let s=!1,l=!1;for(let c of[e,t])if(c){let t=(0,a.removeTrailingSlash)(new URL(c,"http://n").pathname),f=(0,E.addBasePath)((0,P.addLocale)(t,r||this.locale));if(t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var o,i,u;for(let e of(s=s||!!(null==(o=this._bfl_s)?void 0:o.contains(t))||!!(null==(i=this._bfl_s)?void 0:i.contains(f)),[t,f])){let t=e.split("/");for(let e=0;!l&&e{})}}}}return!1}async change(e,t,r,n,o){var l,c,f,R,O,j,T,I,M;let D,k;if(!(0,A.isLocalURL)(t))return q({url:t,router:this}),!1;let H=1===n._h;H||n.shallow||await this._bfl(r,void 0,n.locale);let W=H||n._shouldResolveHref||(0,y.parsePath)(t).pathname===(0,y.parsePath)(r).pathname,G={...this.state},X=!0!==this.isReady;this.isReady=!0;let z=this.isSsr;if(H||(this.isSsr=!1),H&&this.clc)return!1;let Y=G.locale;d.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(z||V.events.emit("routeChangeError",N(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,E.addBasePath)((0,P.addLocale)((0,S.hasBasePath)(r)?(0,v.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,b.removeLocale)((0,S.hasBasePath)(r)?(0,v.removeBasePath)(r):r,G.locale);this._inFlightRoute=r;let Z=Y!==G.locale;if(!H&&this.onlyAHashChange(J)&&!Z){G.asPath=J,V.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(G,this.components[G.route],null)}catch(e){throw(0,s.default)(e)&&e.cancelled&&V.events.emit("routeChangeError",e,J,Q),e}return V.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[D,{__rewrites:k}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return q({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,v.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(l=this.components[et])?void 0:l.__appRouter)return q({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,m.getRouteMatcher)((0,_.getRouteRegex)(eo))(ea))),eu=!n.shallow&&await L({asPath:r,locale:G.locale,router:this});if(H&&eu&&(W=!1),W&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=U(et,D),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,E.addBasePath)(et),eu||(t=(0,g.formatWithValidation)(ee)))),!(0,A.isLocalURL)(r))return q({url:r,router:this}),!1;en=(0,b.removeLocale)((0,v.removeBasePath)(en),G.locale),eo=(0,a.removeTrailingSlash)(et);let es=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,_.getRouteRegex)(eo);es=(0,m.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,x.interpolateAs)(eo,n,er):{};if(es&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,C.omit)(er,i.params)})):Object.assign(er,es);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!eu)throw Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as"))}}H||V.events.emit("routeChangeStart",r,Q);let el="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:G.locale,isPreview:G.isPreview,hasMiddleware:eu,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:H&&!this.isFallback,isMiddlewareRewrite:ei});if(H||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,G.locale),"route"in a&&eu){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,S.hasBasePath)(ee.pathname)?(0,v.removeBasePath)(ee.pathname):ee.pathname;if(es&&et!==e&&Object.keys(es).forEach(e=>{es&&er[e]===es[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,E.addBasePath)((0,P.addLocale)(new URL(r,location.href).pathname,G.locale),!0);(0,S.hasBasePath)(e)&&(e=(0,v.removeBasePath)(e));let t=(0,_.getRouteRegex)(et),n=(0,m.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a){if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);return q({url:a.destination,router:this}),new Promise(()=>{})}let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,u.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=U(r.pathname,D);let{url:o,as:a}=F(this,t,t);return this.change(e,o,a,n)}return q({url:t,router:this}),new Promise(()=>{})}if(G.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===B){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isNotFound:!0}),"type"in a)throw Error("Unexpected middleware effect on /404")}}H&&"/_error"===this.pathname&&(null==(f=self.__NEXT_DATA__.props)?void 0:null==(c=f.pageProps)?void 0:c.statusCode)===500&&(null==(R=a.props)?void 0:R.pageProps)&&(a.props.pageProps.statusCode=500);let l=n.shallow&&G.route===(null!=(O=a.route)?O:eo),d=null!=(j=n.scroll)?j:!H&&!l,g=null!=o?o:d?{x:0,y:0}:null,y={...G,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(H&&el){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isQueryUpdating:H&&!this.isFallback}),"type"in a)throw Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&(null==(I=self.__NEXT_DATA__.props)?void 0:null==(T=I.pageProps)?void 0:T.statusCode)===500&&(null==(M=a.props)?void 0:M.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(y,a,g)}catch(e){throw(0,s.default)(e)&&e.cancelled&&V.events.emit("routeChangeError",e,J,Q),e}return!0}if(V.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(H&&!g&&!X&&!Z&&(0,w.compareRouterStates)(y,this.state))){try{await this.set(y,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw H||V.events.emit("routeChangeError",a.error,J,Q),a.error;H||V.events.emit("routeChangeComplete",r,Q),d&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,s.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:G()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(console.error(e),e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw V.events.emit("routeChangeError",e,n,o),q({url:n,router:this}),N();try{let n;let{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,s.default)(e)?e:Error(e+""),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:u,locale:l,hasMiddleware:f,isPreview:d,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:m,isNotFound:_}=e,y=t;try{var P,b,E,S;let e=this.components[y];if(u.shallow&&e&&this.route===y)return e;let t=X({route:y,router:this});f&&(e=void 0);let s=!e||"initial"in e?void 0:e,R={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:_?"/404":i,locale:l}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!m?null:await k({fetchData:()=>W(R),asPath:_?"/404":i,locale:l,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),t(),(null==j?void 0:null==(P=j.effect)?void 0:P.type)==="redirect-internal"||(null==j?void 0:null==(b=j.effect)?void 0:b.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(E=j.effect)?void 0:E.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(j.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(y=t,r=j.effect.resolvedHref,n={...n,...j.effect.parsedAs.query},i=(0,v.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),e=this.components[y],u.shallow&&e&&this.route===y&&!f))return{...e,route:y}}if((0,O.isAPIRoute)(y))return q({url:o,router:this}),new Promise(()=>{});let T=s||await this.fetchComponent(y).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),w=null==j?void 0:null==(S=j.response)?void 0:S.headers.get("x-middleware-skip"),A=T.__N_SSG||T.__N_SSP;w&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:I,cacheKey:C}=await this._getData(async()=>{if(A){if((null==j?void 0:j.json)&&!w)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:l}),t=await W({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:w?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:r,query:n,asPath:o,locale:l,locales:this.locales,defaultLocale:this.defaultLocale})}});return T.__N_SSP&&R.dataHref&&C&&delete this.sdc[C],this.isPreview||!T.__N_SSG||h||W(Object.assign({},R,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),I.pageProps=Object.assign({},I.pageProps),T.props=I,T.route=y,T.query=n,T.resolvedAs=i,this.components[y]=T,T}catch(e){return this.handleRouteInfoError((0,s.getProperError)(e),r,n,o,u)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,M.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,I.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:u}=n,s=i,l=await this.pageLoader.getPageList(),c=t,f=void 0!==r.locale?r.locale||void 0:this.locale,d=await L({asPath:t,locale:f,router:this});n.pathname=U(n.pathname,l),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(u,(0,m.getRouteMatcher)((0,_.getRouteRegex)(n.pathname))((0,y.parsePath)(t).pathname)||{}),d||(e=(0,g.formatWithValidation)(n)));let P=await k({fetchData:()=>W({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:s,query:u}),skipInterpolation:!0,asPath:c,locale:f}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:f,router:this});if((null==P?void 0:P.effect.type)==="rewrite"&&(n.pathname=P.effect.resolvedHref,i=P.effect.resolvedHref,u={...u,...P.effect.parsedAs.query},c=P.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==P?void 0:P.effect.type)==="redirect-external")return;let b=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(b).then(t=>!!t&&W({dataHref:(null==P?void 0:P.json)?null==P?void 0:P.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:f}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](b)])}async fetchComponent(e){let t=X({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e})}_getFlightData(e){return W({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then(e=>{let{text:t}=e;return{data:t}})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,d.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,n,{initialProps:o,pageLoader:i,App:u,wrapApp:s,Component:l,err:c,subscription:f,isFallback:m,locale:_,locales:y,defaultLocale:P,domainLocales:b,isPreview:v}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=G(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,E.addBasePath)(e),query:t}),(0,d.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:u}=n;this._key=u;let{pathname:s}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,E.addBasePath)(this.asPath)||s!==(0,E.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let S=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[S]={Component:l,initial:!0,props:o,err:c,__N_SSG:o&&o.__N_SSG,__N_SSP:o&&o.__N_SSP}),this.components["/_app"]={Component:u,styleSheets:[]};{let{BloomFilter:e}=r(69970),t={numItems:32,errorRate:1e-4,numBits:614,numHashes:14,bitArray:[0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,0,1,0,1,1,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,1,0,1,1,1,0,1,0,1,1,1,0,0,0,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,0,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,1,1,1,0,1,1,0,1,0,0,1,1,0,1,0,1,0,0,0,0,1,1,1,0,1,0,0,1,1,1,0,1,0,1,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,1,1,1,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,1,1]},n={numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]};(null==t?void 0:t.numHashes)&&(this._bfl_s=new e(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==n?void 0:n.numHashes)&&(this._bfl_d=new e(n.numItems,n.errorRate),this._bfl_d.import(n))}this.events=V.events,this.pageLoader=i;let R=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=f,this.clc=null,this._wrapApp=s,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!R&&!self.location.search),this.state={route:S,pathname:e,query:t,asPath:R?e:n,isPreview:!!v,locale:void 0,isFallback:m},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!n.startsWith("//")){let r={locale:_},o=(0,d.getURL)();this._initialMatchesMiddlewarePromise=L({router:this,locale:_,asPath:o}).then(a=>(r._shouldResolveHref=n!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,E.addBasePath)(e),query:t}),o,r),a))}window.addEventListener("popstate",this.onPopState)}}V.events=(0,f.default)()},68043:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(77652),o=r(25298);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},77652:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(80626);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},96152:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(80626);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},42340:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(75078),o=r(73737);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},4232:function(e,t){"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},9012:function(e,t){"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},15604:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return u}});let n=r(33575),o=r(77652),a=r(96152),i=r(68043);function u(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5058:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});let n=r(61757)._(r(38600)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(n.urlQueryToSearchParams(s)));let c=e.search||s&&"?"+s||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==l?(l="//"+(l||""),i&&"/"!==i[0]&&(i="/"+i)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),""+a+l+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+u}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},20116:function(e,t){"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},58754:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(91623),o=r(43691),a=r(25298);function i(e,t){var r,i;let{basePath:u,i18n:s,trailingSlash:l}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):l};u&&(0,a.pathHasPrefix)(c.pathname,u)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,u),c.basePath=u);let f=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),r=e[0];c.buildId=r,f="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=f)}if(s){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,s.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(f):(0,n.normalizeLocalePath)(f,s.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},12179:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},72189:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(317),o=r(31735)},37399:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(43323),o=r(36309);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),u=i.groups,s=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let l=Object.keys(u);return l.every(e=>{let t=s[e]||"",{repeat:r,optional:n}=u[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in s)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:l,result:a}}},6312:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},31735:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let n=r(92407),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},65853:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(45782),o=r(71838);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},12795:function(e,t){"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},80626:function(e,t){"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},62757:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(45782),o=r(38600);function a(e,t){let r=new URL((0,n.getLocationOrigin)()),a=t?new URL(t,r):e.startsWith(".")?new URL(window.location.href):r,{pathname:i,searchParams:u,search:s,hash:l,href:c,origin:f}=new URL(e,a);if(f!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:i,query:(0,o.searchParamsToUrlQuery)(u),search:s,hash:l,href:c.slice(r.origin.length)}}},25298:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(80626);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},38600:function(e,t){"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},43691:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(25298);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},33575:function(e,t){"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},43323:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(45782);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},i={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(i[e]=~n.indexOf("/")?n.split("/").map(e=>a(e)):t.repeat?[a(n)]:a(n))}),i}}},36309:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return d},getRouteRegex:function(){return l},parseParameter:function(){return u}});let n=r(92350),o=r(92407),a=r(34592),i=r(33575);function u(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function s(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:o,repeat:s}=u(i[1]);return r[e]={pos:n++,repeat:s,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=u(i[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function l(e){let{parameterizedRoute:t,groups:r}=s(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:i}=e,{key:s,optional:l,repeat:c}=u(n),f=s.replace(/\W/g,"");i&&(f=""+i+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=r()),i?o[f]=""+i+s:o[f]=s;let p=t?(0,a.escapeStringRegexp)(t):"";return c?l?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function f(e,t){let r;let u=(0,i.removeTrailingSlash)(e).slice(1).split("/"),s=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:u.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&i){let[r]=e.split(i[0]);return c({getSafeRouteKey:s,interceptionMarker:r,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?c({getSafeRouteKey:s,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function d(e,t){let r=f(e,t);return{...l(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=s(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=f(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},317:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function a(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}},45758:function(e,t){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},73737:function(e,t){"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});let n="__PAGE__",o="__DEFAULT__"},3657:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(67294),o=n.useLayoutEffect,a=n.useEffect;function i(e){let{headManager:t,reduceComponentsToState:r}=e;function i(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},45782:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return g},NormalizeError:function(){return m},PageNotFoundError:function(){return _},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return s},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return a},isResSent:function(){return l},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&l(r))return n;if(!n)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class m extends Error{}class _ extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},79784:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},78018:function(e){var t,r,n,o,a,i,u,s,l,c,f,d,p,h,m,_,g,y,P,b,v,E,S,R,O,j,T,w,A,I,C,x,M,N,L,D,F,U,k,B,H,W,G,q,X,V;(t={}).d=function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},void 0!==t&&(t.ab="//"),r={},t.r(r),t.d(r,{getCLS:function(){return S},getFCP:function(){return b},getFID:function(){return I},getINP:function(){return W},getLCP:function(){return q},getTTFB:function(){return V},onCLS:function(){return S},onFCP:function(){return b},onFID:function(){return I},onINP:function(){return W},onLCP:function(){return q},onTTFB:function(){return V}}),s=-1,l=function(e){addEventListener("pageshow",function(t){t.persisted&&(s=t.timeStamp,e(t))},!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},f=function(){var e=c();return e&&e.activationStart||0},d=function(e,t){var r=c(),n="navigate";return s>=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},p=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},h=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},m=function(e,t,r,n){var o,a;return function(i){var u;t.value>=0&&(i||n)&&((a=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=a,t.rating=(u=t.value)>r[1]?"poor":u>r[0]?"needs-improvement":"good",e(t))}},_=-1,g=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},y=function(){h(function(e){_=e.timeStamp},!0)},P=function(){return _<0&&(_=g(),y(),l(function(){setTimeout(function(){_=g(),y()},0)})),{get firstHiddenTime(){return _}}},b=function(e,t){t=t||{};var r,n=[1800,3e3],o=P(),a=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(s&&s.disconnect(),e.startTime-1&&e(t)},a=d("CLS",0),i=0,u=[],s=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=u[0],r=u[u.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,u.push(e)):(i=e.value,u=[e]),i>a.value&&(a.value=i,a.entries=u,n())}})},c=p("layout-shift",s);c&&(n=m(o,a,r,t.reportAllChanges),h(function(){s(c.takeRecords()),n(!0)}),l(function(){i=0,E=-1,n=m(o,a=d("CLS",0),r,t.reportAllChanges)}))},R={passive:!0,capture:!0},O=new Date,j=function(e,t){n||(n=t,o=e,a=new Date,A(removeEventListener),T())},T=function(){if(o>=0&&o1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){j(o,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,R),removeEventListener("pointercancel",r,R)},addEventListener("pointerup",t,R),addEventListener("pointercancel",r,R)):j(o,e)}},A=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,w,R)})},I=function(e,t){t=t||{};var r,a=[100,300],u=P(),s=d("FID"),c=function(e){e.startTimet.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};B[n.id]=n,k.push(n)}k.sort(function(e,t){return t.latency-e.latency}),k.splice(10).forEach(function(e){delete B[e.id]})}},W=function(e,t){t=t||{};var r=[200,500];D();var n,o=d("INP"),a=function(e){e.forEach(function(e){e.interactionId&&H(e),"first-input"!==e.entryType||k.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||H(e)});var t,r=(t=Math.min(k.length-1,Math.floor(U()/50)),k[t]);r&&r.latency!==o.value&&(o.value=r.latency,o.entries=r.entries,n())},i=p("event",a,{durationThreshold:t.durationThreshold||40});n=m(e,o,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),h(function(){a(i.takeRecords()),o.value<0&&U()>0&&(o.value=0,o.entries=[]),n(!0)}),l(function(){k=[],F=L(),n=m(e,o=d("INP"),r,t.reportAllChanges)}))},G={},q=function(e,t){t=t||{};var r,n=[2500,4e3],o=P(),a=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();nperformance.now())return;n.entries=[a],o(!0),l(function(){(o=m(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},92350:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return s},APP_DIR_ALIAS:function(){return T},CACHE_ONE_YEAR:function(){return b},DOT_NEXT_ALIAS:function(){return O},ESLINT_DEFAULT_DIRS:function(){return X},GSP_NO_RETURNED_VALUE:function(){return k},GSSP_COMPONENT_MEMBER_ERROR:function(){return W},GSSP_NO_RETURNED_VALUE:function(){return B},INSTRUMENTATION_HOOK_FILENAME:function(){return S},MIDDLEWARE_FILENAME:function(){return v},MIDDLEWARE_LOCATION_REGEXP:function(){return E},NEXT_BODY_SUFFIX:function(){return f},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return P},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return m},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return y},NEXT_CACHE_TAGS_HEADER:function(){return d},NEXT_CACHE_TAG_MAX_ITEMS:function(){return _},NEXT_CACHE_TAG_MAX_LENGTH:function(){return g},NEXT_DATA_SUFFIX:function(){return l},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return c},NEXT_QUERY_PARAM_PREFIX:function(){return r},NON_STANDARD_NODE_ENV:function(){return G},PAGES_DIR_ALIAS:function(){return R},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return M},ROOT_DIR_ALIAS:function(){return j},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return x},RSC_ACTION_ENCRYPTION_ALIAS:function(){return C},RSC_ACTION_PROXY_ALIAS:function(){return I},RSC_ACTION_VALIDATE_ALIAS:function(){return A},RSC_MOD_REF_PROXY_ALIAS:function(){return w},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return u},SERVER_PROPS_EXPORT_ERROR:function(){return U},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return L},SERVER_PROPS_SSG_CONFLICT:function(){return D},SERVER_RUNTIME:function(){return V},SSG_FALLBACK_EXPORT_ERROR:function(){return q},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return N},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return F},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return H},WEBPACK_LAYERS:function(){return Y},WEBPACK_RESOURCE_QUERIES:function(){return K}});let r="nxtP",n="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",u=".rsc",s=".action",l=".json",c=".meta",f=".body",d="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",m="x-next-revalidate-tag-token",_=128,g=256,y=1024,P="_N_T_",b=31536e3,v="middleware",E=`(?:src/)?${v}`,S="instrumentation",R="private-next-pages",O="private-dot-next",j="private-next-root-dir",T="private-next-app-dir",w="private-next-rsc-mod-ref-proxy",A="private-next-rsc-action-validate",I="private-next-rsc-server-reference",C="private-next-rsc-action-encryption",x="private-next-rsc-action-client-wrapper",M="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",N="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",L="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",D="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",F="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",U="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",k="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",B="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",H="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",W="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",G='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',q="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",X=["app","pages","components","lib","src"],V={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},Y={...z,GROUP:{serverOnly:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.instrument],clientOnly:[z.serverSideRendering,z.appPagesBrowser],nonClientServerTarget:[z.middleware,z.api],app:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.serverSideRendering,z.appPagesBrowser,z.shared,z.instrument]}},K={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},79423:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},80676:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(58299);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},92407:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(42340),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},72431:function(){},38754:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},61757:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}},function(e){e.O(0,[9774],function(){return e(e.s=62288)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/css/599256680493765e.css b/litellm/proxy/_experimental/out/_next/static/css/599256680493765e.css new file mode 100644 index 0000000000..fcba83e9a3 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/css/599256680493765e.css @@ -0,0 +1,3 @@ +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/* +! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com +*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.inset-0{inset:0}.inset-x-\[-1\.5rem\]{left:-1.5rem;right:-1.5rem}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.bottom-\[-1\.5rem\]{bottom:-1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-1\/2{right:50%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.top-full{top:100%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.\!m-0{margin:0!important}.m-0{margin:0}.m-2{margin:.5rem}.m-8{margin:2rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\!mb-0{margin-bottom:0!important}.-mb-px{margin-bottom:-1px}.-ml-0{margin-left:0}.-ml-0\.5{margin-left:-.125rem}.-ml-1{margin-left:-.25rem}.-ml-1\.5{margin-left:-.375rem}.-ml-2{margin-left:-.5rem}.-ml-px{margin-left:-1px}.-mr-1{margin-right:-.25rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-11{margin-left:2.75rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-2\.5{margin-right:.625rem}.mr-20{margin-right:5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-8{margin-right:2rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.box-border{box-sizing:border-box}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.\!flex{display:flex!important}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.size-12{width:3rem;height:3rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.\!h-8{height:2rem!important}.h-0{height:0}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[100vh\]{height:100vh}.h-\[1px\]{height:1px}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-\[75vh\]{height:75vh}.h-\[80vh\]{height:80vh}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:6rem}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-8{max-height:2rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[228px\]{max-height:228px}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[500px\]{max-height:500px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-385px\)\]{max-height:calc(100vh - 385px)}.min-h-0{min-height:0}.min-h-8{min-height:2rem}.min-h-\[120px\]{min-height:120px}.min-h-\[380px\]{min-height:380px}.min-h-\[400px\]{min-height:400px}.min-h-\[44px\]{min-height:44px}.min-h-\[500px\]{min-height:500px}.min-h-\[750px\]{min-height:750px}.min-h-\[calc\(100vh-160px\)\]{min-height:calc(100vh - 160px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.\!w-8{width:2rem!important}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[120px\]{width:120px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-\[90\%\]{width:90%}.w-\[var\(--button-width\)\]{width:var(--button-width)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.\!min-w-8{min-width:2rem!important}.min-w-0{min-width:0}.min-w-44{min-width:11rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[600px\]{min-width:600px}.min-w-\[90px\]{min-width:90px}.min-w-full{min-width:100%}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-\[100px\]{max-width:100px}.max-w-\[10ch\]{max-width:10ch}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[15ch\]{max-width:15ch}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[20ch\]{max-width:20ch}.max-w-\[210px\]{max-width:210px}.max-w-\[250px\]{max-width:250px}.max-w-\[300px\]{max-width:300px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-4{--tw-translate-y:-1rem}.-translate-y-4,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-1\/2{--tw-translate-x:50%}.translate-x-1\/2,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem}.translate-y-0{--tw-translate-y:0px}.-rotate-180,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-\[minmax\(0\2c 1fr\)\]{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[auto\]{grid-template-columns:auto}.grid-cols-none{grid-template-columns:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.\!items-center{align-items:center!important}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.\!justify-center{justify-content:center!important}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-4{row-gap:1rem}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.divide-tremor-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.self-center{align-self:center}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-clip{overflow-x:clip}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-tremor-default{border-radius:.5rem}.rounded-tremor-full{border-radius:9999px}.rounded-tremor-small{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-tremor-default{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-l-tremor-default{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-tremor-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-tremor-small{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-r-tremor-default{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-tremor-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-tremor-small{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg,.rounded-t-tremor-default{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-4{border-bottom-width:4px}.border-e{border-inline-end-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-4{border-right-width:4px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-t-\[1px\]{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.border-amber-950{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.border-blue-950{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}.border-cyan-100{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}.border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.border-cyan-300{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.border-cyan-50{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-cyan-600{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}.border-cyan-700{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}.border-cyan-800{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}.border-cyan-900{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}.border-cyan-950{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}.border-dark-tremor-background{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-dark-tremor-border{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-dark-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-dark-tremor-brand-emphasis{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-dark-tremor-brand-inverted{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.border-dark-tremor-brand-subtle{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.border-emerald-950{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}.border-fuchsia-100{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}.border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.border-fuchsia-300{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}.border-fuchsia-400{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}.border-fuchsia-50{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}.border-fuchsia-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.border-fuchsia-600{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}.border-fuchsia-700{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}.border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}.border-fuchsia-900{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}.border-fuchsia-950{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-gray-950{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.border-green-950{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.border-indigo-950{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.border-lime-100{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}.border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.border-lime-300{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.border-lime-400{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}.border-lime-50{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.border-lime-600{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}.border-lime-700{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}.border-lime-800{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}.border-lime-900{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}.border-lime-950{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}.border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.border-neutral-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.border-neutral-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}.border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}.border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.border-neutral-900{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}.border-neutral-950{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}.border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.border-orange-950{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}.border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.border-pink-950{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}.border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.border-purple-950{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.border-red-950{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.border-rose-950{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-sky-400{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-sky-50{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}.border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.border-sky-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}.border-sky-700{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}.border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.border-sky-950{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.border-stone-100{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}.border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.border-stone-300{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}.border-stone-400{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}.border-stone-50{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}.border-stone-500{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}.border-stone-600{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}.border-stone-700{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}.border-stone-800{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}.border-stone-900{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.border-stone-950{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}.border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.border-teal-950{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-tremor-background{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-tremor-border{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-tremor-brand-emphasis{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.border-tremor-brand-inverted{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-tremor-brand-subtle{--tw-border-opacity:1;border-color:rgb(142 145 235/var(--tw-border-opacity,1))}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.border-violet-950{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.border-yellow-950{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}.border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.border-zinc-950{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:transparent}.border-r-gray-200{--tw-border-opacity:1;border-right-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.\!bg-blue-600{--tw-bg-opacity:1!important;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))!important}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/90{background-color:rgba(0,0,0,.9)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-cyan-200{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.bg-cyan-800{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.bg-cyan-950{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}.bg-dark-tremor-background{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-dark-tremor-background-subtle{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand-emphasis{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand-faint{--tw-bg-opacity:1;background-color:rgb(11 18 41/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand-muted{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.bg-dark-tremor-content-subtle{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.bg-fuchsia-200{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}.bg-fuchsia-300{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}.bg-fuchsia-400{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}.bg-fuchsia-50{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.bg-fuchsia-500{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}.bg-fuchsia-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.bg-fuchsia-800{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}.bg-fuchsia-900{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}.bg-fuchsia-950{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-100\/50{background-color:rgba(243,244,246,.5)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.bg-lime-200{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.bg-lime-300{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}.bg-lime-400{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.bg-lime-50{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}.bg-lime-800{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}.bg-lime-900{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}.bg-lime-950{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}.bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.bg-pink-950{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.bg-rose-950{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-sky-700{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.bg-sky-800{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}.bg-sky-900{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}.bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-slate-950\/30{background-color:rgba(2,6,23,.3)}.bg-stone-100{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}.bg-stone-200{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}.bg-stone-300{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}.bg-stone-400{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}.bg-stone-50{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}.bg-stone-500{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}.bg-stone-600{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}.bg-stone-700{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.bg-stone-800{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}.bg-stone-900{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}.bg-stone-950{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.bg-teal-950{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-tremor-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-tremor-background-emphasis{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-tremor-background-muted{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-tremor-background-subtle{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-tremor-border{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-tremor-brand{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-tremor-brand-muted{--tw-bg-opacity:1;background-color:rgb(134 136 239/var(--tw-bg-opacity,1))}.bg-tremor-brand-muted\/50{background-color:rgba(134,136,239,.5)}.bg-tremor-brand-subtle{--tw-bg-opacity:1;background-color:rgb(142 145 235/var(--tw-bg-opacity,1))}.bg-tremor-content-subtle{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.bg-violet-950{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-40{--tw-bg-opacity:0.4}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-yellow-500{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.bg-repeat{background-repeat:repeat}.fill-amber-100{fill:#fef3c7}.fill-amber-200{fill:#fde68a}.fill-amber-300{fill:#fcd34d}.fill-amber-400{fill:#fbbf24}.fill-amber-50{fill:#fffbeb}.fill-amber-500{fill:#f59e0b}.fill-amber-600{fill:#d97706}.fill-amber-700{fill:#b45309}.fill-amber-800{fill:#92400e}.fill-amber-900{fill:#78350f}.fill-amber-950{fill:#451a03}.fill-blue-100{fill:#dbeafe}.fill-blue-200{fill:#bfdbfe}.fill-blue-300{fill:#93c5fd}.fill-blue-400{fill:#60a5fa}.fill-blue-50{fill:#eff6ff}.fill-blue-500{fill:#3b82f6}.fill-blue-600{fill:#2563eb}.fill-blue-700{fill:#1d4ed8}.fill-blue-800{fill:#1e40af}.fill-blue-900{fill:#1e3a8a}.fill-blue-950{fill:#172554}.fill-cyan-100{fill:#cffafe}.fill-cyan-200{fill:#a5f3fc}.fill-cyan-300{fill:#67e8f9}.fill-cyan-400{fill:#22d3ee}.fill-cyan-50{fill:#ecfeff}.fill-cyan-500{fill:#06b6d4}.fill-cyan-600{fill:#0891b2}.fill-cyan-700{fill:#0e7490}.fill-cyan-800{fill:#155e75}.fill-cyan-900{fill:#164e63}.fill-cyan-950{fill:#083344}.fill-dark-tremor-content{fill:#6b7280}.fill-dark-tremor-content-emphasis{fill:#e5e7eb}.fill-emerald-100{fill:#d1fae5}.fill-emerald-200{fill:#a7f3d0}.fill-emerald-300{fill:#6ee7b7}.fill-emerald-400{fill:#34d399}.fill-emerald-50{fill:#ecfdf5}.fill-emerald-500{fill:#10b981}.fill-emerald-600{fill:#059669}.fill-emerald-700{fill:#047857}.fill-emerald-800{fill:#065f46}.fill-emerald-900{fill:#064e3b}.fill-emerald-950{fill:#022c22}.fill-fuchsia-100{fill:#fae8ff}.fill-fuchsia-200{fill:#f5d0fe}.fill-fuchsia-300{fill:#f0abfc}.fill-fuchsia-400{fill:#e879f9}.fill-fuchsia-50{fill:#fdf4ff}.fill-fuchsia-500{fill:#d946ef}.fill-fuchsia-600{fill:#c026d3}.fill-fuchsia-700{fill:#a21caf}.fill-fuchsia-800{fill:#86198f}.fill-fuchsia-900{fill:#701a75}.fill-fuchsia-950{fill:#4a044e}.fill-gray-100{fill:#f3f4f6}.fill-gray-200{fill:#e5e7eb}.fill-gray-300{fill:#d1d5db}.fill-gray-400{fill:#9ca3af}.fill-gray-50{fill:#f9fafb}.fill-gray-500{fill:#6b7280}.fill-gray-600{fill:#4b5563}.fill-gray-700{fill:#374151}.fill-gray-800{fill:#1f2937}.fill-gray-900{fill:#111827}.fill-gray-950{fill:#030712}.fill-green-100{fill:#dcfce7}.fill-green-200{fill:#bbf7d0}.fill-green-300{fill:#86efac}.fill-green-400{fill:#4ade80}.fill-green-50{fill:#f0fdf4}.fill-green-500{fill:#22c55e}.fill-green-600{fill:#16a34a}.fill-green-700{fill:#15803d}.fill-green-800{fill:#166534}.fill-green-900{fill:#14532d}.fill-green-950{fill:#052e16}.fill-indigo-100{fill:#e0e7ff}.fill-indigo-200{fill:#c7d2fe}.fill-indigo-300{fill:#a5b4fc}.fill-indigo-400{fill:#818cf8}.fill-indigo-50{fill:#eef2ff}.fill-indigo-500{fill:#6366f1}.fill-indigo-600{fill:#4f46e5}.fill-indigo-700{fill:#4338ca}.fill-indigo-800{fill:#3730a3}.fill-indigo-900{fill:#312e81}.fill-indigo-950{fill:#1e1b4b}.fill-lime-100{fill:#ecfccb}.fill-lime-200{fill:#d9f99d}.fill-lime-300{fill:#bef264}.fill-lime-400{fill:#a3e635}.fill-lime-50{fill:#f7fee7}.fill-lime-500{fill:#84cc16}.fill-lime-600{fill:#65a30d}.fill-lime-700{fill:#4d7c0f}.fill-lime-800{fill:#3f6212}.fill-lime-900{fill:#365314}.fill-lime-950{fill:#1a2e05}.fill-neutral-100{fill:#f5f5f5}.fill-neutral-200{fill:#e5e5e5}.fill-neutral-300{fill:#d4d4d4}.fill-neutral-400{fill:#a3a3a3}.fill-neutral-50{fill:#fafafa}.fill-neutral-500{fill:#737373}.fill-neutral-600{fill:#525252}.fill-neutral-700{fill:#404040}.fill-neutral-800{fill:#262626}.fill-neutral-900{fill:#171717}.fill-neutral-950{fill:#0a0a0a}.fill-orange-100{fill:#ffedd5}.fill-orange-200{fill:#fed7aa}.fill-orange-300{fill:#fdba74}.fill-orange-400{fill:#fb923c}.fill-orange-50{fill:#fff7ed}.fill-orange-500{fill:#f97316}.fill-orange-600{fill:#ea580c}.fill-orange-700{fill:#c2410c}.fill-orange-800{fill:#9a3412}.fill-orange-900{fill:#7c2d12}.fill-orange-950{fill:#431407}.fill-pink-100{fill:#fce7f3}.fill-pink-200{fill:#fbcfe8}.fill-pink-300{fill:#f9a8d4}.fill-pink-400{fill:#f472b6}.fill-pink-50{fill:#fdf2f8}.fill-pink-500{fill:#ec4899}.fill-pink-600{fill:#db2777}.fill-pink-700{fill:#be185d}.fill-pink-800{fill:#9d174d}.fill-pink-900{fill:#831843}.fill-pink-950{fill:#500724}.fill-purple-100{fill:#f3e8ff}.fill-purple-200{fill:#e9d5ff}.fill-purple-300{fill:#d8b4fe}.fill-purple-400{fill:#c084fc}.fill-purple-50{fill:#faf5ff}.fill-purple-500{fill:#a855f7}.fill-purple-600{fill:#9333ea}.fill-purple-700{fill:#7e22ce}.fill-purple-800{fill:#6b21a8}.fill-purple-900{fill:#581c87}.fill-purple-950{fill:#3b0764}.fill-red-100{fill:#fee2e2}.fill-red-200{fill:#fecaca}.fill-red-300{fill:#fca5a5}.fill-red-400{fill:#f87171}.fill-red-50{fill:#fef2f2}.fill-red-500{fill:#ef4444}.fill-red-600{fill:#dc2626}.fill-red-700{fill:#b91c1c}.fill-red-800{fill:#991b1b}.fill-red-900{fill:#7f1d1d}.fill-red-950{fill:#450a0a}.fill-rose-100{fill:#ffe4e6}.fill-rose-200{fill:#fecdd3}.fill-rose-300{fill:#fda4af}.fill-rose-400{fill:#fb7185}.fill-rose-50{fill:#fff1f2}.fill-rose-500{fill:#f43f5e}.fill-rose-600{fill:#e11d48}.fill-rose-700{fill:#be123c}.fill-rose-800{fill:#9f1239}.fill-rose-900{fill:#881337}.fill-rose-950{fill:#4c0519}.fill-sky-100{fill:#e0f2fe}.fill-sky-200{fill:#bae6fd}.fill-sky-300{fill:#7dd3fc}.fill-sky-400{fill:#38bdf8}.fill-sky-50{fill:#f0f9ff}.fill-sky-500{fill:#0ea5e9}.fill-sky-600{fill:#0284c7}.fill-sky-700{fill:#0369a1}.fill-sky-800{fill:#075985}.fill-sky-900{fill:#0c4a6e}.fill-sky-950{fill:#082f49}.fill-slate-100{fill:#f1f5f9}.fill-slate-200{fill:#e2e8f0}.fill-slate-300{fill:#cbd5e1}.fill-slate-400{fill:#94a3b8}.fill-slate-50{fill:#f8fafc}.fill-slate-500{fill:#64748b}.fill-slate-600{fill:#475569}.fill-slate-700{fill:#334155}.fill-slate-800{fill:#1e293b}.fill-slate-900{fill:#0f172a}.fill-slate-950{fill:#020617}.fill-stone-100{fill:#f5f5f4}.fill-stone-200{fill:#e7e5e4}.fill-stone-300{fill:#d6d3d1}.fill-stone-400{fill:#a8a29e}.fill-stone-50{fill:#fafaf9}.fill-stone-500{fill:#78716c}.fill-stone-600{fill:#57534e}.fill-stone-700{fill:#44403c}.fill-stone-800{fill:#292524}.fill-stone-900{fill:#1c1917}.fill-stone-950{fill:#0c0a09}.fill-teal-100{fill:#ccfbf1}.fill-teal-200{fill:#99f6e4}.fill-teal-300{fill:#5eead4}.fill-teal-400{fill:#2dd4bf}.fill-teal-50{fill:#f0fdfa}.fill-teal-500{fill:#14b8a6}.fill-teal-600{fill:#0d9488}.fill-teal-700{fill:#0f766e}.fill-teal-800{fill:#115e59}.fill-teal-900{fill:#134e4a}.fill-teal-950{fill:#042f2e}.fill-tremor-content{fill:#6b7280}.fill-tremor-content-emphasis{fill:#374151}.fill-violet-100{fill:#ede9fe}.fill-violet-200{fill:#ddd6fe}.fill-violet-300{fill:#c4b5fd}.fill-violet-400{fill:#a78bfa}.fill-violet-50{fill:#f5f3ff}.fill-violet-500{fill:#8b5cf6}.fill-violet-600{fill:#7c3aed}.fill-violet-700{fill:#6d28d9}.fill-violet-800{fill:#5b21b6}.fill-violet-900{fill:#4c1d95}.fill-violet-950{fill:#2e1065}.fill-yellow-100{fill:#fef9c3}.fill-yellow-200{fill:#fef08a}.fill-yellow-300{fill:#fde047}.fill-yellow-400{fill:#facc15}.fill-yellow-50{fill:#fefce8}.fill-yellow-500{fill:#eab308}.fill-yellow-600{fill:#ca8a04}.fill-yellow-700{fill:#a16207}.fill-yellow-800{fill:#854d0e}.fill-yellow-900{fill:#713f12}.fill-yellow-950{fill:#422006}.fill-zinc-100{fill:#f4f4f5}.fill-zinc-200{fill:#e4e4e7}.fill-zinc-300{fill:#d4d4d8}.fill-zinc-400{fill:#a1a1aa}.fill-zinc-50{fill:#fafafa}.fill-zinc-500{fill:#71717a}.fill-zinc-600{fill:#52525b}.fill-zinc-700{fill:#3f3f46}.fill-zinc-800{fill:#27272a}.fill-zinc-900{fill:#18181b}.fill-zinc-950{fill:#09090b}.stroke-amber-100{stroke:#fef3c7}.stroke-amber-200{stroke:#fde68a}.stroke-amber-300{stroke:#fcd34d}.stroke-amber-400{stroke:#fbbf24}.stroke-amber-50{stroke:#fffbeb}.stroke-amber-500{stroke:#f59e0b}.stroke-amber-600{stroke:#d97706}.stroke-amber-700{stroke:#b45309}.stroke-amber-800{stroke:#92400e}.stroke-amber-900{stroke:#78350f}.stroke-amber-950{stroke:#451a03}.stroke-blue-100{stroke:#dbeafe}.stroke-blue-200{stroke:#bfdbfe}.stroke-blue-300{stroke:#93c5fd}.stroke-blue-400{stroke:#60a5fa}.stroke-blue-50{stroke:#eff6ff}.stroke-blue-500{stroke:#3b82f6}.stroke-blue-600{stroke:#2563eb}.stroke-blue-700{stroke:#1d4ed8}.stroke-blue-800{stroke:#1e40af}.stroke-blue-900{stroke:#1e3a8a}.stroke-blue-950{stroke:#172554}.stroke-cyan-100{stroke:#cffafe}.stroke-cyan-200{stroke:#a5f3fc}.stroke-cyan-300{stroke:#67e8f9}.stroke-cyan-400{stroke:#22d3ee}.stroke-cyan-50{stroke:#ecfeff}.stroke-cyan-500{stroke:#06b6d4}.stroke-cyan-600{stroke:#0891b2}.stroke-cyan-700{stroke:#0e7490}.stroke-cyan-800{stroke:#155e75}.stroke-cyan-900{stroke:#164e63}.stroke-cyan-950{stroke:#083344}.stroke-dark-tremor-background{stroke:#111827}.stroke-dark-tremor-border{stroke:#374151}.stroke-emerald-100{stroke:#d1fae5}.stroke-emerald-200{stroke:#a7f3d0}.stroke-emerald-300{stroke:#6ee7b7}.stroke-emerald-400{stroke:#34d399}.stroke-emerald-50{stroke:#ecfdf5}.stroke-emerald-500{stroke:#10b981}.stroke-emerald-600{stroke:#059669}.stroke-emerald-700{stroke:#047857}.stroke-emerald-800{stroke:#065f46}.stroke-emerald-900{stroke:#064e3b}.stroke-emerald-950{stroke:#022c22}.stroke-fuchsia-100{stroke:#fae8ff}.stroke-fuchsia-200{stroke:#f5d0fe}.stroke-fuchsia-300{stroke:#f0abfc}.stroke-fuchsia-400{stroke:#e879f9}.stroke-fuchsia-50{stroke:#fdf4ff}.stroke-fuchsia-500{stroke:#d946ef}.stroke-fuchsia-600{stroke:#c026d3}.stroke-fuchsia-700{stroke:#a21caf}.stroke-fuchsia-800{stroke:#86198f}.stroke-fuchsia-900{stroke:#701a75}.stroke-fuchsia-950{stroke:#4a044e}.stroke-gray-100{stroke:#f3f4f6}.stroke-gray-200{stroke:#e5e7eb}.stroke-gray-300{stroke:#d1d5db}.stroke-gray-400{stroke:#9ca3af}.stroke-gray-50{stroke:#f9fafb}.stroke-gray-500{stroke:#6b7280}.stroke-gray-600{stroke:#4b5563}.stroke-gray-700{stroke:#374151}.stroke-gray-800{stroke:#1f2937}.stroke-gray-900{stroke:#111827}.stroke-gray-950{stroke:#030712}.stroke-green-100{stroke:#dcfce7}.stroke-green-200{stroke:#bbf7d0}.stroke-green-300{stroke:#86efac}.stroke-green-400{stroke:#4ade80}.stroke-green-50{stroke:#f0fdf4}.stroke-green-500{stroke:#22c55e}.stroke-green-600{stroke:#16a34a}.stroke-green-700{stroke:#15803d}.stroke-green-800{stroke:#166534}.stroke-green-900{stroke:#14532d}.stroke-green-950{stroke:#052e16}.stroke-indigo-100{stroke:#e0e7ff}.stroke-indigo-200{stroke:#c7d2fe}.stroke-indigo-300{stroke:#a5b4fc}.stroke-indigo-400{stroke:#818cf8}.stroke-indigo-50{stroke:#eef2ff}.stroke-indigo-500{stroke:#6366f1}.stroke-indigo-600{stroke:#4f46e5}.stroke-indigo-700{stroke:#4338ca}.stroke-indigo-800{stroke:#3730a3}.stroke-indigo-900{stroke:#312e81}.stroke-indigo-950{stroke:#1e1b4b}.stroke-lime-100{stroke:#ecfccb}.stroke-lime-200{stroke:#d9f99d}.stroke-lime-300{stroke:#bef264}.stroke-lime-400{stroke:#a3e635}.stroke-lime-50{stroke:#f7fee7}.stroke-lime-500{stroke:#84cc16}.stroke-lime-600{stroke:#65a30d}.stroke-lime-700{stroke:#4d7c0f}.stroke-lime-800{stroke:#3f6212}.stroke-lime-900{stroke:#365314}.stroke-lime-950{stroke:#1a2e05}.stroke-neutral-100{stroke:#f5f5f5}.stroke-neutral-200{stroke:#e5e5e5}.stroke-neutral-300{stroke:#d4d4d4}.stroke-neutral-400{stroke:#a3a3a3}.stroke-neutral-50{stroke:#fafafa}.stroke-neutral-500{stroke:#737373}.stroke-neutral-600{stroke:#525252}.stroke-neutral-700{stroke:#404040}.stroke-neutral-800{stroke:#262626}.stroke-neutral-900{stroke:#171717}.stroke-neutral-950{stroke:#0a0a0a}.stroke-orange-100{stroke:#ffedd5}.stroke-orange-200{stroke:#fed7aa}.stroke-orange-300{stroke:#fdba74}.stroke-orange-400{stroke:#fb923c}.stroke-orange-50{stroke:#fff7ed}.stroke-orange-500{stroke:#f97316}.stroke-orange-600{stroke:#ea580c}.stroke-orange-700{stroke:#c2410c}.stroke-orange-800{stroke:#9a3412}.stroke-orange-900{stroke:#7c2d12}.stroke-orange-950{stroke:#431407}.stroke-pink-100{stroke:#fce7f3}.stroke-pink-200{stroke:#fbcfe8}.stroke-pink-300{stroke:#f9a8d4}.stroke-pink-400{stroke:#f472b6}.stroke-pink-50{stroke:#fdf2f8}.stroke-pink-500{stroke:#ec4899}.stroke-pink-600{stroke:#db2777}.stroke-pink-700{stroke:#be185d}.stroke-pink-800{stroke:#9d174d}.stroke-pink-900{stroke:#831843}.stroke-pink-950{stroke:#500724}.stroke-purple-100{stroke:#f3e8ff}.stroke-purple-200{stroke:#e9d5ff}.stroke-purple-300{stroke:#d8b4fe}.stroke-purple-400{stroke:#c084fc}.stroke-purple-50{stroke:#faf5ff}.stroke-purple-500{stroke:#a855f7}.stroke-purple-600{stroke:#9333ea}.stroke-purple-700{stroke:#7e22ce}.stroke-purple-800{stroke:#6b21a8}.stroke-purple-900{stroke:#581c87}.stroke-purple-950{stroke:#3b0764}.stroke-red-100{stroke:#fee2e2}.stroke-red-200{stroke:#fecaca}.stroke-red-300{stroke:#fca5a5}.stroke-red-400{stroke:#f87171}.stroke-red-50{stroke:#fef2f2}.stroke-red-500{stroke:#ef4444}.stroke-red-600{stroke:#dc2626}.stroke-red-700{stroke:#b91c1c}.stroke-red-800{stroke:#991b1b}.stroke-red-900{stroke:#7f1d1d}.stroke-red-950{stroke:#450a0a}.stroke-rose-100{stroke:#ffe4e6}.stroke-rose-200{stroke:#fecdd3}.stroke-rose-300{stroke:#fda4af}.stroke-rose-400{stroke:#fb7185}.stroke-rose-50{stroke:#fff1f2}.stroke-rose-500{stroke:#f43f5e}.stroke-rose-600{stroke:#e11d48}.stroke-rose-700{stroke:#be123c}.stroke-rose-800{stroke:#9f1239}.stroke-rose-900{stroke:#881337}.stroke-rose-950{stroke:#4c0519}.stroke-sky-100{stroke:#e0f2fe}.stroke-sky-200{stroke:#bae6fd}.stroke-sky-300{stroke:#7dd3fc}.stroke-sky-400{stroke:#38bdf8}.stroke-sky-50{stroke:#f0f9ff}.stroke-sky-500{stroke:#0ea5e9}.stroke-sky-600{stroke:#0284c7}.stroke-sky-700{stroke:#0369a1}.stroke-sky-800{stroke:#075985}.stroke-sky-900{stroke:#0c4a6e}.stroke-sky-950{stroke:#082f49}.stroke-slate-100{stroke:#f1f5f9}.stroke-slate-200{stroke:#e2e8f0}.stroke-slate-300{stroke:#cbd5e1}.stroke-slate-400{stroke:#94a3b8}.stroke-slate-50{stroke:#f8fafc}.stroke-slate-500{stroke:#64748b}.stroke-slate-600{stroke:#475569}.stroke-slate-700{stroke:#334155}.stroke-slate-800{stroke:#1e293b}.stroke-slate-900{stroke:#0f172a}.stroke-slate-950{stroke:#020617}.stroke-stone-100{stroke:#f5f5f4}.stroke-stone-200{stroke:#e7e5e4}.stroke-stone-300{stroke:#d6d3d1}.stroke-stone-400{stroke:#a8a29e}.stroke-stone-50{stroke:#fafaf9}.stroke-stone-500{stroke:#78716c}.stroke-stone-600{stroke:#57534e}.stroke-stone-700{stroke:#44403c}.stroke-stone-800{stroke:#292524}.stroke-stone-900{stroke:#1c1917}.stroke-stone-950{stroke:#0c0a09}.stroke-teal-100{stroke:#ccfbf1}.stroke-teal-200{stroke:#99f6e4}.stroke-teal-300{stroke:#5eead4}.stroke-teal-400{stroke:#2dd4bf}.stroke-teal-50{stroke:#f0fdfa}.stroke-teal-500{stroke:#14b8a6}.stroke-teal-600{stroke:#0d9488}.stroke-teal-700{stroke:#0f766e}.stroke-teal-800{stroke:#115e59}.stroke-teal-900{stroke:#134e4a}.stroke-teal-950{stroke:#042f2e}.stroke-tremor-background{stroke:#fff}.stroke-tremor-border{stroke:#e5e7eb}.stroke-tremor-brand{stroke:#6366f1}.stroke-tremor-brand-muted\/50{stroke:rgba(134,136,239,.5)}.stroke-violet-100{stroke:#ede9fe}.stroke-violet-200{stroke:#ddd6fe}.stroke-violet-300{stroke:#c4b5fd}.stroke-violet-400{stroke:#a78bfa}.stroke-violet-50{stroke:#f5f3ff}.stroke-violet-500{stroke:#8b5cf6}.stroke-violet-600{stroke:#7c3aed}.stroke-violet-700{stroke:#6d28d9}.stroke-violet-800{stroke:#5b21b6}.stroke-violet-900{stroke:#4c1d95}.stroke-violet-950{stroke:#2e1065}.stroke-yellow-100{stroke:#fef9c3}.stroke-yellow-200{stroke:#fef08a}.stroke-yellow-300{stroke:#fde047}.stroke-yellow-400{stroke:#facc15}.stroke-yellow-50{stroke:#fefce8}.stroke-yellow-500{stroke:#eab308}.stroke-yellow-600{stroke:#ca8a04}.stroke-yellow-700{stroke:#a16207}.stroke-yellow-800{stroke:#854d0e}.stroke-yellow-900{stroke:#713f12}.stroke-yellow-950{stroke:#422006}.stroke-zinc-100{stroke:#f4f4f5}.stroke-zinc-200{stroke:#e4e4e7}.stroke-zinc-300{stroke:#d4d4d8}.stroke-zinc-400{stroke:#a1a1aa}.stroke-zinc-50{stroke:#fafafa}.stroke-zinc-500{stroke:#71717a}.stroke-zinc-600{stroke:#52525b}.stroke-zinc-700{stroke:#3f3f46}.stroke-zinc-800{stroke:#27272a}.stroke-zinc-900{stroke:#18181b}.stroke-zinc-950{stroke:#09090b}.stroke-1{stroke-width:1}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.\!text-tremor-label{font-size:.75rem!important;line-height:.3rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[12px\]{font-size:12px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-tremor-default{font-size:.775rem;line-height:1.15rem}.text-tremor-label{font-size:.75rem;line-height:.3rem}.text-tremor-metric{font-size:1.675rem;line-height:2.15rem}.text-tremor-title{font-size:1.025rem;line-height:1.65rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal:ordinal}.ordinal,.slashed-zero{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero}.lining-nums{--tw-numeric-figure:lining-nums}.lining-nums,.oldstyle-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.diagonal-fractions,.stacked-fractions{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.\!text-tremor-content-subtle{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity,1))!important}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-\[\#d1d5db\]\/15{color:rgba(209,213,219,.15)}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.text-cyan-950{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}.text-dark-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-dark-tremor-brand-emphasis{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-dark-tremor-brand-inverted{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.text-dark-tremor-content{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-dark-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-dark-tremor-content-subtle{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.text-fuchsia-200{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}.text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.text-fuchsia-50{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}.text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.text-fuchsia-800{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.text-fuchsia-900{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.text-fuchsia-950{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-green-950{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.text-lime-200{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}.text-lime-300{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.text-lime-400{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}.text-lime-50{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}.text-lime-500{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.text-lime-800{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.text-lime-950{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}.text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.text-orange-950{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}.text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.text-pink-950{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}.text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-purple-950{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.text-rose-950{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.text-sky-200{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-50{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-stone-100{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.text-stone-200{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}.text-stone-300{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}.text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.text-stone-50{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}.text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.text-stone-800{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}.text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.text-stone-950{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.text-teal-950{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-tremor-brand-emphasis{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-tremor-brand-inverted{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-tremor-content{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-tremor-content-strong{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-tremor-content-subtle{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.text-violet-950{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.text-yellow-950{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-dark-tremor-brand,.accent-tremor-brand{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[-4px_0_4px_-4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[-4px_0_4px_-4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:-4px 0 4px -4px rgba(0,0,0,.1);--tw-shadow-colored:-4px 0 4px -4px var(--tw-shadow-color)}.shadow-\[-4px_0_8px_-6px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:-4px 0 8px -6px rgba(0,0,0,.1);--tw-shadow-colored:-4px 0 8px -6px var(--tw-shadow-color)}.shadow-\[-4px_0_8px_-6px_rgba\(0\2c 0\2c 0\2c 0\.1\)\],.shadow-dark-tremor-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-dark-tremor-card{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-dark-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-dark-tremor-input,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-tremor-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-tremor-card{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-tremor-dropdown{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-tremor-dropdown,.shadow-tremor-input{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-tremor-brand{outline-color:#6366f1}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.ring-amber-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.ring-amber-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 251 235/var(--tw-ring-opacity,1))}.ring-amber-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ring-amber-600{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.ring-amber-700{--tw-ring-opacity:1;--tw-ring-color:rgb(180 83 9/var(--tw-ring-opacity,1))}.ring-amber-800{--tw-ring-opacity:1;--tw-ring-color:rgb(146 64 14/var(--tw-ring-opacity,1))}.ring-amber-900{--tw-ring-opacity:1;--tw-ring-color:rgb(120 53 15/var(--tw-ring-opacity,1))}.ring-amber-950{--tw-ring-opacity:1;--tw-ring-color:rgb(69 26 3/var(--tw-ring-opacity,1))}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgb(29 78 216/var(--tw-ring-opacity,1))}.ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}.ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity,1))}.ring-blue-950{--tw-ring-opacity:1;--tw-ring-color:rgb(23 37 84/var(--tw-ring-opacity,1))}.ring-cyan-100{--tw-ring-opacity:1;--tw-ring-color:rgb(207 250 254/var(--tw-ring-opacity,1))}.ring-cyan-200{--tw-ring-opacity:1;--tw-ring-color:rgb(165 243 252/var(--tw-ring-opacity,1))}.ring-cyan-300{--tw-ring-opacity:1;--tw-ring-color:rgb(103 232 249/var(--tw-ring-opacity,1))}.ring-cyan-400{--tw-ring-opacity:1;--tw-ring-color:rgb(34 211 238/var(--tw-ring-opacity,1))}.ring-cyan-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 254 255/var(--tw-ring-opacity,1))}.ring-cyan-500{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.ring-cyan-600{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity,1))}.ring-cyan-700{--tw-ring-opacity:1;--tw-ring-color:rgb(14 116 144/var(--tw-ring-opacity,1))}.ring-cyan-800{--tw-ring-opacity:1;--tw-ring-color:rgb(21 94 117/var(--tw-ring-opacity,1))}.ring-cyan-900{--tw-ring-opacity:1;--tw-ring-color:rgb(22 78 99/var(--tw-ring-opacity,1))}.ring-cyan-950{--tw-ring-opacity:1;--tw-ring-color:rgb(8 51 68/var(--tw-ring-opacity,1))}.ring-dark-tremor-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.ring-emerald-200{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.ring-emerald-300{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity,1))}.ring-emerald-400{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.ring-emerald-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 253 245/var(--tw-ring-opacity,1))}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.ring-emerald-600{--tw-ring-opacity:1;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity,1))}.ring-emerald-700{--tw-ring-opacity:1;--tw-ring-color:rgb(4 120 87/var(--tw-ring-opacity,1))}.ring-emerald-800{--tw-ring-opacity:1;--tw-ring-color:rgb(6 95 70/var(--tw-ring-opacity,1))}.ring-emerald-900{--tw-ring-opacity:1;--tw-ring-color:rgb(6 78 59/var(--tw-ring-opacity,1))}.ring-emerald-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 44 34/var(--tw-ring-opacity,1))}.ring-fuchsia-100{--tw-ring-opacity:1;--tw-ring-color:rgb(250 232 255/var(--tw-ring-opacity,1))}.ring-fuchsia-200{--tw-ring-opacity:1;--tw-ring-color:rgb(245 208 254/var(--tw-ring-opacity,1))}.ring-fuchsia-300{--tw-ring-opacity:1;--tw-ring-color:rgb(240 171 252/var(--tw-ring-opacity,1))}.ring-fuchsia-400{--tw-ring-opacity:1;--tw-ring-color:rgb(232 121 249/var(--tw-ring-opacity,1))}.ring-fuchsia-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 244 255/var(--tw-ring-opacity,1))}.ring-fuchsia-500{--tw-ring-opacity:1;--tw-ring-color:rgb(217 70 239/var(--tw-ring-opacity,1))}.ring-fuchsia-600{--tw-ring-opacity:1;--tw-ring-color:rgb(192 38 211/var(--tw-ring-opacity,1))}.ring-fuchsia-700{--tw-ring-opacity:1;--tw-ring-color:rgb(162 28 175/var(--tw-ring-opacity,1))}.ring-fuchsia-800{--tw-ring-opacity:1;--tw-ring-color:rgb(134 25 143/var(--tw-ring-opacity,1))}.ring-fuchsia-900{--tw-ring-opacity:1;--tw-ring-color:rgb(112 26 117/var(--tw-ring-opacity,1))}.ring-fuchsia-950{--tw-ring-opacity:1;--tw-ring-color:rgb(74 4 78/var(--tw-ring-opacity,1))}.ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity,1))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity,1))}.ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity,1))}.ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}.ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity,1))}.ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.ring-gray-950{--tw-ring-opacity:1;--tw-ring-color:rgb(3 7 18/var(--tw-ring-opacity,1))}.ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgb(220 252 231/var(--tw-ring-opacity,1))}.ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgb(187 247 208/var(--tw-ring-opacity,1))}.ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity,1))}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 244/var(--tw-ring-opacity,1))}.ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity,1))}.ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgb(21 128 61/var(--tw-ring-opacity,1))}.ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgb(22 101 52/var(--tw-ring-opacity,1))}.ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgb(20 83 45/var(--tw-ring-opacity,1))}.ring-green-950{--tw-ring-opacity:1;--tw-ring-color:rgb(5 46 22/var(--tw-ring-opacity,1))}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity,1))}.ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity,1))}.ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgb(67 56 202/var(--tw-ring-opacity,1))}.ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgb(55 48 163/var(--tw-ring-opacity,1))}.ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgb(49 46 129/var(--tw-ring-opacity,1))}.ring-indigo-950{--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.ring-lime-100{--tw-ring-opacity:1;--tw-ring-color:rgb(236 252 203/var(--tw-ring-opacity,1))}.ring-lime-200{--tw-ring-opacity:1;--tw-ring-color:rgb(217 249 157/var(--tw-ring-opacity,1))}.ring-lime-300{--tw-ring-opacity:1;--tw-ring-color:rgb(190 242 100/var(--tw-ring-opacity,1))}.ring-lime-400{--tw-ring-opacity:1;--tw-ring-color:rgb(163 230 53/var(--tw-ring-opacity,1))}.ring-lime-50{--tw-ring-opacity:1;--tw-ring-color:rgb(247 254 231/var(--tw-ring-opacity,1))}.ring-lime-500{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity,1))}.ring-lime-600{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity,1))}.ring-lime-700{--tw-ring-opacity:1;--tw-ring-color:rgb(77 124 15/var(--tw-ring-opacity,1))}.ring-lime-800{--tw-ring-opacity:1;--tw-ring-color:rgb(63 98 18/var(--tw-ring-opacity,1))}.ring-lime-900{--tw-ring-opacity:1;--tw-ring-color:rgb(54 83 20/var(--tw-ring-opacity,1))}.ring-lime-950{--tw-ring-opacity:1;--tw-ring-color:rgb(26 46 5/var(--tw-ring-opacity,1))}.ring-neutral-100{--tw-ring-opacity:1;--tw-ring-color:rgb(245 245 245/var(--tw-ring-opacity,1))}.ring-neutral-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 229 229/var(--tw-ring-opacity,1))}.ring-neutral-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 212/var(--tw-ring-opacity,1))}.ring-neutral-400{--tw-ring-opacity:1;--tw-ring-color:rgb(163 163 163/var(--tw-ring-opacity,1))}.ring-neutral-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.ring-neutral-500{--tw-ring-opacity:1;--tw-ring-color:rgb(115 115 115/var(--tw-ring-opacity,1))}.ring-neutral-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 82/var(--tw-ring-opacity,1))}.ring-neutral-700{--tw-ring-opacity:1;--tw-ring-color:rgb(64 64 64/var(--tw-ring-opacity,1))}.ring-neutral-800{--tw-ring-opacity:1;--tw-ring-color:rgb(38 38 38/var(--tw-ring-opacity,1))}.ring-neutral-900{--tw-ring-opacity:1;--tw-ring-color:rgb(23 23 23/var(--tw-ring-opacity,1))}.ring-neutral-950{--tw-ring-opacity:1;--tw-ring-color:rgb(10 10 10/var(--tw-ring-opacity,1))}.ring-orange-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.ring-orange-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity,1))}.ring-orange-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 186 116/var(--tw-ring-opacity,1))}.ring-orange-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 146 60/var(--tw-ring-opacity,1))}.ring-orange-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 247 237/var(--tw-ring-opacity,1))}.ring-orange-500{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity,1))}.ring-orange-600{--tw-ring-opacity:1;--tw-ring-color:rgb(234 88 12/var(--tw-ring-opacity,1))}.ring-orange-700{--tw-ring-opacity:1;--tw-ring-color:rgb(194 65 12/var(--tw-ring-opacity,1))}.ring-orange-800{--tw-ring-opacity:1;--tw-ring-color:rgb(154 52 18/var(--tw-ring-opacity,1))}.ring-orange-900{--tw-ring-opacity:1;--tw-ring-color:rgb(124 45 18/var(--tw-ring-opacity,1))}.ring-orange-950{--tw-ring-opacity:1;--tw-ring-color:rgb(67 20 7/var(--tw-ring-opacity,1))}.ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgb(252 231 243/var(--tw-ring-opacity,1))}.ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgb(251 207 232/var(--tw-ring-opacity,1))}.ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgb(249 168 212/var(--tw-ring-opacity,1))}.ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity,1))}.ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 242 248/var(--tw-ring-opacity,1))}.ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1))}.ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgb(219 39 119/var(--tw-ring-opacity,1))}.ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 24 93/var(--tw-ring-opacity,1))}.ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgb(157 23 77/var(--tw-ring-opacity,1))}.ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgb(131 24 67/var(--tw-ring-opacity,1))}.ring-pink-950{--tw-ring-opacity:1;--tw-ring-color:rgb(80 7 36/var(--tw-ring-opacity,1))}.ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 232 255/var(--tw-ring-opacity,1))}.ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgb(233 213 255/var(--tw-ring-opacity,1))}.ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgb(216 180 254/var(--tw-ring-opacity,1))}.ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity,1))}.ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 245 255/var(--tw-ring-opacity,1))}.ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity,1))}.ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgb(126 34 206/var(--tw-ring-opacity,1))}.ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgb(107 33 168/var(--tw-ring-opacity,1))}.ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgb(88 28 135/var(--tw-ring-opacity,1))}.ring-purple-950{--tw-ring-opacity:1;--tw-ring-color:rgb(59 7 100/var(--tw-ring-opacity,1))}.ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 242 242/var(--tw-ring-opacity,1))}.ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgb(185 28 28/var(--tw-ring-opacity,1))}.ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}.ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgb(127 29 29/var(--tw-ring-opacity,1))}.ring-red-950{--tw-ring-opacity:1;--tw-ring-color:rgb(69 10 10/var(--tw-ring-opacity,1))}.ring-rose-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.ring-rose-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 205 211/var(--tw-ring-opacity,1))}.ring-rose-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 164 175/var(--tw-ring-opacity,1))}.ring-rose-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity,1))}.ring-rose-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 241 242/var(--tw-ring-opacity,1))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.ring-rose-600{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity,1))}.ring-rose-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 18 60/var(--tw-ring-opacity,1))}.ring-rose-800{--tw-ring-opacity:1;--tw-ring-color:rgb(159 18 57/var(--tw-ring-opacity,1))}.ring-rose-900{--tw-ring-opacity:1;--tw-ring-color:rgb(136 19 55/var(--tw-ring-opacity,1))}.ring-rose-950{--tw-ring-opacity:1;--tw-ring-color:rgb(76 5 25/var(--tw-ring-opacity,1))}.ring-sky-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 242 254/var(--tw-ring-opacity,1))}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-sky-300{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.ring-sky-400{--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity,1))}.ring-sky-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 249 255/var(--tw-ring-opacity,1))}.ring-sky-500{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity,1))}.ring-sky-600{--tw-ring-opacity:1;--tw-ring-color:rgb(2 132 199/var(--tw-ring-opacity,1))}.ring-sky-700{--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity,1))}.ring-sky-800{--tw-ring-opacity:1;--tw-ring-color:rgb(7 89 133/var(--tw-ring-opacity,1))}.ring-sky-900{--tw-ring-opacity:1;--tw-ring-color:rgb(12 74 110/var(--tw-ring-opacity,1))}.ring-sky-950{--tw-ring-opacity:1;--tw-ring-color:rgb(8 47 73/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.ring-slate-400{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.ring-slate-50{--tw-ring-opacity:1;--tw-ring-color:rgb(248 250 252/var(--tw-ring-opacity,1))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.ring-slate-600{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity,1))}.ring-slate-700{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity,1))}.ring-slate-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59/var(--tw-ring-opacity,1))}.ring-slate-900{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.ring-slate-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity,1))}.ring-stone-100{--tw-ring-opacity:1;--tw-ring-color:rgb(245 245 244/var(--tw-ring-opacity,1))}.ring-stone-200{--tw-ring-opacity:1;--tw-ring-color:rgb(231 229 228/var(--tw-ring-opacity,1))}.ring-stone-300{--tw-ring-opacity:1;--tw-ring-color:rgb(214 211 209/var(--tw-ring-opacity,1))}.ring-stone-400{--tw-ring-opacity:1;--tw-ring-color:rgb(168 162 158/var(--tw-ring-opacity,1))}.ring-stone-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 249/var(--tw-ring-opacity,1))}.ring-stone-500{--tw-ring-opacity:1;--tw-ring-color:rgb(120 113 108/var(--tw-ring-opacity,1))}.ring-stone-600{--tw-ring-opacity:1;--tw-ring-color:rgb(87 83 78/var(--tw-ring-opacity,1))}.ring-stone-700{--tw-ring-opacity:1;--tw-ring-color:rgb(68 64 60/var(--tw-ring-opacity,1))}.ring-stone-800{--tw-ring-opacity:1;--tw-ring-color:rgb(41 37 36/var(--tw-ring-opacity,1))}.ring-stone-900{--tw-ring-opacity:1;--tw-ring-color:rgb(28 25 23/var(--tw-ring-opacity,1))}.ring-stone-950{--tw-ring-opacity:1;--tw-ring-color:rgb(12 10 9/var(--tw-ring-opacity,1))}.ring-teal-100{--tw-ring-opacity:1;--tw-ring-color:rgb(204 251 241/var(--tw-ring-opacity,1))}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-teal-300{--tw-ring-opacity:1;--tw-ring-color:rgb(94 234 212/var(--tw-ring-opacity,1))}.ring-teal-400{--tw-ring-opacity:1;--tw-ring-color:rgb(45 212 191/var(--tw-ring-opacity,1))}.ring-teal-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 250/var(--tw-ring-opacity,1))}.ring-teal-500{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1))}.ring-teal-600{--tw-ring-opacity:1;--tw-ring-color:rgb(13 148 136/var(--tw-ring-opacity,1))}.ring-teal-700{--tw-ring-opacity:1;--tw-ring-color:rgb(15 118 110/var(--tw-ring-opacity,1))}.ring-teal-800{--tw-ring-opacity:1;--tw-ring-color:rgb(17 94 89/var(--tw-ring-opacity,1))}.ring-teal-900{--tw-ring-opacity:1;--tw-ring-color:rgb(19 78 74/var(--tw-ring-opacity,1))}.ring-teal-950{--tw-ring-opacity:1;--tw-ring-color:rgb(4 47 46/var(--tw-ring-opacity,1))}.ring-tremor-brand-inverted{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-tremor-brand-muted{--tw-ring-opacity:1;--tw-ring-color:rgb(134 136 239/var(--tw-ring-opacity,1))}.ring-tremor-brand\/20{--tw-ring-color:rgba(99,102,241,.2)}.ring-tremor-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.ring-violet-100{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-violet-300{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity,1))}.ring-violet-400{--tw-ring-opacity:1;--tw-ring-color:rgb(167 139 250/var(--tw-ring-opacity,1))}.ring-violet-50{--tw-ring-opacity:1;--tw-ring-color:rgb(245 243 255/var(--tw-ring-opacity,1))}.ring-violet-500{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.ring-violet-600{--tw-ring-opacity:1;--tw-ring-color:rgb(124 58 237/var(--tw-ring-opacity,1))}.ring-violet-700{--tw-ring-opacity:1;--tw-ring-color:rgb(109 40 217/var(--tw-ring-opacity,1))}.ring-violet-800{--tw-ring-opacity:1;--tw-ring-color:rgb(91 33 182/var(--tw-ring-opacity,1))}.ring-violet-900{--tw-ring-opacity:1;--tw-ring-color:rgb(76 29 149/var(--tw-ring-opacity,1))}.ring-violet-950{--tw-ring-opacity:1;--tw-ring-color:rgb(46 16 101/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 249 195/var(--tw-ring-opacity,1))}.ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 240 138/var(--tw-ring-opacity,1))}.ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 252 232/var(--tw-ring-opacity,1))}.ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity,1))}.ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgb(161 98 7/var(--tw-ring-opacity,1))}.ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgb(133 77 14/var(--tw-ring-opacity,1))}.ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgb(113 63 18/var(--tw-ring-opacity,1))}.ring-yellow-950{--tw-ring-opacity:1;--tw-ring-color:rgb(66 32 6/var(--tw-ring-opacity,1))}.ring-zinc-100{--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity,1))}.ring-zinc-200{--tw-ring-opacity:1;--tw-ring-color:rgb(228 228 231/var(--tw-ring-opacity,1))}.ring-zinc-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.ring-zinc-400{--tw-ring-opacity:1;--tw-ring-color:rgb(161 161 170/var(--tw-ring-opacity,1))}.ring-zinc-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.ring-zinc-500{--tw-ring-opacity:1;--tw-ring-color:rgb(113 113 122/var(--tw-ring-opacity,1))}.ring-zinc-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 91/var(--tw-ring-opacity,1))}.ring-zinc-700{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity,1))}.ring-zinc-800{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity,1))}.ring-zinc-900{--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity,1))}.ring-zinc-950{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.ring-opacity-20{--tw-ring-opacity:0.2}.ring-opacity-40{--tw-ring-opacity:0.4}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.invert,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-grayscale{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-invert,.backdrop-sepia{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[--anchor-gap\:4px\]{--anchor-gap:4px}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255;--neutral-border:#dcddeb}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb))}.table-wrapper{overflow-x:scroll;margin:0 24px}.custom-border{border:1px solid var(--neutral-border)}.ant-dropdown-menu-item{padding:0!important}.ant-dropdown-menu-item>div{transition:all .2s ease}.ant-dropdown-menu-item[data-menu-id$=user-info]:hover{background-color:transparent!important;cursor:default}.ant-dropdown-menu-item[data-menu-id$=user-info]>div{cursor:default}.ant-dropdown-menu{padding:4px!important;min-width:280px!important}.ant-dropdown-menu-item-divider{margin:4px 0}.placeholder\:text-red-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.placeholder\:text-red-500::placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content-subtle::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content-subtle::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.first\:rounded-l-\[4px\]:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.first\:border-l-0:first-child{border-left-width:0}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-\[4px\]:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.hover\:border-b-2:hover{border-bottom-width:2px}.hover\:border-amber-100:hover{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-amber-400:hover{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.hover\:border-amber-50:hover{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.hover\:border-amber-500:hover{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\:border-amber-700:hover{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.hover\:border-amber-800:hover{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.hover\:border-amber-900:hover{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.hover\:border-amber-950:hover{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}.hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.hover\:border-blue-950:hover{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}.hover\:border-cyan-100:hover{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}.hover\:border-cyan-200:hover{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.hover\:border-cyan-300:hover{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.hover\:border-cyan-400:hover{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.hover\:border-cyan-50:hover{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}.hover\:border-cyan-500:hover{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.hover\:border-cyan-600:hover{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}.hover\:border-cyan-700:hover{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}.hover\:border-cyan-800:hover{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}.hover\:border-cyan-900:hover{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}.hover\:border-cyan-950:hover{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}.hover\:border-emerald-100:hover{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-emerald-300:hover{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.hover\:border-emerald-400:hover{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.hover\:border-emerald-50:hover{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.hover\:border-emerald-500:hover{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-emerald-700:hover{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.hover\:border-emerald-800:hover{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.hover\:border-emerald-900:hover{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.hover\:border-emerald-950:hover{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}.hover\:border-fuchsia-100:hover{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}.hover\:border-fuchsia-200:hover{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.hover\:border-fuchsia-300:hover{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}.hover\:border-fuchsia-400:hover{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}.hover\:border-fuchsia-50:hover{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}.hover\:border-fuchsia-500:hover{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.hover\:border-fuchsia-600:hover{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}.hover\:border-fuchsia-700:hover{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}.hover\:border-fuchsia-800:hover{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}.hover\:border-fuchsia-900:hover{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}.hover\:border-fuchsia-950:hover{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}.hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.hover\:border-gray-950:hover{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}.hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.hover\:border-green-950:hover{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}.hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.hover\:border-indigo-950:hover{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.hover\:border-lime-100:hover{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}.hover\:border-lime-200:hover{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.hover\:border-lime-300:hover{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.hover\:border-lime-400:hover{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}.hover\:border-lime-50:hover{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}.hover\:border-lime-500:hover{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.hover\:border-lime-600:hover{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}.hover\:border-lime-700:hover{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}.hover\:border-lime-800:hover{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}.hover\:border-lime-900:hover{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}.hover\:border-lime-950:hover{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}.hover\:border-neutral-100:hover{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.hover\:border-neutral-200:hover{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.hover\:border-neutral-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.hover\:border-neutral-400:hover{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.hover\:border-neutral-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.hover\:border-neutral-500:hover{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}.hover\:border-neutral-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}.hover\:border-neutral-700:hover{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.hover\:border-neutral-800:hover{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.hover\:border-neutral-900:hover{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}.hover\:border-neutral-950:hover{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}.hover\:border-orange-100:hover{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.hover\:border-orange-200:hover{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.hover\:border-orange-300:hover{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.hover\:border-orange-400:hover{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.hover\:border-orange-50:hover{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.hover\:border-orange-500:hover{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.hover\:border-orange-600:hover{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.hover\:border-orange-700:hover{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.hover\:border-orange-800:hover{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.hover\:border-orange-900:hover{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.hover\:border-orange-950:hover{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}.hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.hover\:border-pink-950:hover{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}.hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.hover\:border-purple-950:hover{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}.hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.hover\:border-red-950:hover{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}.hover\:border-rose-100:hover{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.hover\:border-rose-200:hover{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.hover\:border-rose-300:hover{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.hover\:border-rose-400:hover{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.hover\:border-rose-50:hover{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.hover\:border-rose-500:hover{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.hover\:border-rose-600:hover{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.hover\:border-rose-700:hover{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.hover\:border-rose-800:hover{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.hover\:border-rose-900:hover{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.hover\:border-rose-950:hover{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}.hover\:border-sky-100:hover{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.hover\:border-sky-200:hover{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.hover\:border-sky-300:hover{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.hover\:border-sky-400:hover{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.hover\:border-sky-50:hover{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}.hover\:border-sky-500:hover{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.hover\:border-sky-600:hover{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}.hover\:border-sky-700:hover{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}.hover\:border-sky-800:hover{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.hover\:border-sky-900:hover{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.hover\:border-sky-950:hover{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}.hover\:border-slate-100:hover{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-slate-50:hover{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.hover\:border-slate-800:hover{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.hover\:border-slate-900:hover{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.hover\:border-slate-950:hover{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.hover\:border-stone-100:hover{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}.hover\:border-stone-200:hover{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.hover\:border-stone-300:hover{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}.hover\:border-stone-400:hover{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}.hover\:border-stone-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}.hover\:border-stone-500:hover{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}.hover\:border-stone-600:hover{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}.hover\:border-stone-700:hover{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}.hover\:border-stone-800:hover{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}.hover\:border-stone-900:hover{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.hover\:border-stone-950:hover{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}.hover\:border-teal-100:hover{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.hover\:border-teal-200:hover{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.hover\:border-teal-300:hover{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.hover\:border-teal-400:hover{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.hover\:border-teal-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.hover\:border-teal-500:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.hover\:border-teal-600:hover{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.hover\:border-teal-700:hover{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.hover\:border-teal-800:hover{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.hover\:border-teal-900:hover{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.hover\:border-teal-950:hover{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}.hover\:border-tremor-brand-emphasis:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.hover\:border-tremor-content:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-violet-100:hover{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.hover\:border-violet-50:hover{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.hover\:border-violet-500:hover{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.hover\:border-violet-600:hover{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.hover\:border-violet-700:hover{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.hover\:border-violet-800:hover{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.hover\:border-violet-900:hover{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.hover\:border-violet-950:hover{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}.hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.hover\:border-yellow-950:hover{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}.hover\:border-zinc-100:hover{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.hover\:border-zinc-200:hover{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.hover\:border-zinc-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.hover\:border-zinc-400:hover{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.hover\:border-zinc-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.hover\:border-zinc-500:hover{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.hover\:border-zinc-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.hover\:border-zinc-700:hover{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.hover\:border-zinc-800:hover{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.hover\:border-zinc-900:hover{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.hover\:border-zinc-950:hover{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}.hover\:\!bg-blue-500:hover{--tw-bg-opacity:1!important;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))!important}.hover\:\!bg-blue-700:hover{--tw-bg-opacity:1!important;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))!important}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.hover\:bg-amber-900:hover{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.hover\:bg-amber-950:hover{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-950:hover{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.hover\:bg-cyan-100:hover{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.hover\:bg-cyan-300:hover{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.hover\:bg-cyan-400:hover{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.hover\:bg-cyan-50:hover{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.hover\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\:bg-cyan-600:hover{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.hover\:bg-cyan-700:hover{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.hover\:bg-cyan-800:hover{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.hover\:bg-cyan-900:hover{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.hover\:bg-cyan-950:hover{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.hover\:bg-emerald-200:hover{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.hover\:bg-emerald-300:hover{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.hover\:bg-emerald-400:hover{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-emerald-800:hover{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.hover\:bg-emerald-900:hover{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.hover\:bg-emerald-950:hover{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-100:hover{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-200:hover{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-300:hover{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-400:hover{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-50:hover{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-500:hover{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-600:hover{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-700:hover{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-800:hover{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-900:hover{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-950:hover{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:bg-gray-950:hover{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.hover\:bg-green-950:hover{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.hover\:bg-indigo-950:hover{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.hover\:bg-lime-100:hover{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.hover\:bg-lime-300:hover{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}.hover\:bg-lime-400:hover{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.hover\:bg-lime-50:hover{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.hover\:bg-lime-500:hover{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.hover\:bg-lime-700:hover{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}.hover\:bg-lime-900:hover{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}.hover\:bg-lime-950:hover{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:bg-neutral-200:hover{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.hover\:bg-neutral-400:hover{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-neutral-500:hover{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}.hover\:bg-neutral-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.hover\:bg-neutral-700:hover{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.hover\:bg-neutral-800:hover{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.hover\:bg-neutral-950:hover{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.hover\:bg-orange-400:hover{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-orange-500:hover{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-800:hover{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.hover\:bg-orange-900:hover{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.hover\:bg-orange-950:hover{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.hover\:bg-pink-950:hover{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.hover\:bg-purple-950:hover{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.hover\:bg-red-950:hover{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.hover\:bg-rose-200:hover{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.hover\:bg-rose-300:hover{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.hover\:bg-rose-400:hover{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-rose-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.hover\:bg-rose-600:hover{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-rose-800:hover{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.hover\:bg-rose-900:hover{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.hover\:bg-rose-950:hover{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}.hover\:bg-sky-100:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.hover\:bg-sky-200:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.hover\:bg-sky-400:hover{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.hover\:bg-sky-50:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.hover\:bg-sky-500:hover{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.hover\:bg-sky-800:hover{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}.hover\:bg-sky-900:hover{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}.hover\:bg-sky-950:hover{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-500:hover{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-slate-900:hover{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.hover\:bg-slate-950:hover{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.hover\:bg-stone-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}.hover\:bg-stone-200:hover{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}.hover\:bg-stone-300:hover{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}.hover\:bg-stone-400:hover{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}.hover\:bg-stone-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}.hover\:bg-stone-500:hover{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}.hover\:bg-stone-600:hover{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}.hover\:bg-stone-700:hover{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.hover\:bg-stone-800:hover{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}.hover\:bg-stone-900:hover{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}.hover\:bg-stone-950:hover{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}.hover\:bg-teal-100:hover{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.hover\:bg-teal-200:hover{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.hover\:bg-teal-300:hover{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.hover\:bg-teal-400:hover{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:bg-teal-500:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-teal-700:hover{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.hover\:bg-teal-800:hover{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.hover\:bg-teal-900:hover{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.hover\:bg-teal-950:hover{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}.hover\:bg-tremor-background-muted:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-tremor-background-subtle:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-tremor-brand-emphasis:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.hover\:bg-violet-200:hover{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.hover\:bg-violet-300:hover{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.hover\:bg-violet-400:hover{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.hover\:bg-violet-500:hover{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.hover\:bg-violet-600:hover{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.hover\:bg-violet-800:hover{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.hover\:bg-violet-900:hover{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.hover\:bg-violet-950:hover{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.hover\:bg-yellow-950:hover{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.hover\:bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\:bg-zinc-200:hover{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.hover\:bg-zinc-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.hover\:bg-zinc-400:hover{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-zinc-500:hover{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.hover\:bg-zinc-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:bg-zinc-900:hover{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.hover\:bg-zinc-950:hover{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\:text-amber-100:hover{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.hover\:text-amber-300:hover{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.hover\:text-amber-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.hover\:text-amber-50:hover{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-amber-800:hover{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.hover\:text-amber-900:hover{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.hover\:text-amber-950:hover{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-blue-950:hover{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.hover\:text-cyan-100:hover{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.hover\:text-cyan-200:hover{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.hover\:text-cyan-300:hover{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.hover\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\:text-cyan-50:hover{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.hover\:text-cyan-500:hover{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.hover\:text-cyan-600:hover{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.hover\:text-cyan-700:hover{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.hover\:text-cyan-800:hover{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.hover\:text-cyan-900:hover{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.hover\:text-cyan-950:hover{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}.hover\:text-emerald-100:hover{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.hover\:text-emerald-200:hover{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-emerald-400:hover{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.hover\:text-emerald-50:hover{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.hover\:text-emerald-500:hover{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-emerald-700:hover{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.hover\:text-emerald-800:hover{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.hover\:text-emerald-900:hover{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.hover\:text-emerald-950:hover{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.hover\:text-fuchsia-100:hover{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.hover\:text-fuchsia-200:hover{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}.hover\:text-fuchsia-300:hover{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.hover\:text-fuchsia-400:hover{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.hover\:text-fuchsia-50:hover{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}.hover\:text-fuchsia-500:hover{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.hover\:text-fuchsia-600:hover{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.hover\:text-fuchsia-700:hover{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.hover\:text-fuchsia-800:hover{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.hover\:text-fuchsia-900:hover{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.hover\:text-fuchsia-950:hover{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}.hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-gray-950:hover{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.hover\:text-green-100:hover{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.hover\:text-green-200:hover{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.hover\:text-green-400:hover{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.hover\:text-green-50:hover{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-green-950:hover{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}.hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.hover\:text-indigo-950:hover{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.hover\:text-lime-100:hover{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.hover\:text-lime-200:hover{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}.hover\:text-lime-300:hover{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.hover\:text-lime-400:hover{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}.hover\:text-lime-50:hover{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}.hover\:text-lime-500:hover{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}.hover\:text-lime-600:hover{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.hover\:text-lime-700:hover{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.hover\:text-lime-800:hover{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}.hover\:text-lime-900:hover{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.hover\:text-lime-950:hover{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}.hover\:text-neutral-100:hover{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.hover\:text-neutral-200:hover{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.hover\:text-neutral-300:hover{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.hover\:text-neutral-400:hover{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.hover\:text-neutral-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.hover\:text-neutral-500:hover{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.hover\:text-neutral-600:hover{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.hover\:text-neutral-950:hover{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.hover\:text-orange-100:hover{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.hover\:text-orange-200:hover{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.hover\:text-orange-300:hover{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.hover\:text-orange-400:hover{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.hover\:text-orange-50:hover{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-orange-800:hover{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-orange-950:hover{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}.hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.hover\:text-pink-950:hover{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}.hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.hover\:text-purple-950:hover{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}.hover\:text-red-100:hover{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-red-950:hover{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.hover\:text-rose-100:hover{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.hover\:text-rose-200:hover{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.hover\:text-rose-300:hover{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.hover\:text-rose-400:hover{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.hover\:text-rose-50:hover{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.hover\:text-rose-500:hover{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.hover\:text-rose-800:hover{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.hover\:text-rose-900:hover{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.hover\:text-rose-950:hover{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}.hover\:text-sky-100:hover{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.hover\:text-sky-200:hover{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.hover\:text-sky-300:hover{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.hover\:text-sky-400:hover{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.hover\:text-sky-50:hover{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}.hover\:text-sky-500:hover{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:text-sky-700:hover{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.hover\:text-sky-800:hover{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.hover\:text-sky-900:hover{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.hover\:text-sky-950:hover{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.hover\:text-slate-100:hover{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\:text-slate-50:hover{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-slate-950:hover{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.hover\:text-stone-100:hover{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.hover\:text-stone-200:hover{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}.hover\:text-stone-300:hover{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}.hover\:text-stone-400:hover{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.hover\:text-stone-50:hover{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}.hover\:text-stone-500:hover{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.hover\:text-stone-600:hover{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.hover\:text-stone-700:hover{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.hover\:text-stone-800:hover{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}.hover\:text-stone-900:hover{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.hover\:text-stone-950:hover{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.hover\:text-teal-100:hover{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.hover\:text-teal-200:hover{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.hover\:text-teal-300:hover{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.hover\:text-teal-400:hover{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.hover\:text-teal-50:hover{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.hover\:text-teal-500:hover{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.hover\:text-teal-700:hover{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.hover\:text-teal-800:hover{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.hover\:text-teal-900:hover{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.hover\:text-teal-950:hover{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}.hover\:text-tremor-brand-emphasis:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-tremor-content:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-tremor-content-emphasis:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-violet-100:hover{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.hover\:text-violet-200:hover{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.hover\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\:text-violet-400:hover{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.hover\:text-violet-50:hover{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:text-violet-600:hover{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.hover\:text-violet-700:hover{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.hover\:text-violet-800:hover{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.hover\:text-violet-900:hover{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.hover\:text-violet-950:hover{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}.hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.hover\:text-yellow-950:hover{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.hover\:text-zinc-200:hover{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.hover\:text-zinc-300:hover{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.hover\:text-zinc-400:hover{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.hover\:text-zinc-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.hover\:text-zinc-500:hover{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.hover\:text-zinc-800:hover{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\:text-zinc-950:hover{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-tremor-brand-subtle:focus{--tw-border-opacity:1;border-color:rgb(142 145 235/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-1:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-tremor-brand-muted:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(134 136 239/var(--tw-ring-opacity,1))}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.active\:translate-y-\[0\.5px\]:active{--tw-translate-y:0.5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:\!bg-gray-300:disabled{--tw-bg-opacity:1!important;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))!important}.disabled\:bg-indigo-400:disabled{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.disabled\:\!text-gray-500:disabled{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:bg-tremor-brand-subtle\/30{background-color:rgba(142,145,235,.3)}.group:hover .group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:active .group-active\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aria-selected\:\!bg-tremor-background-subtle[aria-selected=true]{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.aria-selected\:bg-tremor-background-emphasis[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.aria-selected\:\!text-tremor-content[aria-selected=true]{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.aria-selected\:text-dark-tremor-brand-inverted[aria-selected=true]{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.aria-selected\:text-tremor-brand-inverted[aria-selected=true],.aria-selected\:text-tremor-content-inverted[aria-selected=true]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.data-\[selected\]\:border-b-2[data-selected]{border-bottom-width:2px}.data-\[selected\]\:border-tremor-border[data-selected]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.data-\[selected\]\:border-tremor-brand[data-selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.data-\[focus\]\:bg-tremor-background-muted[data-focus]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.data-\[selected\]\:bg-tremor-background[data-selected]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\[selected\]\:bg-tremor-background-muted[data-selected]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.data-\[focus\]\:text-tremor-content-strong[data-focus]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.data-\[selected\]\:text-tremor-brand[data-selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.data-\[selected\]\:text-tremor-content-strong[data-selected]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.data-\[closed\]\:opacity-0[data-closed]{opacity:0}.data-\[selected\]\:shadow-tremor-input[data-selected]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[enter\]\:duration-300[data-enter]{transition-duration:.3s}.data-\[leave\]\:duration-200[data-leave]{transition-duration:.2s}.data-\[enter\]\:ease-out[data-enter]{transition-timing-function:cubic-bezier(0,0,.2,1)}.data-\[leave\]\:ease-in[data-leave]{transition-timing-function:cubic-bezier(.4,0,1,1)}.ui-selected\:border-amber-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.ui-selected\:border-amber-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.ui-selected\:border-amber-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.ui-selected\:border-amber-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.ui-selected\:border-amber-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.ui-selected\:border-amber-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.ui-selected\:border-amber-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.ui-selected\:border-amber-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.ui-selected\:border-amber-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.ui-selected\:border-amber-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.ui-selected\:border-amber-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}.ui-selected\:border-blue-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.ui-selected\:border-blue-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.ui-selected\:border-blue-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.ui-selected\:border-blue-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.ui-selected\:border-blue-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.ui-selected\:border-blue-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.ui-selected\:border-blue-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.ui-selected\:border-blue-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.ui-selected\:border-blue-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.ui-selected\:border-blue-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.ui-selected\:border-blue-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}.ui-selected\:border-gray-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.ui-selected\:border-gray-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.ui-selected\:border-gray-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.ui-selected\:border-gray-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.ui-selected\:border-gray-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.ui-selected\:border-gray-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.ui-selected\:border-gray-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.ui-selected\:border-gray-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.ui-selected\:border-gray-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.ui-selected\:border-gray-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.ui-selected\:border-gray-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}.ui-selected\:border-green-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.ui-selected\:border-green-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.ui-selected\:border-green-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.ui-selected\:border-green-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.ui-selected\:border-green-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.ui-selected\:border-green-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.ui-selected\:border-green-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.ui-selected\:border-green-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.ui-selected\:border-green-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.ui-selected\:border-green-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.ui-selected\:border-green-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.ui-selected\:border-lime-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}.ui-selected\:border-lime-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.ui-selected\:border-lime-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.ui-selected\:border-lime-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}.ui-selected\:border-lime-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}.ui-selected\:border-lime-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.ui-selected\:border-lime-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}.ui-selected\:border-lime-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}.ui-selected\:border-lime-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}.ui-selected\:border-lime-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}.ui-selected\:border-lime-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}.ui-selected\:border-orange-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.ui-selected\:border-orange-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.ui-selected\:border-orange-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.ui-selected\:border-orange-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.ui-selected\:border-orange-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.ui-selected\:border-orange-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.ui-selected\:border-orange-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.ui-selected\:border-orange-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.ui-selected\:border-orange-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.ui-selected\:border-orange-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.ui-selected\:border-orange-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}.ui-selected\:border-pink-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.ui-selected\:border-pink-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.ui-selected\:border-pink-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.ui-selected\:border-pink-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.ui-selected\:border-pink-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.ui-selected\:border-pink-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.ui-selected\:border-pink-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.ui-selected\:border-pink-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.ui-selected\:border-pink-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.ui-selected\:border-pink-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.ui-selected\:border-pink-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}.ui-selected\:border-purple-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.ui-selected\:border-purple-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.ui-selected\:border-purple-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.ui-selected\:border-purple-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.ui-selected\:border-purple-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.ui-selected\:border-purple-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.ui-selected\:border-purple-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.ui-selected\:border-purple-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.ui-selected\:border-purple-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.ui-selected\:border-purple-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.ui-selected\:border-purple-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}.ui-selected\:border-red-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.ui-selected\:border-red-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.ui-selected\:border-red-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.ui-selected\:border-red-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.ui-selected\:border-red-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.ui-selected\:border-red-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.ui-selected\:border-red-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.ui-selected\:border-red-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.ui-selected\:border-red-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.ui-selected\:border-red-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.ui-selected\:border-red-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}.ui-selected\:border-rose-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.ui-selected\:border-rose-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.ui-selected\:border-rose-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.ui-selected\:border-rose-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.ui-selected\:border-rose-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.ui-selected\:border-rose-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.ui-selected\:border-rose-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.ui-selected\:border-rose-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.ui-selected\:border-rose-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.ui-selected\:border-rose-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.ui-selected\:border-rose-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}.ui-selected\:border-sky-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.ui-selected\:border-sky-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.ui-selected\:border-sky-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.ui-selected\:border-sky-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.ui-selected\:border-sky-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}.ui-selected\:border-sky-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.ui-selected\:border-sky-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}.ui-selected\:border-sky-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}.ui-selected\:border-sky-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.ui-selected\:border-sky-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.ui-selected\:border-sky-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}.ui-selected\:border-slate-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.ui-selected\:border-slate-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.ui-selected\:border-slate-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.ui-selected\:border-slate-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.ui-selected\:border-slate-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.ui-selected\:border-slate-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.ui-selected\:border-slate-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.ui-selected\:border-slate-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.ui-selected\:border-slate-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.ui-selected\:border-slate-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.ui-selected\:border-slate-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.ui-selected\:border-stone-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}.ui-selected\:border-stone-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.ui-selected\:border-stone-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}.ui-selected\:border-stone-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}.ui-selected\:border-stone-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}.ui-selected\:border-stone-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}.ui-selected\:border-stone-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}.ui-selected\:border-stone-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}.ui-selected\:border-stone-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}.ui-selected\:border-stone-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.ui-selected\:border-stone-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}.ui-selected\:border-teal-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.ui-selected\:border-teal-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.ui-selected\:border-teal-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.ui-selected\:border-teal-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.ui-selected\:border-teal-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.ui-selected\:border-teal-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.ui-selected\:border-teal-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.ui-selected\:border-teal-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.ui-selected\:border-teal-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.ui-selected\:border-teal-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.ui-selected\:border-teal-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}.ui-selected\:border-violet-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.ui-selected\:border-violet-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.ui-selected\:border-violet-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.ui-selected\:border-violet-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.ui-selected\:border-violet-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.ui-selected\:border-violet-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.ui-selected\:border-violet-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.ui-selected\:border-violet-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.ui-selected\:border-violet-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.ui-selected\:border-violet-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.ui-selected\:border-violet-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}.ui-selected\:bg-amber-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.ui-selected\:text-amber-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.ui-selected\:text-amber-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.ui-selected\:text-amber-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.ui-selected\:text-amber-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.ui-selected\:text-amber-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.ui-selected\:text-amber-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.ui-selected\:text-amber-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.ui-selected\:text-amber-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.ui-selected\:text-amber-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.ui-selected\:text-amber-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.ui-selected\:text-amber-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.ui-selected\:text-blue-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.ui-selected\:text-blue-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.ui-selected\:text-blue-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.ui-selected\:text-blue-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.ui-selected\:text-blue-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.ui-selected\:text-blue-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.ui-selected\:text-blue-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.ui-selected\:text-blue-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.ui-selected\:text-blue-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.ui-selected\:text-blue-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.ui-selected\:text-blue-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}.ui-selected\:text-gray-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.ui-selected\:text-gray-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.ui-selected\:text-gray-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.ui-selected\:text-gray-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.ui-selected\:text-gray-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.ui-selected\:text-gray-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.ui-selected\:text-gray-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.ui-selected\:text-gray-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.ui-selected\:text-gray-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.ui-selected\:text-gray-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.ui-selected\:text-gray-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.ui-selected\:text-green-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.ui-selected\:text-green-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.ui-selected\:text-green-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.ui-selected\:text-green-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.ui-selected\:text-green-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.ui-selected\:text-green-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.ui-selected\:text-green-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.ui-selected\:text-green-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.ui-selected\:text-green-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.ui-selected\:text-green-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.ui-selected\:text-green-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.ui-selected\:text-lime-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.ui-selected\:text-lime-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}.ui-selected\:text-lime-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.ui-selected\:text-lime-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}.ui-selected\:text-lime-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}.ui-selected\:text-lime-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}.ui-selected\:text-lime-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.ui-selected\:text-lime-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.ui-selected\:text-lime-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}.ui-selected\:text-lime-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.ui-selected\:text-lime-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.ui-selected\:text-orange-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.ui-selected\:text-orange-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.ui-selected\:text-orange-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.ui-selected\:text-orange-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.ui-selected\:text-orange-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.ui-selected\:text-orange-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.ui-selected\:text-orange-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.ui-selected\:text-orange-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.ui-selected\:text-orange-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.ui-selected\:text-orange-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.ui-selected\:text-orange-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}.ui-selected\:text-pink-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.ui-selected\:text-pink-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.ui-selected\:text-pink-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.ui-selected\:text-pink-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.ui-selected\:text-pink-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.ui-selected\:text-pink-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.ui-selected\:text-pink-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.ui-selected\:text-pink-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.ui-selected\:text-pink-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.ui-selected\:text-pink-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.ui-selected\:text-pink-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}.ui-selected\:text-purple-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.ui-selected\:text-purple-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.ui-selected\:text-purple-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.ui-selected\:text-purple-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.ui-selected\:text-purple-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.ui-selected\:text-purple-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.ui-selected\:text-purple-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.ui-selected\:text-purple-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.ui-selected\:text-purple-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.ui-selected\:text-purple-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.ui-selected\:text-purple-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}.ui-selected\:text-red-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.ui-selected\:text-red-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.ui-selected\:text-red-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.ui-selected\:text-red-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.ui-selected\:text-red-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.ui-selected\:text-red-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.ui-selected\:text-red-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.ui-selected\:text-red-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.ui-selected\:text-red-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.ui-selected\:text-red-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.ui-selected\:text-red-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.ui-selected\:text-rose-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.ui-selected\:text-rose-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.ui-selected\:text-rose-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.ui-selected\:text-rose-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.ui-selected\:text-rose-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.ui-selected\:text-rose-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.ui-selected\:text-rose-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.ui-selected\:text-rose-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.ui-selected\:text-rose-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.ui-selected\:text-rose-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.ui-selected\:text-rose-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}.ui-selected\:text-sky-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.ui-selected\:text-sky-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.ui-selected\:text-sky-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.ui-selected\:text-sky-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.ui-selected\:text-sky-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}.ui-selected\:text-sky-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.ui-selected\:text-sky-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.ui-selected\:text-sky-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.ui-selected\:text-sky-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.ui-selected\:text-sky-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.ui-selected\:text-sky-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.ui-selected\:text-slate-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.ui-selected\:text-slate-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.ui-selected\:text-slate-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.ui-selected\:text-slate-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.ui-selected\:text-slate-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.ui-selected\:text-slate-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.ui-selected\:text-slate-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.ui-selected\:text-slate-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.ui-selected\:text-slate-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.ui-selected\:text-slate-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.ui-selected\:text-slate-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.ui-selected\:text-stone-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.ui-selected\:text-stone-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}.ui-selected\:text-stone-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}.ui-selected\:text-stone-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.ui-selected\:text-stone-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}.ui-selected\:text-stone-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.ui-selected\:text-stone-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.ui-selected\:text-stone-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.ui-selected\:text-stone-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}.ui-selected\:text-stone-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.ui-selected\:text-stone-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.ui-selected\:text-teal-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.ui-selected\:text-teal-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.ui-selected\:text-teal-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.ui-selected\:text-teal-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.ui-selected\:text-teal-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.ui-selected\:text-teal-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.ui-selected\:text-teal-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.ui-selected\:text-teal-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.ui-selected\:text-teal-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.ui-selected\:text-teal-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.ui-selected\:text-teal-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}.ui-selected\:text-violet-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.ui-selected\:text-violet-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.ui-selected\:text-violet-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.ui-selected\:text-violet-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.ui-selected\:text-violet-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.ui-selected\:text-violet-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.ui-selected\:text-violet-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.ui-selected\:text-violet-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.ui-selected\:text-violet-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.ui-selected\:text-violet-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.ui-selected\:text-violet-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-950{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-950{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-100{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-300{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-50{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-600{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-700{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-800{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-900{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-950{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-950{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-100{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-300{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-400{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-50{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-600{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-700{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-900{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-950{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-950{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-950{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-950{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-100{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-300{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-400{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-50{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-600{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-700{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-800{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-900{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-950{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-900{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-950{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-950{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-950{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-950{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-950{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-950{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-400{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-50{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-700{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-950{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-100{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-300{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-400{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-50{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-500{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-600{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-700{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-800{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-900{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-950{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-950{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-950{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-950{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-950{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-200{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-800{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-950{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-200{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-300{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-400{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-50{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-500{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-800{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-900{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-950{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-200{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-300{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-400{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-50{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-800{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-900{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-950{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-950{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-950{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-700{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-800{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-900{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-100{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-200{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-300{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-400{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-50{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-500{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-600{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-700{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-800{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-900{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-950{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-950{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-950{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-950{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-200{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-50{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-800{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-900{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-950{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-950{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-200{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-300{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-400{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-50{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-500{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-800{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-950{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-950{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-950{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-950{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-950{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-200{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-50{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-100{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-200{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-300{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-50{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-800{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-950{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-950{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-950{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-950{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.dark\:divide-dark-tremor-border:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:border-dark-tremor-background:is(.dark *){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-border:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand:is(.dark *){--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand-emphasis:is(.dark *){--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand-inverted:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand-subtle:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-red-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.dark\:bg-dark-tremor-background:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-background-emphasis:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-background-muted:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-background-subtle:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-border:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-brand:is(.dark *){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-brand-muted:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-brand-muted\/50:is(.dark *){background-color:rgba(30,27,75,.5)}.dark\:bg-dark-tremor-brand-muted\/70:is(.dark *){background-color:rgba(30,27,75,.7)}.dark\:bg-dark-tremor-brand-subtle\/60:is(.dark *){background-color:rgba(55,48,163,.6)}.dark\:bg-dark-tremor-content-subtle:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-slate-950\/50:is(.dark *){background-color:rgba(2,6,23,.5)}.dark\:bg-white:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dark\:bg-opacity-10:is(.dark *){--tw-bg-opacity:0.1}.dark\:bg-opacity-5:is(.dark *){--tw-bg-opacity:0.05}.dark\:fill-dark-tremor-content:is(.dark *){fill:#6b7280}.dark\:fill-dark-tremor-content-emphasis:is(.dark *){fill:#e5e7eb}.dark\:stroke-dark-tremor-background:is(.dark *){stroke:#111827}.dark\:stroke-dark-tremor-border:is(.dark *){stroke:#374151}.dark\:stroke-dark-tremor-brand:is(.dark *){stroke:#6366f1}.dark\:stroke-dark-tremor-brand-muted:is(.dark *){stroke:#1e1b4b}.dark\:text-dark-tremor-brand:is(.dark *){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-brand-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-brand-inverted:is(.dark *){--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content-strong:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content-subtle:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.dark\:text-tremor-content-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.dark\:accent-dark-tremor-brand:is(.dark *){accent-color:#6366f1}.dark\:opacity-25:is(.dark *){opacity:.25}.dark\:shadow-dark-tremor-card:is(.dark *){--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:shadow-dark-tremor-dropdown:is(.dark *){--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:shadow-dark-tremor-input:is(.dark *){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:outline-dark-tremor-brand:is(.dark *){outline-color:#6366f1}.dark\:ring-dark-tremor-brand-inverted:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.dark\:ring-dark-tremor-brand-muted:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.dark\:ring-dark-tremor-ring:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.dark\:ring-opacity-60:is(.dark *){--tw-ring-opacity:0.6}.dark\:placeholder\:text-dark-tremor-content:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-tremor-content:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-tremor-content-subtle:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-tremor-content-subtle:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:placeholder\:text-red-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.dark\:placeholder\:text-red-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content-subtle:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content-subtle:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:hover\:border-dark-tremor-brand-emphasis:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.dark\:hover\:bg-dark-tremor-background-muted:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-tremor-background-subtle:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-tremor-background-subtle\/40:hover:is(.dark *){background-color:rgba(31,41,55,.4)}.dark\:hover\:bg-dark-tremor-brand-emphasis:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-tremor-brand-faint:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(11 18 41/var(--tw-bg-opacity,1))}.hover\:dark\:\!bg-gray-100:is(.dark *):hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.hover\:dark\:bg-gray-100:is(.dark *):hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-opacity-20:hover:is(.dark *){--tw-bg-opacity:0.2}.dark\:hover\:text-dark-tremor-brand-emphasis:hover:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:hover\:text-dark-tremor-content:hover:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:hover\:text-tremor-content:hover:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:hover\:text-tremor-content-emphasis:hover:is(.dark *){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:dark\:text-dark-tremor-content:is(.dark *):hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:focus\:border-dark-tremor-brand-subtle:focus:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.focus\:dark\:border-dark-tremor-brand-subtle:is(.dark *):focus{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:focus\:ring-dark-tremor-brand-muted:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.focus\:dark\:ring-dark-tremor-brand-muted:is(.dark *):focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.group:hover .group-hover\:dark\:bg-dark-tremor-brand-subtle\/70:is(.dark *){background-color:rgba(55,48,163,.7)}.group:hover .dark\:group-hover\:text-dark-tremor-content-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.aria-selected\:dark\:\!bg-dark-tremor-background-subtle:is(.dark *)[aria-selected=true]{--tw-bg-opacity:1!important;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))!important}.dark\:aria-selected\:bg-dark-tremor-background-emphasis[aria-selected=true]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:aria-selected\:text-dark-tremor-brand-inverted[aria-selected=true]:is(.dark *){--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.dark\:aria-selected\:text-dark-tremor-content-inverted[aria-selected=true]:is(.dark *){--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:border-dark-tremor-border[data-selected]:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.data-\[selected\]\:dark\:border-dark-tremor-brand:is(.dark *)[data-selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.dark\:data-\[focus\]\:bg-dark-tremor-background-muted[data-focus]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:data-\[selected\]\:bg-dark-tremor-background[data-selected]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:data-\[selected\]\:bg-dark-tremor-background-muted[data-selected]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:data-\[focus\]\:text-dark-tremor-content-strong[data-focus]:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:text-dark-tremor-brand[data-selected]:is(.dark *){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:text-dark-tremor-content-strong[data-selected]:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.data-\[selected\]\:dark\:text-dark-tremor-brand:is(.dark *)[data-selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:shadow-dark-tremor-input[data-selected]:is(.dark *){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mb-0{margin-bottom:0}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-screen{height:100vh}.sm\:w-64{width:16rem}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:w-72{width:18rem}.md\:w-auto{width:auto}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:inline{display:inline}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:max-w-\[200px\]{max-width:200px}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}}@media (min-width:1280px){.xl\:table-cell{display:table-cell}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:not\(\[data-selected\]\)\]\:text-tremor-content:not([data-selected]){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:hover\:text-tremor-content-emphasis:hover:not([data-selected]){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:dark\:text-dark-tremor-content:is(.dark *):not([data-selected]){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:\[\&\:not\(\[data-selected\]\)\]\:text-dark-tremor-content:not([data-selected]):is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:dark\:hover\:border-dark-tremor-content-emphasis:hover:is(.dark *):not([data-selected]){--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:dark\:hover\:text-dark-tremor-content-emphasis:hover:is(.dark *):not([data-selected]){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:\[\&\:not\(\[data-selected\]\)\]\:hover\:text-dark-tremor-content-emphasis:hover:not([data-selected]):is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.\[\&_\[role\=\'tree\'\]\]\:bg-white [role=tree]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\[\&_\[role\=\'tree\'\]\]\:text-slate-900 [role=tree]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.\[\&_td\]\:py-0\.5 td{padding-top:.125rem;padding-bottom:.125rem}.\[\&_td\]\:py-2 td{padding-top:.5rem;padding-bottom:.5rem}.\[\&_th\]\:py-1 th{padding-top:.25rem;padding-bottom:.25rem}.\[\&_th\]\:py-2 th{padding-top:.5rem;padding-bottom:.5rem} \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/css/fb4a023a73ee997b.css b/litellm/proxy/_experimental/out/_next/static/css/fb4a023a73ee997b.css deleted file mode 100644 index 73ee57529f..0000000000 --- a/litellm/proxy/_experimental/out/_next/static/css/fb4a023a73ee997b.css +++ /dev/null @@ -1,3 +0,0 @@ -*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/* -! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com -*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.inset-0{inset:0}.inset-x-\[-1\.5rem\]{left:-1.5rem;right:-1.5rem}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.bottom-\[-1\.5rem\]{bottom:-1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-1\/2{right:50%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.top-full{top:100%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.\!m-0{margin:0!important}.m-0{margin:0}.m-2{margin:.5rem}.m-8{margin:2rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\!mb-0{margin-bottom:0!important}.-mb-px{margin-bottom:-1px}.-ml-0{margin-left:0}.-ml-0\.5{margin-left:-.125rem}.-ml-1{margin-left:-.25rem}.-ml-1\.5{margin-left:-.375rem}.-ml-2{margin-left:-.5rem}.-ml-px{margin-left:-1px}.-mr-1{margin-right:-.25rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-11{margin-left:2.75rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-2\.5{margin-right:.625rem}.mr-20{margin-right:5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-8{margin-right:2rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.box-border{box-sizing:border-box}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.\!flex{display:flex!important}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.size-12{width:3rem;height:3rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.\!h-8{height:2rem!important}.h-0{height:0}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[100vh\]{height:100vh}.h-\[1px\]{height:1px}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-\[75vh\]{height:75vh}.h-\[80vh\]{height:80vh}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:6rem}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-8{max-height:2rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[228px\]{max-height:228px}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[500px\]{max-height:500px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-385px\)\]{max-height:calc(100vh - 385px)}.min-h-0{min-height:0}.min-h-8{min-height:2rem}.min-h-\[120px\]{min-height:120px}.min-h-\[380px\]{min-height:380px}.min-h-\[400px\]{min-height:400px}.min-h-\[44px\]{min-height:44px}.min-h-\[500px\]{min-height:500px}.min-h-\[750px\]{min-height:750px}.min-h-\[calc\(100vh-160px\)\]{min-height:calc(100vh - 160px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.\!w-8{width:2rem!important}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[120px\]{width:120px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-\[90\%\]{width:90%}.w-\[var\(--button-width\)\]{width:var(--button-width)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.\!min-w-8{min-width:2rem!important}.min-w-0{min-width:0}.min-w-44{min-width:11rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[600px\]{min-width:600px}.min-w-\[90px\]{min-width:90px}.min-w-full{min-width:100%}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-\[100px\]{max-width:100px}.max-w-\[10ch\]{max-width:10ch}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[15ch\]{max-width:15ch}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[20ch\]{max-width:20ch}.max-w-\[210px\]{max-width:210px}.max-w-\[250px\]{max-width:250px}.max-w-\[300px\]{max-width:300px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-4{--tw-translate-y:-1rem}.-translate-y-4,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-1\/2{--tw-translate-x:50%}.translate-x-1\/2,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem}.translate-y-0{--tw-translate-y:0px}.-rotate-180,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-\[minmax\(0\2c 1fr\)\]{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[auto\]{grid-template-columns:auto}.grid-cols-none{grid-template-columns:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.\!items-center{align-items:center!important}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.\!justify-center{justify-content:center!important}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-4{row-gap:1rem}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.divide-tremor-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.self-center{align-self:center}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-clip{overflow-x:clip}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-tremor-default{border-radius:.5rem}.rounded-tremor-full{border-radius:9999px}.rounded-tremor-small{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-tremor-default{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-l-tremor-default{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-tremor-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-tremor-small{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-r-tremor-default{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-tremor-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-tremor-small{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg,.rounded-t-tremor-default{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-4{border-bottom-width:4px}.border-e{border-inline-end-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-4{border-right-width:4px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-t-\[1px\]{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.border-amber-950{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.border-blue-950{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}.border-cyan-100{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}.border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.border-cyan-300{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.border-cyan-50{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-cyan-600{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}.border-cyan-700{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}.border-cyan-800{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}.border-cyan-900{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}.border-cyan-950{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}.border-dark-tremor-background{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-dark-tremor-border{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-dark-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-dark-tremor-brand-emphasis{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-dark-tremor-brand-inverted{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.border-dark-tremor-brand-subtle{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.border-emerald-950{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}.border-fuchsia-100{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}.border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.border-fuchsia-300{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}.border-fuchsia-400{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}.border-fuchsia-50{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}.border-fuchsia-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.border-fuchsia-600{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}.border-fuchsia-700{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}.border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}.border-fuchsia-900{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}.border-fuchsia-950{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-gray-950{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.border-green-950{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.border-indigo-950{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.border-lime-100{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}.border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.border-lime-300{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.border-lime-400{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}.border-lime-50{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.border-lime-600{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}.border-lime-700{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}.border-lime-800{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}.border-lime-900{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}.border-lime-950{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}.border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.border-neutral-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.border-neutral-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}.border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}.border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.border-neutral-900{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}.border-neutral-950{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}.border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.border-orange-950{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}.border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.border-pink-950{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}.border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.border-purple-950{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.border-red-950{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.border-rose-950{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-sky-400{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-sky-50{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}.border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.border-sky-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}.border-sky-700{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}.border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.border-sky-950{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.border-stone-100{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}.border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.border-stone-300{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}.border-stone-400{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}.border-stone-50{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}.border-stone-500{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}.border-stone-600{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}.border-stone-700{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}.border-stone-800{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}.border-stone-900{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.border-stone-950{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}.border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.border-teal-950{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-tremor-background{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-tremor-border{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-tremor-brand-emphasis{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.border-tremor-brand-inverted{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-tremor-brand-subtle{--tw-border-opacity:1;border-color:rgb(142 145 235/var(--tw-border-opacity,1))}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.border-violet-950{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.border-yellow-950{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}.border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.border-zinc-950{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:transparent}.border-r-gray-200{--tw-border-opacity:1;border-right-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.\!bg-blue-600{--tw-bg-opacity:1!important;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))!important}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/90{background-color:rgba(0,0,0,.9)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-cyan-200{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.bg-cyan-800{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.bg-cyan-950{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}.bg-dark-tremor-background{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-dark-tremor-background-subtle{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand-emphasis{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand-faint{--tw-bg-opacity:1;background-color:rgb(11 18 41/var(--tw-bg-opacity,1))}.bg-dark-tremor-brand-muted{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.bg-dark-tremor-content-subtle{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.bg-fuchsia-200{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}.bg-fuchsia-300{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}.bg-fuchsia-400{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}.bg-fuchsia-50{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.bg-fuchsia-500{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}.bg-fuchsia-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.bg-fuchsia-800{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}.bg-fuchsia-900{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}.bg-fuchsia-950{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-100\/50{background-color:rgba(243,244,246,.5)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.bg-lime-200{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.bg-lime-300{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}.bg-lime-400{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.bg-lime-50{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}.bg-lime-800{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}.bg-lime-900{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}.bg-lime-950{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}.bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.bg-pink-950{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.bg-rose-950{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-sky-700{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.bg-sky-800{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}.bg-sky-900{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}.bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-slate-950\/30{background-color:rgba(2,6,23,.3)}.bg-stone-100{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}.bg-stone-200{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}.bg-stone-300{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}.bg-stone-400{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}.bg-stone-50{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}.bg-stone-500{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}.bg-stone-600{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}.bg-stone-700{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.bg-stone-800{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}.bg-stone-900{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}.bg-stone-950{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.bg-teal-950{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-tremor-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-tremor-background-emphasis{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-tremor-background-muted{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-tremor-background-subtle{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-tremor-border{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-tremor-brand{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-tremor-brand-muted{--tw-bg-opacity:1;background-color:rgb(134 136 239/var(--tw-bg-opacity,1))}.bg-tremor-brand-muted\/50{background-color:rgba(134,136,239,.5)}.bg-tremor-brand-subtle{--tw-bg-opacity:1;background-color:rgb(142 145 235/var(--tw-bg-opacity,1))}.bg-tremor-content-subtle{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.bg-violet-950{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-40{--tw-bg-opacity:0.4}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-yellow-500{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.bg-repeat{background-repeat:repeat}.fill-amber-100{fill:#fef3c7}.fill-amber-200{fill:#fde68a}.fill-amber-300{fill:#fcd34d}.fill-amber-400{fill:#fbbf24}.fill-amber-50{fill:#fffbeb}.fill-amber-500{fill:#f59e0b}.fill-amber-600{fill:#d97706}.fill-amber-700{fill:#b45309}.fill-amber-800{fill:#92400e}.fill-amber-900{fill:#78350f}.fill-amber-950{fill:#451a03}.fill-blue-100{fill:#dbeafe}.fill-blue-200{fill:#bfdbfe}.fill-blue-300{fill:#93c5fd}.fill-blue-400{fill:#60a5fa}.fill-blue-50{fill:#eff6ff}.fill-blue-500{fill:#3b82f6}.fill-blue-600{fill:#2563eb}.fill-blue-700{fill:#1d4ed8}.fill-blue-800{fill:#1e40af}.fill-blue-900{fill:#1e3a8a}.fill-blue-950{fill:#172554}.fill-cyan-100{fill:#cffafe}.fill-cyan-200{fill:#a5f3fc}.fill-cyan-300{fill:#67e8f9}.fill-cyan-400{fill:#22d3ee}.fill-cyan-50{fill:#ecfeff}.fill-cyan-500{fill:#06b6d4}.fill-cyan-600{fill:#0891b2}.fill-cyan-700{fill:#0e7490}.fill-cyan-800{fill:#155e75}.fill-cyan-900{fill:#164e63}.fill-cyan-950{fill:#083344}.fill-dark-tremor-content{fill:#6b7280}.fill-dark-tremor-content-emphasis{fill:#e5e7eb}.fill-emerald-100{fill:#d1fae5}.fill-emerald-200{fill:#a7f3d0}.fill-emerald-300{fill:#6ee7b7}.fill-emerald-400{fill:#34d399}.fill-emerald-50{fill:#ecfdf5}.fill-emerald-500{fill:#10b981}.fill-emerald-600{fill:#059669}.fill-emerald-700{fill:#047857}.fill-emerald-800{fill:#065f46}.fill-emerald-900{fill:#064e3b}.fill-emerald-950{fill:#022c22}.fill-fuchsia-100{fill:#fae8ff}.fill-fuchsia-200{fill:#f5d0fe}.fill-fuchsia-300{fill:#f0abfc}.fill-fuchsia-400{fill:#e879f9}.fill-fuchsia-50{fill:#fdf4ff}.fill-fuchsia-500{fill:#d946ef}.fill-fuchsia-600{fill:#c026d3}.fill-fuchsia-700{fill:#a21caf}.fill-fuchsia-800{fill:#86198f}.fill-fuchsia-900{fill:#701a75}.fill-fuchsia-950{fill:#4a044e}.fill-gray-100{fill:#f3f4f6}.fill-gray-200{fill:#e5e7eb}.fill-gray-300{fill:#d1d5db}.fill-gray-400{fill:#9ca3af}.fill-gray-50{fill:#f9fafb}.fill-gray-500{fill:#6b7280}.fill-gray-600{fill:#4b5563}.fill-gray-700{fill:#374151}.fill-gray-800{fill:#1f2937}.fill-gray-900{fill:#111827}.fill-gray-950{fill:#030712}.fill-green-100{fill:#dcfce7}.fill-green-200{fill:#bbf7d0}.fill-green-300{fill:#86efac}.fill-green-400{fill:#4ade80}.fill-green-50{fill:#f0fdf4}.fill-green-500{fill:#22c55e}.fill-green-600{fill:#16a34a}.fill-green-700{fill:#15803d}.fill-green-800{fill:#166534}.fill-green-900{fill:#14532d}.fill-green-950{fill:#052e16}.fill-indigo-100{fill:#e0e7ff}.fill-indigo-200{fill:#c7d2fe}.fill-indigo-300{fill:#a5b4fc}.fill-indigo-400{fill:#818cf8}.fill-indigo-50{fill:#eef2ff}.fill-indigo-500{fill:#6366f1}.fill-indigo-600{fill:#4f46e5}.fill-indigo-700{fill:#4338ca}.fill-indigo-800{fill:#3730a3}.fill-indigo-900{fill:#312e81}.fill-indigo-950{fill:#1e1b4b}.fill-lime-100{fill:#ecfccb}.fill-lime-200{fill:#d9f99d}.fill-lime-300{fill:#bef264}.fill-lime-400{fill:#a3e635}.fill-lime-50{fill:#f7fee7}.fill-lime-500{fill:#84cc16}.fill-lime-600{fill:#65a30d}.fill-lime-700{fill:#4d7c0f}.fill-lime-800{fill:#3f6212}.fill-lime-900{fill:#365314}.fill-lime-950{fill:#1a2e05}.fill-neutral-100{fill:#f5f5f5}.fill-neutral-200{fill:#e5e5e5}.fill-neutral-300{fill:#d4d4d4}.fill-neutral-400{fill:#a3a3a3}.fill-neutral-50{fill:#fafafa}.fill-neutral-500{fill:#737373}.fill-neutral-600{fill:#525252}.fill-neutral-700{fill:#404040}.fill-neutral-800{fill:#262626}.fill-neutral-900{fill:#171717}.fill-neutral-950{fill:#0a0a0a}.fill-orange-100{fill:#ffedd5}.fill-orange-200{fill:#fed7aa}.fill-orange-300{fill:#fdba74}.fill-orange-400{fill:#fb923c}.fill-orange-50{fill:#fff7ed}.fill-orange-500{fill:#f97316}.fill-orange-600{fill:#ea580c}.fill-orange-700{fill:#c2410c}.fill-orange-800{fill:#9a3412}.fill-orange-900{fill:#7c2d12}.fill-orange-950{fill:#431407}.fill-pink-100{fill:#fce7f3}.fill-pink-200{fill:#fbcfe8}.fill-pink-300{fill:#f9a8d4}.fill-pink-400{fill:#f472b6}.fill-pink-50{fill:#fdf2f8}.fill-pink-500{fill:#ec4899}.fill-pink-600{fill:#db2777}.fill-pink-700{fill:#be185d}.fill-pink-800{fill:#9d174d}.fill-pink-900{fill:#831843}.fill-pink-950{fill:#500724}.fill-purple-100{fill:#f3e8ff}.fill-purple-200{fill:#e9d5ff}.fill-purple-300{fill:#d8b4fe}.fill-purple-400{fill:#c084fc}.fill-purple-50{fill:#faf5ff}.fill-purple-500{fill:#a855f7}.fill-purple-600{fill:#9333ea}.fill-purple-700{fill:#7e22ce}.fill-purple-800{fill:#6b21a8}.fill-purple-900{fill:#581c87}.fill-purple-950{fill:#3b0764}.fill-red-100{fill:#fee2e2}.fill-red-200{fill:#fecaca}.fill-red-300{fill:#fca5a5}.fill-red-400{fill:#f87171}.fill-red-50{fill:#fef2f2}.fill-red-500{fill:#ef4444}.fill-red-600{fill:#dc2626}.fill-red-700{fill:#b91c1c}.fill-red-800{fill:#991b1b}.fill-red-900{fill:#7f1d1d}.fill-red-950{fill:#450a0a}.fill-rose-100{fill:#ffe4e6}.fill-rose-200{fill:#fecdd3}.fill-rose-300{fill:#fda4af}.fill-rose-400{fill:#fb7185}.fill-rose-50{fill:#fff1f2}.fill-rose-500{fill:#f43f5e}.fill-rose-600{fill:#e11d48}.fill-rose-700{fill:#be123c}.fill-rose-800{fill:#9f1239}.fill-rose-900{fill:#881337}.fill-rose-950{fill:#4c0519}.fill-sky-100{fill:#e0f2fe}.fill-sky-200{fill:#bae6fd}.fill-sky-300{fill:#7dd3fc}.fill-sky-400{fill:#38bdf8}.fill-sky-50{fill:#f0f9ff}.fill-sky-500{fill:#0ea5e9}.fill-sky-600{fill:#0284c7}.fill-sky-700{fill:#0369a1}.fill-sky-800{fill:#075985}.fill-sky-900{fill:#0c4a6e}.fill-sky-950{fill:#082f49}.fill-slate-100{fill:#f1f5f9}.fill-slate-200{fill:#e2e8f0}.fill-slate-300{fill:#cbd5e1}.fill-slate-400{fill:#94a3b8}.fill-slate-50{fill:#f8fafc}.fill-slate-500{fill:#64748b}.fill-slate-600{fill:#475569}.fill-slate-700{fill:#334155}.fill-slate-800{fill:#1e293b}.fill-slate-900{fill:#0f172a}.fill-slate-950{fill:#020617}.fill-stone-100{fill:#f5f5f4}.fill-stone-200{fill:#e7e5e4}.fill-stone-300{fill:#d6d3d1}.fill-stone-400{fill:#a8a29e}.fill-stone-50{fill:#fafaf9}.fill-stone-500{fill:#78716c}.fill-stone-600{fill:#57534e}.fill-stone-700{fill:#44403c}.fill-stone-800{fill:#292524}.fill-stone-900{fill:#1c1917}.fill-stone-950{fill:#0c0a09}.fill-teal-100{fill:#ccfbf1}.fill-teal-200{fill:#99f6e4}.fill-teal-300{fill:#5eead4}.fill-teal-400{fill:#2dd4bf}.fill-teal-50{fill:#f0fdfa}.fill-teal-500{fill:#14b8a6}.fill-teal-600{fill:#0d9488}.fill-teal-700{fill:#0f766e}.fill-teal-800{fill:#115e59}.fill-teal-900{fill:#134e4a}.fill-teal-950{fill:#042f2e}.fill-tremor-content{fill:#6b7280}.fill-tremor-content-emphasis{fill:#374151}.fill-violet-100{fill:#ede9fe}.fill-violet-200{fill:#ddd6fe}.fill-violet-300{fill:#c4b5fd}.fill-violet-400{fill:#a78bfa}.fill-violet-50{fill:#f5f3ff}.fill-violet-500{fill:#8b5cf6}.fill-violet-600{fill:#7c3aed}.fill-violet-700{fill:#6d28d9}.fill-violet-800{fill:#5b21b6}.fill-violet-900{fill:#4c1d95}.fill-violet-950{fill:#2e1065}.fill-yellow-100{fill:#fef9c3}.fill-yellow-200{fill:#fef08a}.fill-yellow-300{fill:#fde047}.fill-yellow-400{fill:#facc15}.fill-yellow-50{fill:#fefce8}.fill-yellow-500{fill:#eab308}.fill-yellow-600{fill:#ca8a04}.fill-yellow-700{fill:#a16207}.fill-yellow-800{fill:#854d0e}.fill-yellow-900{fill:#713f12}.fill-yellow-950{fill:#422006}.fill-zinc-100{fill:#f4f4f5}.fill-zinc-200{fill:#e4e4e7}.fill-zinc-300{fill:#d4d4d8}.fill-zinc-400{fill:#a1a1aa}.fill-zinc-50{fill:#fafafa}.fill-zinc-500{fill:#71717a}.fill-zinc-600{fill:#52525b}.fill-zinc-700{fill:#3f3f46}.fill-zinc-800{fill:#27272a}.fill-zinc-900{fill:#18181b}.fill-zinc-950{fill:#09090b}.stroke-amber-100{stroke:#fef3c7}.stroke-amber-200{stroke:#fde68a}.stroke-amber-300{stroke:#fcd34d}.stroke-amber-400{stroke:#fbbf24}.stroke-amber-50{stroke:#fffbeb}.stroke-amber-500{stroke:#f59e0b}.stroke-amber-600{stroke:#d97706}.stroke-amber-700{stroke:#b45309}.stroke-amber-800{stroke:#92400e}.stroke-amber-900{stroke:#78350f}.stroke-amber-950{stroke:#451a03}.stroke-blue-100{stroke:#dbeafe}.stroke-blue-200{stroke:#bfdbfe}.stroke-blue-300{stroke:#93c5fd}.stroke-blue-400{stroke:#60a5fa}.stroke-blue-50{stroke:#eff6ff}.stroke-blue-500{stroke:#3b82f6}.stroke-blue-600{stroke:#2563eb}.stroke-blue-700{stroke:#1d4ed8}.stroke-blue-800{stroke:#1e40af}.stroke-blue-900{stroke:#1e3a8a}.stroke-blue-950{stroke:#172554}.stroke-cyan-100{stroke:#cffafe}.stroke-cyan-200{stroke:#a5f3fc}.stroke-cyan-300{stroke:#67e8f9}.stroke-cyan-400{stroke:#22d3ee}.stroke-cyan-50{stroke:#ecfeff}.stroke-cyan-500{stroke:#06b6d4}.stroke-cyan-600{stroke:#0891b2}.stroke-cyan-700{stroke:#0e7490}.stroke-cyan-800{stroke:#155e75}.stroke-cyan-900{stroke:#164e63}.stroke-cyan-950{stroke:#083344}.stroke-dark-tremor-background{stroke:#111827}.stroke-dark-tremor-border{stroke:#374151}.stroke-emerald-100{stroke:#d1fae5}.stroke-emerald-200{stroke:#a7f3d0}.stroke-emerald-300{stroke:#6ee7b7}.stroke-emerald-400{stroke:#34d399}.stroke-emerald-50{stroke:#ecfdf5}.stroke-emerald-500{stroke:#10b981}.stroke-emerald-600{stroke:#059669}.stroke-emerald-700{stroke:#047857}.stroke-emerald-800{stroke:#065f46}.stroke-emerald-900{stroke:#064e3b}.stroke-emerald-950{stroke:#022c22}.stroke-fuchsia-100{stroke:#fae8ff}.stroke-fuchsia-200{stroke:#f5d0fe}.stroke-fuchsia-300{stroke:#f0abfc}.stroke-fuchsia-400{stroke:#e879f9}.stroke-fuchsia-50{stroke:#fdf4ff}.stroke-fuchsia-500{stroke:#d946ef}.stroke-fuchsia-600{stroke:#c026d3}.stroke-fuchsia-700{stroke:#a21caf}.stroke-fuchsia-800{stroke:#86198f}.stroke-fuchsia-900{stroke:#701a75}.stroke-fuchsia-950{stroke:#4a044e}.stroke-gray-100{stroke:#f3f4f6}.stroke-gray-200{stroke:#e5e7eb}.stroke-gray-300{stroke:#d1d5db}.stroke-gray-400{stroke:#9ca3af}.stroke-gray-50{stroke:#f9fafb}.stroke-gray-500{stroke:#6b7280}.stroke-gray-600{stroke:#4b5563}.stroke-gray-700{stroke:#374151}.stroke-gray-800{stroke:#1f2937}.stroke-gray-900{stroke:#111827}.stroke-gray-950{stroke:#030712}.stroke-green-100{stroke:#dcfce7}.stroke-green-200{stroke:#bbf7d0}.stroke-green-300{stroke:#86efac}.stroke-green-400{stroke:#4ade80}.stroke-green-50{stroke:#f0fdf4}.stroke-green-500{stroke:#22c55e}.stroke-green-600{stroke:#16a34a}.stroke-green-700{stroke:#15803d}.stroke-green-800{stroke:#166534}.stroke-green-900{stroke:#14532d}.stroke-green-950{stroke:#052e16}.stroke-indigo-100{stroke:#e0e7ff}.stroke-indigo-200{stroke:#c7d2fe}.stroke-indigo-300{stroke:#a5b4fc}.stroke-indigo-400{stroke:#818cf8}.stroke-indigo-50{stroke:#eef2ff}.stroke-indigo-500{stroke:#6366f1}.stroke-indigo-600{stroke:#4f46e5}.stroke-indigo-700{stroke:#4338ca}.stroke-indigo-800{stroke:#3730a3}.stroke-indigo-900{stroke:#312e81}.stroke-indigo-950{stroke:#1e1b4b}.stroke-lime-100{stroke:#ecfccb}.stroke-lime-200{stroke:#d9f99d}.stroke-lime-300{stroke:#bef264}.stroke-lime-400{stroke:#a3e635}.stroke-lime-50{stroke:#f7fee7}.stroke-lime-500{stroke:#84cc16}.stroke-lime-600{stroke:#65a30d}.stroke-lime-700{stroke:#4d7c0f}.stroke-lime-800{stroke:#3f6212}.stroke-lime-900{stroke:#365314}.stroke-lime-950{stroke:#1a2e05}.stroke-neutral-100{stroke:#f5f5f5}.stroke-neutral-200{stroke:#e5e5e5}.stroke-neutral-300{stroke:#d4d4d4}.stroke-neutral-400{stroke:#a3a3a3}.stroke-neutral-50{stroke:#fafafa}.stroke-neutral-500{stroke:#737373}.stroke-neutral-600{stroke:#525252}.stroke-neutral-700{stroke:#404040}.stroke-neutral-800{stroke:#262626}.stroke-neutral-900{stroke:#171717}.stroke-neutral-950{stroke:#0a0a0a}.stroke-orange-100{stroke:#ffedd5}.stroke-orange-200{stroke:#fed7aa}.stroke-orange-300{stroke:#fdba74}.stroke-orange-400{stroke:#fb923c}.stroke-orange-50{stroke:#fff7ed}.stroke-orange-500{stroke:#f97316}.stroke-orange-600{stroke:#ea580c}.stroke-orange-700{stroke:#c2410c}.stroke-orange-800{stroke:#9a3412}.stroke-orange-900{stroke:#7c2d12}.stroke-orange-950{stroke:#431407}.stroke-pink-100{stroke:#fce7f3}.stroke-pink-200{stroke:#fbcfe8}.stroke-pink-300{stroke:#f9a8d4}.stroke-pink-400{stroke:#f472b6}.stroke-pink-50{stroke:#fdf2f8}.stroke-pink-500{stroke:#ec4899}.stroke-pink-600{stroke:#db2777}.stroke-pink-700{stroke:#be185d}.stroke-pink-800{stroke:#9d174d}.stroke-pink-900{stroke:#831843}.stroke-pink-950{stroke:#500724}.stroke-purple-100{stroke:#f3e8ff}.stroke-purple-200{stroke:#e9d5ff}.stroke-purple-300{stroke:#d8b4fe}.stroke-purple-400{stroke:#c084fc}.stroke-purple-50{stroke:#faf5ff}.stroke-purple-500{stroke:#a855f7}.stroke-purple-600{stroke:#9333ea}.stroke-purple-700{stroke:#7e22ce}.stroke-purple-800{stroke:#6b21a8}.stroke-purple-900{stroke:#581c87}.stroke-purple-950{stroke:#3b0764}.stroke-red-100{stroke:#fee2e2}.stroke-red-200{stroke:#fecaca}.stroke-red-300{stroke:#fca5a5}.stroke-red-400{stroke:#f87171}.stroke-red-50{stroke:#fef2f2}.stroke-red-500{stroke:#ef4444}.stroke-red-600{stroke:#dc2626}.stroke-red-700{stroke:#b91c1c}.stroke-red-800{stroke:#991b1b}.stroke-red-900{stroke:#7f1d1d}.stroke-red-950{stroke:#450a0a}.stroke-rose-100{stroke:#ffe4e6}.stroke-rose-200{stroke:#fecdd3}.stroke-rose-300{stroke:#fda4af}.stroke-rose-400{stroke:#fb7185}.stroke-rose-50{stroke:#fff1f2}.stroke-rose-500{stroke:#f43f5e}.stroke-rose-600{stroke:#e11d48}.stroke-rose-700{stroke:#be123c}.stroke-rose-800{stroke:#9f1239}.stroke-rose-900{stroke:#881337}.stroke-rose-950{stroke:#4c0519}.stroke-sky-100{stroke:#e0f2fe}.stroke-sky-200{stroke:#bae6fd}.stroke-sky-300{stroke:#7dd3fc}.stroke-sky-400{stroke:#38bdf8}.stroke-sky-50{stroke:#f0f9ff}.stroke-sky-500{stroke:#0ea5e9}.stroke-sky-600{stroke:#0284c7}.stroke-sky-700{stroke:#0369a1}.stroke-sky-800{stroke:#075985}.stroke-sky-900{stroke:#0c4a6e}.stroke-sky-950{stroke:#082f49}.stroke-slate-100{stroke:#f1f5f9}.stroke-slate-200{stroke:#e2e8f0}.stroke-slate-300{stroke:#cbd5e1}.stroke-slate-400{stroke:#94a3b8}.stroke-slate-50{stroke:#f8fafc}.stroke-slate-500{stroke:#64748b}.stroke-slate-600{stroke:#475569}.stroke-slate-700{stroke:#334155}.stroke-slate-800{stroke:#1e293b}.stroke-slate-900{stroke:#0f172a}.stroke-slate-950{stroke:#020617}.stroke-stone-100{stroke:#f5f5f4}.stroke-stone-200{stroke:#e7e5e4}.stroke-stone-300{stroke:#d6d3d1}.stroke-stone-400{stroke:#a8a29e}.stroke-stone-50{stroke:#fafaf9}.stroke-stone-500{stroke:#78716c}.stroke-stone-600{stroke:#57534e}.stroke-stone-700{stroke:#44403c}.stroke-stone-800{stroke:#292524}.stroke-stone-900{stroke:#1c1917}.stroke-stone-950{stroke:#0c0a09}.stroke-teal-100{stroke:#ccfbf1}.stroke-teal-200{stroke:#99f6e4}.stroke-teal-300{stroke:#5eead4}.stroke-teal-400{stroke:#2dd4bf}.stroke-teal-50{stroke:#f0fdfa}.stroke-teal-500{stroke:#14b8a6}.stroke-teal-600{stroke:#0d9488}.stroke-teal-700{stroke:#0f766e}.stroke-teal-800{stroke:#115e59}.stroke-teal-900{stroke:#134e4a}.stroke-teal-950{stroke:#042f2e}.stroke-tremor-background{stroke:#fff}.stroke-tremor-border{stroke:#e5e7eb}.stroke-tremor-brand{stroke:#6366f1}.stroke-tremor-brand-muted\/50{stroke:rgba(134,136,239,.5)}.stroke-violet-100{stroke:#ede9fe}.stroke-violet-200{stroke:#ddd6fe}.stroke-violet-300{stroke:#c4b5fd}.stroke-violet-400{stroke:#a78bfa}.stroke-violet-50{stroke:#f5f3ff}.stroke-violet-500{stroke:#8b5cf6}.stroke-violet-600{stroke:#7c3aed}.stroke-violet-700{stroke:#6d28d9}.stroke-violet-800{stroke:#5b21b6}.stroke-violet-900{stroke:#4c1d95}.stroke-violet-950{stroke:#2e1065}.stroke-yellow-100{stroke:#fef9c3}.stroke-yellow-200{stroke:#fef08a}.stroke-yellow-300{stroke:#fde047}.stroke-yellow-400{stroke:#facc15}.stroke-yellow-50{stroke:#fefce8}.stroke-yellow-500{stroke:#eab308}.stroke-yellow-600{stroke:#ca8a04}.stroke-yellow-700{stroke:#a16207}.stroke-yellow-800{stroke:#854d0e}.stroke-yellow-900{stroke:#713f12}.stroke-yellow-950{stroke:#422006}.stroke-zinc-100{stroke:#f4f4f5}.stroke-zinc-200{stroke:#e4e4e7}.stroke-zinc-300{stroke:#d4d4d8}.stroke-zinc-400{stroke:#a1a1aa}.stroke-zinc-50{stroke:#fafafa}.stroke-zinc-500{stroke:#71717a}.stroke-zinc-600{stroke:#52525b}.stroke-zinc-700{stroke:#3f3f46}.stroke-zinc-800{stroke:#27272a}.stroke-zinc-900{stroke:#18181b}.stroke-zinc-950{stroke:#09090b}.stroke-1{stroke-width:1}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.\!text-tremor-label{font-size:.75rem!important;line-height:.3rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[12px\]{font-size:12px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-tremor-default{font-size:.775rem;line-height:1.15rem}.text-tremor-label{font-size:.75rem;line-height:.3rem}.text-tremor-metric{font-size:1.675rem;line-height:2.15rem}.text-tremor-title{font-size:1.025rem;line-height:1.65rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal:ordinal}.ordinal,.slashed-zero{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero}.lining-nums{--tw-numeric-figure:lining-nums}.lining-nums,.oldstyle-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.diagonal-fractions,.stacked-fractions{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.\!text-tremor-content-subtle{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity,1))!important}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-\[\#d1d5db\]\/15{color:rgba(209,213,219,.15)}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.text-cyan-950{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}.text-dark-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-dark-tremor-brand-emphasis{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-dark-tremor-brand-inverted{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.text-dark-tremor-content{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-dark-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-dark-tremor-content-subtle{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.text-fuchsia-200{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}.text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.text-fuchsia-50{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}.text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.text-fuchsia-800{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.text-fuchsia-900{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.text-fuchsia-950{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-green-950{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.text-lime-200{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}.text-lime-300{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.text-lime-400{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}.text-lime-50{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}.text-lime-500{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.text-lime-800{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.text-lime-950{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}.text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.text-orange-950{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}.text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.text-pink-950{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}.text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-purple-950{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.text-rose-950{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.text-sky-200{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-50{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-stone-100{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.text-stone-200{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}.text-stone-300{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}.text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.text-stone-50{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}.text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.text-stone-800{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}.text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.text-stone-950{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.text-teal-950{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-tremor-brand-emphasis{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-tremor-brand-inverted{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-tremor-content{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-tremor-content-strong{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-tremor-content-subtle{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.text-violet-950{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.text-yellow-950{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-dark-tremor-brand,.accent-tremor-brand{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[-4px_0_4px_-4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[-4px_0_4px_-4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:-4px 0 4px -4px rgba(0,0,0,.1);--tw-shadow-colored:-4px 0 4px -4px var(--tw-shadow-color)}.shadow-\[-4px_0_8px_-6px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:-4px 0 8px -6px rgba(0,0,0,.1);--tw-shadow-colored:-4px 0 8px -6px var(--tw-shadow-color)}.shadow-\[-4px_0_8px_-6px_rgba\(0\2c 0\2c 0\2c 0\.1\)\],.shadow-dark-tremor-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-dark-tremor-card{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-dark-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-dark-tremor-input,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-tremor-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-tremor-card{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-tremor-dropdown{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-tremor-dropdown,.shadow-tremor-input{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-tremor-brand{outline-color:#6366f1}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.ring-amber-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.ring-amber-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 251 235/var(--tw-ring-opacity,1))}.ring-amber-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ring-amber-600{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.ring-amber-700{--tw-ring-opacity:1;--tw-ring-color:rgb(180 83 9/var(--tw-ring-opacity,1))}.ring-amber-800{--tw-ring-opacity:1;--tw-ring-color:rgb(146 64 14/var(--tw-ring-opacity,1))}.ring-amber-900{--tw-ring-opacity:1;--tw-ring-color:rgb(120 53 15/var(--tw-ring-opacity,1))}.ring-amber-950{--tw-ring-opacity:1;--tw-ring-color:rgb(69 26 3/var(--tw-ring-opacity,1))}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgb(29 78 216/var(--tw-ring-opacity,1))}.ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}.ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity,1))}.ring-blue-950{--tw-ring-opacity:1;--tw-ring-color:rgb(23 37 84/var(--tw-ring-opacity,1))}.ring-cyan-100{--tw-ring-opacity:1;--tw-ring-color:rgb(207 250 254/var(--tw-ring-opacity,1))}.ring-cyan-200{--tw-ring-opacity:1;--tw-ring-color:rgb(165 243 252/var(--tw-ring-opacity,1))}.ring-cyan-300{--tw-ring-opacity:1;--tw-ring-color:rgb(103 232 249/var(--tw-ring-opacity,1))}.ring-cyan-400{--tw-ring-opacity:1;--tw-ring-color:rgb(34 211 238/var(--tw-ring-opacity,1))}.ring-cyan-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 254 255/var(--tw-ring-opacity,1))}.ring-cyan-500{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.ring-cyan-600{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity,1))}.ring-cyan-700{--tw-ring-opacity:1;--tw-ring-color:rgb(14 116 144/var(--tw-ring-opacity,1))}.ring-cyan-800{--tw-ring-opacity:1;--tw-ring-color:rgb(21 94 117/var(--tw-ring-opacity,1))}.ring-cyan-900{--tw-ring-opacity:1;--tw-ring-color:rgb(22 78 99/var(--tw-ring-opacity,1))}.ring-cyan-950{--tw-ring-opacity:1;--tw-ring-color:rgb(8 51 68/var(--tw-ring-opacity,1))}.ring-dark-tremor-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.ring-emerald-200{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.ring-emerald-300{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity,1))}.ring-emerald-400{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.ring-emerald-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 253 245/var(--tw-ring-opacity,1))}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.ring-emerald-600{--tw-ring-opacity:1;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity,1))}.ring-emerald-700{--tw-ring-opacity:1;--tw-ring-color:rgb(4 120 87/var(--tw-ring-opacity,1))}.ring-emerald-800{--tw-ring-opacity:1;--tw-ring-color:rgb(6 95 70/var(--tw-ring-opacity,1))}.ring-emerald-900{--tw-ring-opacity:1;--tw-ring-color:rgb(6 78 59/var(--tw-ring-opacity,1))}.ring-emerald-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 44 34/var(--tw-ring-opacity,1))}.ring-fuchsia-100{--tw-ring-opacity:1;--tw-ring-color:rgb(250 232 255/var(--tw-ring-opacity,1))}.ring-fuchsia-200{--tw-ring-opacity:1;--tw-ring-color:rgb(245 208 254/var(--tw-ring-opacity,1))}.ring-fuchsia-300{--tw-ring-opacity:1;--tw-ring-color:rgb(240 171 252/var(--tw-ring-opacity,1))}.ring-fuchsia-400{--tw-ring-opacity:1;--tw-ring-color:rgb(232 121 249/var(--tw-ring-opacity,1))}.ring-fuchsia-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 244 255/var(--tw-ring-opacity,1))}.ring-fuchsia-500{--tw-ring-opacity:1;--tw-ring-color:rgb(217 70 239/var(--tw-ring-opacity,1))}.ring-fuchsia-600{--tw-ring-opacity:1;--tw-ring-color:rgb(192 38 211/var(--tw-ring-opacity,1))}.ring-fuchsia-700{--tw-ring-opacity:1;--tw-ring-color:rgb(162 28 175/var(--tw-ring-opacity,1))}.ring-fuchsia-800{--tw-ring-opacity:1;--tw-ring-color:rgb(134 25 143/var(--tw-ring-opacity,1))}.ring-fuchsia-900{--tw-ring-opacity:1;--tw-ring-color:rgb(112 26 117/var(--tw-ring-opacity,1))}.ring-fuchsia-950{--tw-ring-opacity:1;--tw-ring-color:rgb(74 4 78/var(--tw-ring-opacity,1))}.ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity,1))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity,1))}.ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity,1))}.ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}.ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity,1))}.ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.ring-gray-950{--tw-ring-opacity:1;--tw-ring-color:rgb(3 7 18/var(--tw-ring-opacity,1))}.ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgb(220 252 231/var(--tw-ring-opacity,1))}.ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgb(187 247 208/var(--tw-ring-opacity,1))}.ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity,1))}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 244/var(--tw-ring-opacity,1))}.ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity,1))}.ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgb(21 128 61/var(--tw-ring-opacity,1))}.ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgb(22 101 52/var(--tw-ring-opacity,1))}.ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgb(20 83 45/var(--tw-ring-opacity,1))}.ring-green-950{--tw-ring-opacity:1;--tw-ring-color:rgb(5 46 22/var(--tw-ring-opacity,1))}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity,1))}.ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity,1))}.ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgb(67 56 202/var(--tw-ring-opacity,1))}.ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgb(55 48 163/var(--tw-ring-opacity,1))}.ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgb(49 46 129/var(--tw-ring-opacity,1))}.ring-indigo-950{--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.ring-lime-100{--tw-ring-opacity:1;--tw-ring-color:rgb(236 252 203/var(--tw-ring-opacity,1))}.ring-lime-200{--tw-ring-opacity:1;--tw-ring-color:rgb(217 249 157/var(--tw-ring-opacity,1))}.ring-lime-300{--tw-ring-opacity:1;--tw-ring-color:rgb(190 242 100/var(--tw-ring-opacity,1))}.ring-lime-400{--tw-ring-opacity:1;--tw-ring-color:rgb(163 230 53/var(--tw-ring-opacity,1))}.ring-lime-50{--tw-ring-opacity:1;--tw-ring-color:rgb(247 254 231/var(--tw-ring-opacity,1))}.ring-lime-500{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity,1))}.ring-lime-600{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity,1))}.ring-lime-700{--tw-ring-opacity:1;--tw-ring-color:rgb(77 124 15/var(--tw-ring-opacity,1))}.ring-lime-800{--tw-ring-opacity:1;--tw-ring-color:rgb(63 98 18/var(--tw-ring-opacity,1))}.ring-lime-900{--tw-ring-opacity:1;--tw-ring-color:rgb(54 83 20/var(--tw-ring-opacity,1))}.ring-lime-950{--tw-ring-opacity:1;--tw-ring-color:rgb(26 46 5/var(--tw-ring-opacity,1))}.ring-neutral-100{--tw-ring-opacity:1;--tw-ring-color:rgb(245 245 245/var(--tw-ring-opacity,1))}.ring-neutral-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 229 229/var(--tw-ring-opacity,1))}.ring-neutral-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 212/var(--tw-ring-opacity,1))}.ring-neutral-400{--tw-ring-opacity:1;--tw-ring-color:rgb(163 163 163/var(--tw-ring-opacity,1))}.ring-neutral-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.ring-neutral-500{--tw-ring-opacity:1;--tw-ring-color:rgb(115 115 115/var(--tw-ring-opacity,1))}.ring-neutral-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 82/var(--tw-ring-opacity,1))}.ring-neutral-700{--tw-ring-opacity:1;--tw-ring-color:rgb(64 64 64/var(--tw-ring-opacity,1))}.ring-neutral-800{--tw-ring-opacity:1;--tw-ring-color:rgb(38 38 38/var(--tw-ring-opacity,1))}.ring-neutral-900{--tw-ring-opacity:1;--tw-ring-color:rgb(23 23 23/var(--tw-ring-opacity,1))}.ring-neutral-950{--tw-ring-opacity:1;--tw-ring-color:rgb(10 10 10/var(--tw-ring-opacity,1))}.ring-orange-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.ring-orange-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity,1))}.ring-orange-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 186 116/var(--tw-ring-opacity,1))}.ring-orange-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 146 60/var(--tw-ring-opacity,1))}.ring-orange-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 247 237/var(--tw-ring-opacity,1))}.ring-orange-500{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity,1))}.ring-orange-600{--tw-ring-opacity:1;--tw-ring-color:rgb(234 88 12/var(--tw-ring-opacity,1))}.ring-orange-700{--tw-ring-opacity:1;--tw-ring-color:rgb(194 65 12/var(--tw-ring-opacity,1))}.ring-orange-800{--tw-ring-opacity:1;--tw-ring-color:rgb(154 52 18/var(--tw-ring-opacity,1))}.ring-orange-900{--tw-ring-opacity:1;--tw-ring-color:rgb(124 45 18/var(--tw-ring-opacity,1))}.ring-orange-950{--tw-ring-opacity:1;--tw-ring-color:rgb(67 20 7/var(--tw-ring-opacity,1))}.ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgb(252 231 243/var(--tw-ring-opacity,1))}.ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgb(251 207 232/var(--tw-ring-opacity,1))}.ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgb(249 168 212/var(--tw-ring-opacity,1))}.ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity,1))}.ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 242 248/var(--tw-ring-opacity,1))}.ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1))}.ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgb(219 39 119/var(--tw-ring-opacity,1))}.ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 24 93/var(--tw-ring-opacity,1))}.ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgb(157 23 77/var(--tw-ring-opacity,1))}.ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgb(131 24 67/var(--tw-ring-opacity,1))}.ring-pink-950{--tw-ring-opacity:1;--tw-ring-color:rgb(80 7 36/var(--tw-ring-opacity,1))}.ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 232 255/var(--tw-ring-opacity,1))}.ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgb(233 213 255/var(--tw-ring-opacity,1))}.ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgb(216 180 254/var(--tw-ring-opacity,1))}.ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity,1))}.ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 245 255/var(--tw-ring-opacity,1))}.ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity,1))}.ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgb(126 34 206/var(--tw-ring-opacity,1))}.ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgb(107 33 168/var(--tw-ring-opacity,1))}.ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgb(88 28 135/var(--tw-ring-opacity,1))}.ring-purple-950{--tw-ring-opacity:1;--tw-ring-color:rgb(59 7 100/var(--tw-ring-opacity,1))}.ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 242 242/var(--tw-ring-opacity,1))}.ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgb(185 28 28/var(--tw-ring-opacity,1))}.ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}.ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgb(127 29 29/var(--tw-ring-opacity,1))}.ring-red-950{--tw-ring-opacity:1;--tw-ring-color:rgb(69 10 10/var(--tw-ring-opacity,1))}.ring-rose-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.ring-rose-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 205 211/var(--tw-ring-opacity,1))}.ring-rose-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 164 175/var(--tw-ring-opacity,1))}.ring-rose-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity,1))}.ring-rose-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 241 242/var(--tw-ring-opacity,1))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.ring-rose-600{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity,1))}.ring-rose-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 18 60/var(--tw-ring-opacity,1))}.ring-rose-800{--tw-ring-opacity:1;--tw-ring-color:rgb(159 18 57/var(--tw-ring-opacity,1))}.ring-rose-900{--tw-ring-opacity:1;--tw-ring-color:rgb(136 19 55/var(--tw-ring-opacity,1))}.ring-rose-950{--tw-ring-opacity:1;--tw-ring-color:rgb(76 5 25/var(--tw-ring-opacity,1))}.ring-sky-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 242 254/var(--tw-ring-opacity,1))}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-sky-300{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.ring-sky-400{--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity,1))}.ring-sky-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 249 255/var(--tw-ring-opacity,1))}.ring-sky-500{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity,1))}.ring-sky-600{--tw-ring-opacity:1;--tw-ring-color:rgb(2 132 199/var(--tw-ring-opacity,1))}.ring-sky-700{--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity,1))}.ring-sky-800{--tw-ring-opacity:1;--tw-ring-color:rgb(7 89 133/var(--tw-ring-opacity,1))}.ring-sky-900{--tw-ring-opacity:1;--tw-ring-color:rgb(12 74 110/var(--tw-ring-opacity,1))}.ring-sky-950{--tw-ring-opacity:1;--tw-ring-color:rgb(8 47 73/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.ring-slate-400{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.ring-slate-50{--tw-ring-opacity:1;--tw-ring-color:rgb(248 250 252/var(--tw-ring-opacity,1))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.ring-slate-600{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity,1))}.ring-slate-700{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity,1))}.ring-slate-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59/var(--tw-ring-opacity,1))}.ring-slate-900{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.ring-slate-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity,1))}.ring-stone-100{--tw-ring-opacity:1;--tw-ring-color:rgb(245 245 244/var(--tw-ring-opacity,1))}.ring-stone-200{--tw-ring-opacity:1;--tw-ring-color:rgb(231 229 228/var(--tw-ring-opacity,1))}.ring-stone-300{--tw-ring-opacity:1;--tw-ring-color:rgb(214 211 209/var(--tw-ring-opacity,1))}.ring-stone-400{--tw-ring-opacity:1;--tw-ring-color:rgb(168 162 158/var(--tw-ring-opacity,1))}.ring-stone-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 249/var(--tw-ring-opacity,1))}.ring-stone-500{--tw-ring-opacity:1;--tw-ring-color:rgb(120 113 108/var(--tw-ring-opacity,1))}.ring-stone-600{--tw-ring-opacity:1;--tw-ring-color:rgb(87 83 78/var(--tw-ring-opacity,1))}.ring-stone-700{--tw-ring-opacity:1;--tw-ring-color:rgb(68 64 60/var(--tw-ring-opacity,1))}.ring-stone-800{--tw-ring-opacity:1;--tw-ring-color:rgb(41 37 36/var(--tw-ring-opacity,1))}.ring-stone-900{--tw-ring-opacity:1;--tw-ring-color:rgb(28 25 23/var(--tw-ring-opacity,1))}.ring-stone-950{--tw-ring-opacity:1;--tw-ring-color:rgb(12 10 9/var(--tw-ring-opacity,1))}.ring-teal-100{--tw-ring-opacity:1;--tw-ring-color:rgb(204 251 241/var(--tw-ring-opacity,1))}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-teal-300{--tw-ring-opacity:1;--tw-ring-color:rgb(94 234 212/var(--tw-ring-opacity,1))}.ring-teal-400{--tw-ring-opacity:1;--tw-ring-color:rgb(45 212 191/var(--tw-ring-opacity,1))}.ring-teal-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 250/var(--tw-ring-opacity,1))}.ring-teal-500{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1))}.ring-teal-600{--tw-ring-opacity:1;--tw-ring-color:rgb(13 148 136/var(--tw-ring-opacity,1))}.ring-teal-700{--tw-ring-opacity:1;--tw-ring-color:rgb(15 118 110/var(--tw-ring-opacity,1))}.ring-teal-800{--tw-ring-opacity:1;--tw-ring-color:rgb(17 94 89/var(--tw-ring-opacity,1))}.ring-teal-900{--tw-ring-opacity:1;--tw-ring-color:rgb(19 78 74/var(--tw-ring-opacity,1))}.ring-teal-950{--tw-ring-opacity:1;--tw-ring-color:rgb(4 47 46/var(--tw-ring-opacity,1))}.ring-tremor-brand-inverted{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-tremor-brand-muted{--tw-ring-opacity:1;--tw-ring-color:rgb(134 136 239/var(--tw-ring-opacity,1))}.ring-tremor-brand\/20{--tw-ring-color:rgba(99,102,241,.2)}.ring-tremor-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.ring-violet-100{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-violet-300{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity,1))}.ring-violet-400{--tw-ring-opacity:1;--tw-ring-color:rgb(167 139 250/var(--tw-ring-opacity,1))}.ring-violet-50{--tw-ring-opacity:1;--tw-ring-color:rgb(245 243 255/var(--tw-ring-opacity,1))}.ring-violet-500{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.ring-violet-600{--tw-ring-opacity:1;--tw-ring-color:rgb(124 58 237/var(--tw-ring-opacity,1))}.ring-violet-700{--tw-ring-opacity:1;--tw-ring-color:rgb(109 40 217/var(--tw-ring-opacity,1))}.ring-violet-800{--tw-ring-opacity:1;--tw-ring-color:rgb(91 33 182/var(--tw-ring-opacity,1))}.ring-violet-900{--tw-ring-opacity:1;--tw-ring-color:rgb(76 29 149/var(--tw-ring-opacity,1))}.ring-violet-950{--tw-ring-opacity:1;--tw-ring-color:rgb(46 16 101/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 249 195/var(--tw-ring-opacity,1))}.ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 240 138/var(--tw-ring-opacity,1))}.ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 252 232/var(--tw-ring-opacity,1))}.ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity,1))}.ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgb(161 98 7/var(--tw-ring-opacity,1))}.ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgb(133 77 14/var(--tw-ring-opacity,1))}.ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgb(113 63 18/var(--tw-ring-opacity,1))}.ring-yellow-950{--tw-ring-opacity:1;--tw-ring-color:rgb(66 32 6/var(--tw-ring-opacity,1))}.ring-zinc-100{--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity,1))}.ring-zinc-200{--tw-ring-opacity:1;--tw-ring-color:rgb(228 228 231/var(--tw-ring-opacity,1))}.ring-zinc-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.ring-zinc-400{--tw-ring-opacity:1;--tw-ring-color:rgb(161 161 170/var(--tw-ring-opacity,1))}.ring-zinc-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.ring-zinc-500{--tw-ring-opacity:1;--tw-ring-color:rgb(113 113 122/var(--tw-ring-opacity,1))}.ring-zinc-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 91/var(--tw-ring-opacity,1))}.ring-zinc-700{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity,1))}.ring-zinc-800{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity,1))}.ring-zinc-900{--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity,1))}.ring-zinc-950{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.ring-opacity-20{--tw-ring-opacity:0.2}.ring-opacity-40{--tw-ring-opacity:0.4}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.invert,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-grayscale{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-invert,.backdrop-sepia{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[--anchor-gap\:4px\]{--anchor-gap:4px}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255;--neutral-border:#dcddeb}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb))}.table-wrapper{overflow-x:scroll;margin:0 24px}.custom-border{border:1px solid var(--neutral-border)}.ant-dropdown-menu-item{padding:0!important}.ant-dropdown-menu-item>div{transition:all .2s ease}.ant-dropdown-menu-item[data-menu-id$=user-info]:hover{background-color:transparent!important;cursor:default}.ant-dropdown-menu-item[data-menu-id$=user-info]>div{cursor:default}.ant-dropdown-menu{padding:4px!important;min-width:280px!important}.ant-dropdown-menu-item-divider{margin:4px 0}.placeholder\:text-red-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.placeholder\:text-red-500::placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content-subtle::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.placeholder\:text-tremor-content-subtle::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.first\:rounded-l-\[4px\]:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.first\:border-l-0:first-child{border-left-width:0}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-\[4px\]:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.hover\:border-b-2:hover{border-bottom-width:2px}.hover\:border-amber-100:hover{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-amber-400:hover{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.hover\:border-amber-50:hover{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.hover\:border-amber-500:hover{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\:border-amber-700:hover{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.hover\:border-amber-800:hover{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.hover\:border-amber-900:hover{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.hover\:border-amber-950:hover{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}.hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.hover\:border-blue-950:hover{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}.hover\:border-cyan-100:hover{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}.hover\:border-cyan-200:hover{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.hover\:border-cyan-300:hover{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.hover\:border-cyan-400:hover{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.hover\:border-cyan-50:hover{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}.hover\:border-cyan-500:hover{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.hover\:border-cyan-600:hover{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}.hover\:border-cyan-700:hover{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}.hover\:border-cyan-800:hover{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}.hover\:border-cyan-900:hover{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}.hover\:border-cyan-950:hover{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}.hover\:border-emerald-100:hover{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-emerald-300:hover{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.hover\:border-emerald-400:hover{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.hover\:border-emerald-50:hover{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.hover\:border-emerald-500:hover{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-emerald-700:hover{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.hover\:border-emerald-800:hover{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.hover\:border-emerald-900:hover{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.hover\:border-emerald-950:hover{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}.hover\:border-fuchsia-100:hover{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}.hover\:border-fuchsia-200:hover{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.hover\:border-fuchsia-300:hover{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}.hover\:border-fuchsia-400:hover{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}.hover\:border-fuchsia-50:hover{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}.hover\:border-fuchsia-500:hover{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.hover\:border-fuchsia-600:hover{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}.hover\:border-fuchsia-700:hover{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}.hover\:border-fuchsia-800:hover{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}.hover\:border-fuchsia-900:hover{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}.hover\:border-fuchsia-950:hover{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}.hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.hover\:border-gray-950:hover{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}.hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.hover\:border-green-950:hover{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}.hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.hover\:border-indigo-950:hover{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.hover\:border-lime-100:hover{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}.hover\:border-lime-200:hover{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.hover\:border-lime-300:hover{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.hover\:border-lime-400:hover{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}.hover\:border-lime-50:hover{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}.hover\:border-lime-500:hover{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.hover\:border-lime-600:hover{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}.hover\:border-lime-700:hover{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}.hover\:border-lime-800:hover{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}.hover\:border-lime-900:hover{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}.hover\:border-lime-950:hover{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}.hover\:border-neutral-100:hover{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.hover\:border-neutral-200:hover{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.hover\:border-neutral-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.hover\:border-neutral-400:hover{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.hover\:border-neutral-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.hover\:border-neutral-500:hover{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}.hover\:border-neutral-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}.hover\:border-neutral-700:hover{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.hover\:border-neutral-800:hover{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.hover\:border-neutral-900:hover{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}.hover\:border-neutral-950:hover{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}.hover\:border-orange-100:hover{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.hover\:border-orange-200:hover{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.hover\:border-orange-300:hover{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.hover\:border-orange-400:hover{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.hover\:border-orange-50:hover{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.hover\:border-orange-500:hover{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.hover\:border-orange-600:hover{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.hover\:border-orange-700:hover{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.hover\:border-orange-800:hover{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.hover\:border-orange-900:hover{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.hover\:border-orange-950:hover{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}.hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.hover\:border-pink-950:hover{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}.hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.hover\:border-purple-950:hover{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}.hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.hover\:border-red-950:hover{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}.hover\:border-rose-100:hover{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.hover\:border-rose-200:hover{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.hover\:border-rose-300:hover{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.hover\:border-rose-400:hover{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.hover\:border-rose-50:hover{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.hover\:border-rose-500:hover{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.hover\:border-rose-600:hover{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.hover\:border-rose-700:hover{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.hover\:border-rose-800:hover{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.hover\:border-rose-900:hover{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.hover\:border-rose-950:hover{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}.hover\:border-sky-100:hover{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.hover\:border-sky-200:hover{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.hover\:border-sky-300:hover{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.hover\:border-sky-400:hover{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.hover\:border-sky-50:hover{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}.hover\:border-sky-500:hover{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.hover\:border-sky-600:hover{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}.hover\:border-sky-700:hover{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}.hover\:border-sky-800:hover{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.hover\:border-sky-900:hover{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.hover\:border-sky-950:hover{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}.hover\:border-slate-100:hover{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-slate-50:hover{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.hover\:border-slate-800:hover{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.hover\:border-slate-900:hover{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.hover\:border-slate-950:hover{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.hover\:border-stone-100:hover{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}.hover\:border-stone-200:hover{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.hover\:border-stone-300:hover{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}.hover\:border-stone-400:hover{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}.hover\:border-stone-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}.hover\:border-stone-500:hover{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}.hover\:border-stone-600:hover{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}.hover\:border-stone-700:hover{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}.hover\:border-stone-800:hover{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}.hover\:border-stone-900:hover{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.hover\:border-stone-950:hover{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}.hover\:border-teal-100:hover{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.hover\:border-teal-200:hover{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.hover\:border-teal-300:hover{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.hover\:border-teal-400:hover{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.hover\:border-teal-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.hover\:border-teal-500:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.hover\:border-teal-600:hover{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.hover\:border-teal-700:hover{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.hover\:border-teal-800:hover{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.hover\:border-teal-900:hover{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.hover\:border-teal-950:hover{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}.hover\:border-tremor-brand-emphasis:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.hover\:border-tremor-content:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-violet-100:hover{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.hover\:border-violet-50:hover{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.hover\:border-violet-500:hover{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.hover\:border-violet-600:hover{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.hover\:border-violet-700:hover{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.hover\:border-violet-800:hover{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.hover\:border-violet-900:hover{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.hover\:border-violet-950:hover{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}.hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.hover\:border-yellow-950:hover{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}.hover\:border-zinc-100:hover{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.hover\:border-zinc-200:hover{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.hover\:border-zinc-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.hover\:border-zinc-400:hover{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.hover\:border-zinc-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.hover\:border-zinc-500:hover{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.hover\:border-zinc-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.hover\:border-zinc-700:hover{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.hover\:border-zinc-800:hover{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.hover\:border-zinc-900:hover{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.hover\:border-zinc-950:hover{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}.hover\:\!bg-blue-500:hover{--tw-bg-opacity:1!important;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))!important}.hover\:\!bg-blue-700:hover{--tw-bg-opacity:1!important;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))!important}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.hover\:bg-amber-900:hover{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.hover\:bg-amber-950:hover{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-950:hover{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.hover\:bg-cyan-100:hover{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.hover\:bg-cyan-300:hover{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.hover\:bg-cyan-400:hover{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.hover\:bg-cyan-50:hover{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.hover\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\:bg-cyan-600:hover{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.hover\:bg-cyan-700:hover{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.hover\:bg-cyan-800:hover{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.hover\:bg-cyan-900:hover{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.hover\:bg-cyan-950:hover{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.hover\:bg-emerald-200:hover{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.hover\:bg-emerald-300:hover{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.hover\:bg-emerald-400:hover{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-emerald-800:hover{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.hover\:bg-emerald-900:hover{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.hover\:bg-emerald-950:hover{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-100:hover{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-200:hover{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-300:hover{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-400:hover{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-50:hover{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-500:hover{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-600:hover{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-700:hover{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-800:hover{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-900:hover{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}.hover\:bg-fuchsia-950:hover{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:bg-gray-950:hover{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.hover\:bg-green-950:hover{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.hover\:bg-indigo-950:hover{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.hover\:bg-lime-100:hover{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.hover\:bg-lime-300:hover{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}.hover\:bg-lime-400:hover{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.hover\:bg-lime-50:hover{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.hover\:bg-lime-500:hover{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.hover\:bg-lime-700:hover{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}.hover\:bg-lime-900:hover{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}.hover\:bg-lime-950:hover{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:bg-neutral-200:hover{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.hover\:bg-neutral-400:hover{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-neutral-500:hover{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}.hover\:bg-neutral-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.hover\:bg-neutral-700:hover{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.hover\:bg-neutral-800:hover{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.hover\:bg-neutral-950:hover{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.hover\:bg-orange-400:hover{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-orange-500:hover{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-800:hover{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.hover\:bg-orange-900:hover{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.hover\:bg-orange-950:hover{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.hover\:bg-pink-950:hover{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.hover\:bg-purple-950:hover{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.hover\:bg-red-950:hover{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.hover\:bg-rose-200:hover{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.hover\:bg-rose-300:hover{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.hover\:bg-rose-400:hover{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-rose-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.hover\:bg-rose-600:hover{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-rose-800:hover{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.hover\:bg-rose-900:hover{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.hover\:bg-rose-950:hover{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}.hover\:bg-sky-100:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.hover\:bg-sky-200:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.hover\:bg-sky-400:hover{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.hover\:bg-sky-50:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.hover\:bg-sky-500:hover{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.hover\:bg-sky-800:hover{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}.hover\:bg-sky-900:hover{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}.hover\:bg-sky-950:hover{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-500:hover{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-slate-900:hover{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.hover\:bg-slate-950:hover{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.hover\:bg-stone-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}.hover\:bg-stone-200:hover{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}.hover\:bg-stone-300:hover{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}.hover\:bg-stone-400:hover{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}.hover\:bg-stone-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}.hover\:bg-stone-500:hover{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}.hover\:bg-stone-600:hover{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}.hover\:bg-stone-700:hover{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.hover\:bg-stone-800:hover{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}.hover\:bg-stone-900:hover{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}.hover\:bg-stone-950:hover{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}.hover\:bg-teal-100:hover{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.hover\:bg-teal-200:hover{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.hover\:bg-teal-300:hover{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.hover\:bg-teal-400:hover{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:bg-teal-500:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-teal-700:hover{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.hover\:bg-teal-800:hover{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.hover\:bg-teal-900:hover{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.hover\:bg-teal-950:hover{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}.hover\:bg-tremor-background-muted:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-tremor-background-subtle:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-tremor-brand-emphasis:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.hover\:bg-violet-200:hover{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.hover\:bg-violet-300:hover{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.hover\:bg-violet-400:hover{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.hover\:bg-violet-500:hover{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.hover\:bg-violet-600:hover{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.hover\:bg-violet-800:hover{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.hover\:bg-violet-900:hover{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.hover\:bg-violet-950:hover{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.hover\:bg-yellow-950:hover{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.hover\:bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\:bg-zinc-200:hover{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.hover\:bg-zinc-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.hover\:bg-zinc-400:hover{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-zinc-500:hover{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.hover\:bg-zinc-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:bg-zinc-900:hover{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.hover\:bg-zinc-950:hover{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\:text-amber-100:hover{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.hover\:text-amber-300:hover{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.hover\:text-amber-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.hover\:text-amber-50:hover{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-amber-800:hover{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.hover\:text-amber-900:hover{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.hover\:text-amber-950:hover{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-blue-950:hover{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.hover\:text-cyan-100:hover{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.hover\:text-cyan-200:hover{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.hover\:text-cyan-300:hover{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.hover\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\:text-cyan-50:hover{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.hover\:text-cyan-500:hover{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.hover\:text-cyan-600:hover{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.hover\:text-cyan-700:hover{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.hover\:text-cyan-800:hover{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.hover\:text-cyan-900:hover{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.hover\:text-cyan-950:hover{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}.hover\:text-emerald-100:hover{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.hover\:text-emerald-200:hover{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-emerald-400:hover{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.hover\:text-emerald-50:hover{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.hover\:text-emerald-500:hover{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-emerald-700:hover{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.hover\:text-emerald-800:hover{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.hover\:text-emerald-900:hover{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.hover\:text-emerald-950:hover{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.hover\:text-fuchsia-100:hover{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.hover\:text-fuchsia-200:hover{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}.hover\:text-fuchsia-300:hover{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.hover\:text-fuchsia-400:hover{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.hover\:text-fuchsia-50:hover{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}.hover\:text-fuchsia-500:hover{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.hover\:text-fuchsia-600:hover{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.hover\:text-fuchsia-700:hover{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.hover\:text-fuchsia-800:hover{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.hover\:text-fuchsia-900:hover{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.hover\:text-fuchsia-950:hover{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}.hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-gray-950:hover{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.hover\:text-green-100:hover{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.hover\:text-green-200:hover{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.hover\:text-green-400:hover{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.hover\:text-green-50:hover{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-green-950:hover{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}.hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.hover\:text-indigo-950:hover{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.hover\:text-lime-100:hover{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.hover\:text-lime-200:hover{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}.hover\:text-lime-300:hover{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.hover\:text-lime-400:hover{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}.hover\:text-lime-50:hover{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}.hover\:text-lime-500:hover{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}.hover\:text-lime-600:hover{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.hover\:text-lime-700:hover{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.hover\:text-lime-800:hover{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}.hover\:text-lime-900:hover{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.hover\:text-lime-950:hover{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}.hover\:text-neutral-100:hover{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.hover\:text-neutral-200:hover{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.hover\:text-neutral-300:hover{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.hover\:text-neutral-400:hover{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.hover\:text-neutral-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.hover\:text-neutral-500:hover{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.hover\:text-neutral-600:hover{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.hover\:text-neutral-950:hover{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.hover\:text-orange-100:hover{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.hover\:text-orange-200:hover{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.hover\:text-orange-300:hover{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.hover\:text-orange-400:hover{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.hover\:text-orange-50:hover{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-orange-800:hover{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-orange-950:hover{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}.hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.hover\:text-pink-950:hover{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}.hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.hover\:text-purple-950:hover{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}.hover\:text-red-100:hover{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-red-950:hover{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.hover\:text-rose-100:hover{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.hover\:text-rose-200:hover{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.hover\:text-rose-300:hover{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.hover\:text-rose-400:hover{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.hover\:text-rose-50:hover{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.hover\:text-rose-500:hover{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.hover\:text-rose-800:hover{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.hover\:text-rose-900:hover{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.hover\:text-rose-950:hover{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}.hover\:text-sky-100:hover{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.hover\:text-sky-200:hover{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.hover\:text-sky-300:hover{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.hover\:text-sky-400:hover{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.hover\:text-sky-50:hover{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}.hover\:text-sky-500:hover{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:text-sky-700:hover{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.hover\:text-sky-800:hover{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.hover\:text-sky-900:hover{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.hover\:text-sky-950:hover{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.hover\:text-slate-100:hover{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\:text-slate-50:hover{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-slate-950:hover{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.hover\:text-stone-100:hover{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.hover\:text-stone-200:hover{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}.hover\:text-stone-300:hover{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}.hover\:text-stone-400:hover{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.hover\:text-stone-50:hover{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}.hover\:text-stone-500:hover{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.hover\:text-stone-600:hover{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.hover\:text-stone-700:hover{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.hover\:text-stone-800:hover{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}.hover\:text-stone-900:hover{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.hover\:text-stone-950:hover{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.hover\:text-teal-100:hover{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.hover\:text-teal-200:hover{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.hover\:text-teal-300:hover{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.hover\:text-teal-400:hover{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.hover\:text-teal-50:hover{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.hover\:text-teal-500:hover{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.hover\:text-teal-700:hover{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.hover\:text-teal-800:hover{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.hover\:text-teal-900:hover{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.hover\:text-teal-950:hover{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}.hover\:text-tremor-brand-emphasis:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-tremor-content:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-tremor-content-emphasis:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-violet-100:hover{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.hover\:text-violet-200:hover{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.hover\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\:text-violet-400:hover{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.hover\:text-violet-50:hover{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:text-violet-600:hover{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.hover\:text-violet-700:hover{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.hover\:text-violet-800:hover{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.hover\:text-violet-900:hover{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.hover\:text-violet-950:hover{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}.hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.hover\:text-yellow-950:hover{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.hover\:text-zinc-200:hover{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.hover\:text-zinc-300:hover{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.hover\:text-zinc-400:hover{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.hover\:text-zinc-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.hover\:text-zinc-500:hover{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.hover\:text-zinc-800:hover{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\:text-zinc-950:hover{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-tremor-brand-subtle:focus{--tw-border-opacity:1;border-color:rgb(142 145 235/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-1:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-tremor-brand-muted:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(134 136 239/var(--tw-ring-opacity,1))}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.active\:translate-y-\[0\.5px\]:active{--tw-translate-y:0.5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:\!bg-gray-300:disabled{--tw-bg-opacity:1!important;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))!important}.disabled\:bg-indigo-400:disabled{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.disabled\:\!text-gray-500:disabled{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:bg-tremor-brand-subtle\/30{background-color:rgba(142,145,235,.3)}.group:hover .group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:active .group-active\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aria-selected\:\!bg-tremor-background-subtle[aria-selected=true]{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.aria-selected\:bg-tremor-background-emphasis[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.aria-selected\:\!text-tremor-content[aria-selected=true]{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.aria-selected\:text-dark-tremor-brand-inverted[aria-selected=true]{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.aria-selected\:text-tremor-brand-inverted[aria-selected=true],.aria-selected\:text-tremor-content-inverted[aria-selected=true]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.data-\[selected\]\:border-b-2[data-selected]{border-bottom-width:2px}.data-\[selected\]\:border-tremor-border[data-selected]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.data-\[selected\]\:border-tremor-brand[data-selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.data-\[focus\]\:bg-tremor-background-muted[data-focus]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.data-\[selected\]\:bg-tremor-background[data-selected]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\[selected\]\:bg-tremor-background-muted[data-selected]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.data-\[focus\]\:text-tremor-content-strong[data-focus]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.data-\[selected\]\:text-tremor-brand[data-selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.data-\[selected\]\:text-tremor-content-strong[data-selected]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.data-\[closed\]\:opacity-0[data-closed]{opacity:0}.data-\[selected\]\:shadow-tremor-input[data-selected]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[enter\]\:duration-300[data-enter]{transition-duration:.3s}.data-\[leave\]\:duration-200[data-leave]{transition-duration:.2s}.data-\[enter\]\:ease-out[data-enter]{transition-timing-function:cubic-bezier(0,0,.2,1)}.data-\[leave\]\:ease-in[data-leave]{transition-timing-function:cubic-bezier(.4,0,1,1)}.ui-selected\:border-amber-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.ui-selected\:border-amber-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.ui-selected\:border-amber-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.ui-selected\:border-amber-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.ui-selected\:border-amber-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.ui-selected\:border-amber-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.ui-selected\:border-amber-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.ui-selected\:border-amber-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.ui-selected\:border-amber-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.ui-selected\:border-amber-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.ui-selected\:border-amber-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}.ui-selected\:border-blue-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.ui-selected\:border-blue-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.ui-selected\:border-blue-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.ui-selected\:border-blue-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.ui-selected\:border-blue-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.ui-selected\:border-blue-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.ui-selected\:border-blue-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.ui-selected\:border-blue-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.ui-selected\:border-blue-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.ui-selected\:border-blue-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.ui-selected\:border-blue-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}.ui-selected\:border-cyan-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.ui-selected\:border-emerald-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}.ui-selected\:border-fuchsia-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}.ui-selected\:border-gray-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.ui-selected\:border-gray-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.ui-selected\:border-gray-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.ui-selected\:border-gray-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.ui-selected\:border-gray-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.ui-selected\:border-gray-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.ui-selected\:border-gray-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.ui-selected\:border-gray-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.ui-selected\:border-gray-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.ui-selected\:border-gray-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.ui-selected\:border-gray-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}.ui-selected\:border-green-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.ui-selected\:border-green-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.ui-selected\:border-green-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.ui-selected\:border-green-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.ui-selected\:border-green-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.ui-selected\:border-green-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.ui-selected\:border-green-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.ui-selected\:border-green-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.ui-selected\:border-green-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.ui-selected\:border-green-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.ui-selected\:border-green-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.ui-selected\:border-indigo-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.ui-selected\:border-lime-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}.ui-selected\:border-lime-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.ui-selected\:border-lime-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.ui-selected\:border-lime-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}.ui-selected\:border-lime-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}.ui-selected\:border-lime-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.ui-selected\:border-lime-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}.ui-selected\:border-lime-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}.ui-selected\:border-lime-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}.ui-selected\:border-lime-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}.ui-selected\:border-lime-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}.ui-selected\:border-neutral-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}.ui-selected\:border-orange-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.ui-selected\:border-orange-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.ui-selected\:border-orange-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.ui-selected\:border-orange-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.ui-selected\:border-orange-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.ui-selected\:border-orange-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.ui-selected\:border-orange-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.ui-selected\:border-orange-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.ui-selected\:border-orange-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.ui-selected\:border-orange-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.ui-selected\:border-orange-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}.ui-selected\:border-pink-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.ui-selected\:border-pink-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.ui-selected\:border-pink-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.ui-selected\:border-pink-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.ui-selected\:border-pink-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.ui-selected\:border-pink-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.ui-selected\:border-pink-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.ui-selected\:border-pink-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.ui-selected\:border-pink-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.ui-selected\:border-pink-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.ui-selected\:border-pink-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}.ui-selected\:border-purple-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.ui-selected\:border-purple-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.ui-selected\:border-purple-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.ui-selected\:border-purple-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.ui-selected\:border-purple-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.ui-selected\:border-purple-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.ui-selected\:border-purple-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.ui-selected\:border-purple-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.ui-selected\:border-purple-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.ui-selected\:border-purple-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.ui-selected\:border-purple-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}.ui-selected\:border-red-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.ui-selected\:border-red-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.ui-selected\:border-red-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.ui-selected\:border-red-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.ui-selected\:border-red-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.ui-selected\:border-red-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.ui-selected\:border-red-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.ui-selected\:border-red-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.ui-selected\:border-red-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.ui-selected\:border-red-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.ui-selected\:border-red-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}.ui-selected\:border-rose-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.ui-selected\:border-rose-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.ui-selected\:border-rose-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.ui-selected\:border-rose-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.ui-selected\:border-rose-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.ui-selected\:border-rose-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.ui-selected\:border-rose-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.ui-selected\:border-rose-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.ui-selected\:border-rose-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.ui-selected\:border-rose-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.ui-selected\:border-rose-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}.ui-selected\:border-sky-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.ui-selected\:border-sky-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.ui-selected\:border-sky-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.ui-selected\:border-sky-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.ui-selected\:border-sky-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}.ui-selected\:border-sky-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.ui-selected\:border-sky-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}.ui-selected\:border-sky-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}.ui-selected\:border-sky-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.ui-selected\:border-sky-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.ui-selected\:border-sky-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}.ui-selected\:border-slate-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.ui-selected\:border-slate-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.ui-selected\:border-slate-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.ui-selected\:border-slate-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.ui-selected\:border-slate-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.ui-selected\:border-slate-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.ui-selected\:border-slate-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.ui-selected\:border-slate-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.ui-selected\:border-slate-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.ui-selected\:border-slate-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.ui-selected\:border-slate-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.ui-selected\:border-stone-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}.ui-selected\:border-stone-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.ui-selected\:border-stone-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}.ui-selected\:border-stone-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}.ui-selected\:border-stone-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}.ui-selected\:border-stone-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}.ui-selected\:border-stone-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}.ui-selected\:border-stone-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}.ui-selected\:border-stone-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}.ui-selected\:border-stone-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.ui-selected\:border-stone-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}.ui-selected\:border-teal-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.ui-selected\:border-teal-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.ui-selected\:border-teal-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.ui-selected\:border-teal-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.ui-selected\:border-teal-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.ui-selected\:border-teal-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.ui-selected\:border-teal-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.ui-selected\:border-teal-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.ui-selected\:border-teal-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.ui-selected\:border-teal-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.ui-selected\:border-teal-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}.ui-selected\:border-violet-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.ui-selected\:border-violet-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.ui-selected\:border-violet-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.ui-selected\:border-violet-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.ui-selected\:border-violet-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.ui-selected\:border-violet-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.ui-selected\:border-violet-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.ui-selected\:border-violet-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.ui-selected\:border-violet-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.ui-selected\:border-violet-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.ui-selected\:border-violet-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.ui-selected\:border-yellow-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.ui-selected\:border-zinc-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}.ui-selected\:bg-amber-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.ui-selected\:bg-amber-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.ui-selected\:bg-blue-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.ui-selected\:bg-cyan-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.ui-selected\:bg-emerald-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}.ui-selected\:bg-fuchsia-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.ui-selected\:bg-gray-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.ui-selected\:bg-green-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.ui-selected\:bg-indigo-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}.ui-selected\:bg-lime-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.ui-selected\:bg-neutral-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-orange-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.ui-selected\:bg-pink-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.ui-selected\:bg-purple-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.ui-selected\:bg-red-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.ui-selected\:bg-rose-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}.ui-selected\:bg-sky-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.ui-selected\:bg-slate-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}.ui-selected\:bg-stone-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.ui-selected\:bg-teal-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.ui-selected\:bg-violet-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.ui-selected\:bg-yellow-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.ui-selected\:bg-zinc-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.ui-selected\:text-amber-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.ui-selected\:text-amber-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.ui-selected\:text-amber-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.ui-selected\:text-amber-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.ui-selected\:text-amber-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.ui-selected\:text-amber-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.ui-selected\:text-amber-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.ui-selected\:text-amber-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.ui-selected\:text-amber-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.ui-selected\:text-amber-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.ui-selected\:text-amber-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.ui-selected\:text-blue-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.ui-selected\:text-blue-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.ui-selected\:text-blue-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.ui-selected\:text-blue-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.ui-selected\:text-blue-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.ui-selected\:text-blue-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.ui-selected\:text-blue-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.ui-selected\:text-blue-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.ui-selected\:text-blue-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.ui-selected\:text-blue-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.ui-selected\:text-blue-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.ui-selected\:text-cyan-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.ui-selected\:text-emerald-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.ui-selected\:text-fuchsia-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}.ui-selected\:text-gray-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.ui-selected\:text-gray-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.ui-selected\:text-gray-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.ui-selected\:text-gray-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.ui-selected\:text-gray-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.ui-selected\:text-gray-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.ui-selected\:text-gray-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.ui-selected\:text-gray-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.ui-selected\:text-gray-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.ui-selected\:text-gray-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.ui-selected\:text-gray-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.ui-selected\:text-green-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.ui-selected\:text-green-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.ui-selected\:text-green-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.ui-selected\:text-green-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.ui-selected\:text-green-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.ui-selected\:text-green-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.ui-selected\:text-green-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.ui-selected\:text-green-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.ui-selected\:text-green-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.ui-selected\:text-green-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.ui-selected\:text-green-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.ui-selected\:text-indigo-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.ui-selected\:text-lime-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.ui-selected\:text-lime-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}.ui-selected\:text-lime-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.ui-selected\:text-lime-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}.ui-selected\:text-lime-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}.ui-selected\:text-lime-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}.ui-selected\:text-lime-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.ui-selected\:text-lime-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.ui-selected\:text-lime-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}.ui-selected\:text-lime-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.ui-selected\:text-lime-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.ui-selected\:text-neutral-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.ui-selected\:text-orange-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.ui-selected\:text-orange-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.ui-selected\:text-orange-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.ui-selected\:text-orange-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.ui-selected\:text-orange-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.ui-selected\:text-orange-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.ui-selected\:text-orange-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.ui-selected\:text-orange-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.ui-selected\:text-orange-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.ui-selected\:text-orange-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.ui-selected\:text-orange-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}.ui-selected\:text-pink-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.ui-selected\:text-pink-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.ui-selected\:text-pink-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.ui-selected\:text-pink-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.ui-selected\:text-pink-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.ui-selected\:text-pink-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.ui-selected\:text-pink-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.ui-selected\:text-pink-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.ui-selected\:text-pink-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.ui-selected\:text-pink-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.ui-selected\:text-pink-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}.ui-selected\:text-purple-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.ui-selected\:text-purple-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.ui-selected\:text-purple-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.ui-selected\:text-purple-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.ui-selected\:text-purple-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.ui-selected\:text-purple-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.ui-selected\:text-purple-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.ui-selected\:text-purple-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.ui-selected\:text-purple-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.ui-selected\:text-purple-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.ui-selected\:text-purple-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}.ui-selected\:text-red-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.ui-selected\:text-red-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.ui-selected\:text-red-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.ui-selected\:text-red-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.ui-selected\:text-red-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.ui-selected\:text-red-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.ui-selected\:text-red-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.ui-selected\:text-red-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.ui-selected\:text-red-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.ui-selected\:text-red-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.ui-selected\:text-red-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.ui-selected\:text-rose-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.ui-selected\:text-rose-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.ui-selected\:text-rose-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.ui-selected\:text-rose-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.ui-selected\:text-rose-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.ui-selected\:text-rose-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.ui-selected\:text-rose-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.ui-selected\:text-rose-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.ui-selected\:text-rose-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.ui-selected\:text-rose-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.ui-selected\:text-rose-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}.ui-selected\:text-sky-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.ui-selected\:text-sky-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.ui-selected\:text-sky-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.ui-selected\:text-sky-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.ui-selected\:text-sky-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}.ui-selected\:text-sky-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.ui-selected\:text-sky-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.ui-selected\:text-sky-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.ui-selected\:text-sky-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.ui-selected\:text-sky-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.ui-selected\:text-sky-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.ui-selected\:text-slate-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.ui-selected\:text-slate-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.ui-selected\:text-slate-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.ui-selected\:text-slate-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.ui-selected\:text-slate-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.ui-selected\:text-slate-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.ui-selected\:text-slate-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.ui-selected\:text-slate-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.ui-selected\:text-slate-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.ui-selected\:text-slate-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.ui-selected\:text-slate-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.ui-selected\:text-stone-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.ui-selected\:text-stone-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}.ui-selected\:text-stone-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}.ui-selected\:text-stone-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.ui-selected\:text-stone-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}.ui-selected\:text-stone-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.ui-selected\:text-stone-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.ui-selected\:text-stone-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.ui-selected\:text-stone-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}.ui-selected\:text-stone-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.ui-selected\:text-stone-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.ui-selected\:text-teal-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.ui-selected\:text-teal-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.ui-selected\:text-teal-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.ui-selected\:text-teal-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.ui-selected\:text-teal-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.ui-selected\:text-teal-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.ui-selected\:text-teal-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.ui-selected\:text-teal-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.ui-selected\:text-teal-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.ui-selected\:text-teal-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.ui-selected\:text-teal-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}.ui-selected\:text-violet-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.ui-selected\:text-violet-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.ui-selected\:text-violet-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.ui-selected\:text-violet-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.ui-selected\:text-violet-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.ui-selected\:text-violet-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.ui-selected\:text-violet-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.ui-selected\:text-violet-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.ui-selected\:text-violet-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.ui-selected\:text-violet-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.ui-selected\:text-violet-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.ui-selected\:text-yellow-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.ui-selected\:text-zinc-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-950{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-950{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-100{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-300{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-50{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-600{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-700{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-800{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-900{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-950{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-950{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-100{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-300{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-400{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-50{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-600{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-700{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-900{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-950{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-950{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-950{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-950{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-100{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-300{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-400{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-50{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-600{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-700{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-800{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-900{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-950{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-900{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-950{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-950{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-950{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-950{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-950{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-950{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-400{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-50{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-700{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-950{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-100{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-300{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-400{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-50{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-500{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-600{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-700{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-800{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-900{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-950{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-950{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-950{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-950{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-950{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-200{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-800{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-950{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-200{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-300{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-400{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-50{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-500{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-800{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-900{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-950{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-200{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-300{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-400{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-50{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-800{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-900{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-950{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-950{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-950{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-700{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-800{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-900{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-100{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-200{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-300{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-400{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-50{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-500{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-600{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-700{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-800{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-900{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-950{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-950{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-950{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-950{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-200{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-50{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-800{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-900{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-950{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-950{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-200{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-300{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-400{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-50{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-500{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-800{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-950{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-950{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-950{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-950{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-950{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-200{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-50{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-100{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-200{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-300{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-50{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-800{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-950{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-950{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-950{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-950{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.dark\:divide-dark-tremor-border:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:border-dark-tremor-background:is(.dark *){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-border:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand:is(.dark *){--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand-emphasis:is(.dark *){--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand-inverted:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity,1))}.dark\:border-dark-tremor-brand-subtle:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-red-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.dark\:bg-dark-tremor-background:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-background-emphasis:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-background-muted:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-background-subtle:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-border:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-brand:is(.dark *){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-brand-muted:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.dark\:bg-dark-tremor-brand-muted\/50:is(.dark *){background-color:rgba(30,27,75,.5)}.dark\:bg-dark-tremor-brand-muted\/70:is(.dark *){background-color:rgba(30,27,75,.7)}.dark\:bg-dark-tremor-brand-subtle\/60:is(.dark *){background-color:rgba(55,48,163,.6)}.dark\:bg-dark-tremor-content-subtle:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-slate-950\/50:is(.dark *){background-color:rgba(2,6,23,.5)}.dark\:bg-white:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dark\:bg-opacity-10:is(.dark *){--tw-bg-opacity:0.1}.dark\:bg-opacity-5:is(.dark *){--tw-bg-opacity:0.05}.dark\:fill-dark-tremor-content:is(.dark *){fill:#6b7280}.dark\:fill-dark-tremor-content-emphasis:is(.dark *){fill:#e5e7eb}.dark\:stroke-dark-tremor-background:is(.dark *){stroke:#111827}.dark\:stroke-dark-tremor-border:is(.dark *){stroke:#374151}.dark\:stroke-dark-tremor-brand:is(.dark *){stroke:#6366f1}.dark\:stroke-dark-tremor-brand-muted:is(.dark *){stroke:#1e1b4b}.dark\:text-dark-tremor-brand:is(.dark *){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-brand-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-brand-inverted:is(.dark *){--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content-strong:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.dark\:text-dark-tremor-content-subtle:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.dark\:text-tremor-content-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.dark\:accent-dark-tremor-brand:is(.dark *){accent-color:#6366f1}.dark\:opacity-25:is(.dark *){opacity:.25}.dark\:shadow-dark-tremor-card:is(.dark *){--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:shadow-dark-tremor-dropdown:is(.dark *){--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:shadow-dark-tremor-input:is(.dark *){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:outline-dark-tremor-brand:is(.dark *){outline-color:#6366f1}.dark\:ring-dark-tremor-brand-inverted:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.dark\:ring-dark-tremor-brand-muted:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.dark\:ring-dark-tremor-ring:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.dark\:ring-opacity-60:is(.dark *){--tw-ring-opacity:0.6}.dark\:placeholder\:text-dark-tremor-content:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-tremor-content:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-tremor-content-subtle:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-tremor-content-subtle:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:placeholder\:text-red-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.dark\:placeholder\:text-red-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content-subtle:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:placeholder\:text-tremor-content-subtle:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:hover\:border-dark-tremor-brand-emphasis:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.dark\:hover\:bg-dark-tremor-background-muted:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-tremor-background-subtle:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-tremor-background-subtle\/40:hover:is(.dark *){background-color:rgba(31,41,55,.4)}.dark\:hover\:bg-dark-tremor-brand-emphasis:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-tremor-brand-faint:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(11 18 41/var(--tw-bg-opacity,1))}.hover\:dark\:\!bg-gray-100:is(.dark *):hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.hover\:dark\:bg-gray-100:is(.dark *):hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-opacity-20:hover:is(.dark *){--tw-bg-opacity:0.2}.dark\:hover\:text-dark-tremor-brand-emphasis:hover:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:hover\:text-dark-tremor-content:hover:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:hover\:text-tremor-content:hover:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:hover\:text-tremor-content-emphasis:hover:is(.dark *){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:dark\:text-dark-tremor-content:is(.dark *):hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:focus\:border-dark-tremor-brand-subtle:focus:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.focus\:dark\:border-dark-tremor-brand-subtle:is(.dark *):focus{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:focus\:ring-dark-tremor-brand-muted:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.focus\:dark\:ring-dark-tremor-brand-muted:is(.dark *):focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity,1))}.group:hover .group-hover\:dark\:bg-dark-tremor-brand-subtle\/70:is(.dark *){background-color:rgba(55,48,163,.7)}.group:hover .dark\:group-hover\:text-dark-tremor-content-emphasis:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.aria-selected\:dark\:\!bg-dark-tremor-background-subtle:is(.dark *)[aria-selected=true]{--tw-bg-opacity:1!important;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))!important}.dark\:aria-selected\:bg-dark-tremor-background-emphasis[aria-selected=true]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:aria-selected\:text-dark-tremor-brand-inverted[aria-selected=true]:is(.dark *){--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.dark\:aria-selected\:text-dark-tremor-content-inverted[aria-selected=true]:is(.dark *){--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:border-dark-tremor-border[data-selected]:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.data-\[selected\]\:dark\:border-dark-tremor-brand:is(.dark *)[data-selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.dark\:data-\[focus\]\:bg-dark-tremor-background-muted[data-focus]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:data-\[selected\]\:bg-dark-tremor-background[data-selected]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:data-\[selected\]\:bg-dark-tremor-background-muted[data-selected]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity,1))}.dark\:data-\[focus\]\:text-dark-tremor-content-strong[data-focus]:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:text-dark-tremor-brand[data-selected]:is(.dark *){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:text-dark-tremor-content-strong[data-selected]:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.data-\[selected\]\:dark\:text-dark-tremor-brand:is(.dark *)[data-selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.dark\:data-\[selected\]\:shadow-dark-tremor-input[data-selected]:is(.dark *){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mb-0{margin-bottom:0}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-screen{height:100vh}.sm\:w-64{width:16rem}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:w-72{width:18rem}.md\:w-auto{width:auto}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:inline{display:inline}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:max-w-\[200px\]{max-width:200px}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}}@media (min-width:1280px){.xl\:table-cell{display:table-cell}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:not\(\[data-selected\]\)\]\:text-tremor-content:not([data-selected]){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:hover\:text-tremor-content-emphasis:hover:not([data-selected]){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:dark\:text-dark-tremor-content:is(.dark *):not([data-selected]){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:\[\&\:not\(\[data-selected\]\)\]\:text-dark-tremor-content:not([data-selected]):is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:dark\:hover\:border-dark-tremor-content-emphasis:hover:is(.dark *):not([data-selected]){--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.\[\&\:not\(\[data-selected\]\)\]\:dark\:hover\:text-dark-tremor-content-emphasis:hover:is(.dark *):not([data-selected]){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:\[\&\:not\(\[data-selected\]\)\]\:hover\:text-dark-tremor-content-emphasis:hover:not([data-selected]):is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.\[\&_\[role\=\'tree\'\]\]\:bg-white [role=tree]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\[\&_\[role\=\'tree\'\]\]\:text-slate-900 [role=tree]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.\[\&_td\]\:py-0\.5 td{padding-top:.125rem;padding-bottom:.125rem}.\[\&_td\]\:py-2 td{padding-top:.5rem;padding-bottom:.5rem}.\[\&_th\]\:py-1 th{padding-top:.25rem;padding-bottom:.25rem}.\[\&_th\]\:py-2 th{padding-top:.5rem;padding-bottom:.5rem} \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/api-reference/index.html b/litellm/proxy/_experimental/out/api-reference.html similarity index 91% rename from litellm/proxy/_experimental/out/api-reference/index.html rename to litellm/proxy/_experimental/out/api-reference.html index 51dffe36cc..4ee74a30cc 100644 --- a/litellm/proxy/_experimental/out/api-reference/index.html +++ b/litellm/proxy/_experimental/out/api-reference.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/api-reference.txt b/litellm/proxy/_experimental/out/api-reference.txt index fe03fcea26..61c5d0fa2a 100644 --- a/litellm/proxy/_experimental/out/api-reference.txt +++ b/litellm/proxy/_experimental/out/api-reference.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[81300,["9028","static/chunks/9028-2bfc9f09930a0d61.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","4303","static/chunks/app/(dashboard)/api-reference/page-e1a54745192ab0f1.js"],"default",1] +3:I[81300,["9028","static/chunks/9028-2bfc9f09930a0d61.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","4303","static/chunks/app/(dashboard)/api-reference/page-a6a3e9e67b671303.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["api-reference",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["api-reference",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","api-reference","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["api-reference",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["api-reference",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","api-reference","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/assets/logos/milvus.svg b/litellm/proxy/_experimental/out/assets/logos/milvus.svg new file mode 100644 index 0000000000..76154467b4 --- /dev/null +++ b/litellm/proxy/_experimental/out/assets/logos/milvus.svg @@ -0,0 +1 @@ +milvus-horizontal-color \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/experimental/api-playground/index.html b/litellm/proxy/_experimental/out/experimental/api-playground.html similarity index 89% rename from litellm/proxy/_experimental/out/experimental/api-playground/index.html rename to litellm/proxy/_experimental/out/experimental/api-playground.html index 42c6e4b630..88bdee5a25 100644 --- a/litellm/proxy/_experimental/out/experimental/api-playground/index.html +++ b/litellm/proxy/_experimental/out/experimental/api-playground.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/experimental/api-playground.txt b/litellm/proxy/_experimental/out/experimental/api-playground.txt index bad5859be5..4a856703b2 100644 --- a/litellm/proxy/_experimental/out/experimental/api-playground.txt +++ b/litellm/proxy/_experimental/out/experimental/api-playground.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[16643,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","8049","static/chunks/8049-68c6cf5a8366c026.js","3425","static/chunks/app/(dashboard)/experimental/api-playground/page-e159d6fa133d5ba6.js"],"default",1] +3:I[16643,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","8049","static/chunks/8049-d0c517a619211cdd.js","3425","static/chunks/app/(dashboard)/experimental/api-playground/page-a465c86552ea2480.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["api-playground",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["api-playground",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","api-playground","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["api-playground",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["api-playground",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","api-playground","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/experimental/budgets/index.html b/litellm/proxy/_experimental/out/experimental/budgets.html similarity index 90% rename from litellm/proxy/_experimental/out/experimental/budgets/index.html rename to litellm/proxy/_experimental/out/experimental/budgets.html index 3947f89495..c6fe6c3929 100644 --- a/litellm/proxy/_experimental/out/experimental/budgets/index.html +++ b/litellm/proxy/_experimental/out/experimental/budgets.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/experimental/budgets.txt b/litellm/proxy/_experimental/out/experimental/budgets.txt index 2515d54d1e..182d61f6bb 100644 --- a/litellm/proxy/_experimental/out/experimental/budgets.txt +++ b/litellm/proxy/_experimental/out/experimental/budgets.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[78858,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","1602","static/chunks/1602-158ea5a27f7c5d7c.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5649","static/chunks/app/(dashboard)/experimental/budgets/page-d577ece97a50894d.js"],"default",1] +3:I[78858,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","1602","static/chunks/1602-158ea5a27f7c5d7c.js","8049","static/chunks/8049-d0c517a619211cdd.js","5649","static/chunks/app/(dashboard)/experimental/budgets/page-8591009dfdcbf46b.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["budgets",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["budgets",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","budgets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["budgets",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["budgets",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","budgets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/experimental/caching/index.html b/litellm/proxy/_experimental/out/experimental/caching.html similarity index 89% rename from litellm/proxy/_experimental/out/experimental/caching/index.html rename to litellm/proxy/_experimental/out/experimental/caching.html index b5d9d493bb..1f9f3d0312 100644 --- a/litellm/proxy/_experimental/out/experimental/caching/index.html +++ b/litellm/proxy/_experimental/out/experimental/caching.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/experimental/caching.txt b/litellm/proxy/_experimental/out/experimental/caching.txt index d419768ad5..ddcade5aeb 100644 --- a/litellm/proxy/_experimental/out/experimental/caching.txt +++ b/litellm/proxy/_experimental/out/experimental/caching.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[37492,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","7996","static/chunks/7996-dc0963f1c599e551.js","9611","static/chunks/9611-58129a2e04664187.js","8237","static/chunks/8237-253c15ae006496fe.js","2377","static/chunks/2377-7121736141e67af2.js","8049","static/chunks/8049-68c6cf5a8366c026.js","6600","static/chunks/6600-860829d878f2421f.js","1979","static/chunks/app/(dashboard)/experimental/caching/page-af292c7e3fe771c1.js"],"default",1] +3:I[37492,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","7996","static/chunks/7996-dc0963f1c599e551.js","9611","static/chunks/9611-58129a2e04664187.js","8237","static/chunks/8237-253c15ae006496fe.js","2377","static/chunks/2377-7121736141e67af2.js","8049","static/chunks/8049-d0c517a619211cdd.js","6600","static/chunks/6600-b6414aaea7f96109.js","1979","static/chunks/app/(dashboard)/experimental/caching/page-ca262d771187d2cb.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["caching",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["caching",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","caching","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["caching",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["caching",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","caching","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/experimental/old-usage.html b/litellm/proxy/_experimental/out/experimental/old-usage.html new file mode 100644 index 0000000000..abf18f5a6b --- /dev/null +++ b/litellm/proxy/_experimental/out/experimental/old-usage.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/experimental/old-usage.txt b/litellm/proxy/_experimental/out/experimental/old-usage.txt index 1c48524795..53066efb02 100644 --- a/litellm/proxy/_experimental/out/experimental/old-usage.txt +++ b/litellm/proxy/_experimental/out/experimental/old-usage.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[42954,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","7996","static/chunks/7996-dc0963f1c599e551.js","4623","static/chunks/4623-3d995c58e378474f.js","9611","static/chunks/9611-58129a2e04664187.js","8237","static/chunks/8237-253c15ae006496fe.js","9349","static/chunks/9349-61f99afd33bbc9e3.js","849","static/chunks/849-d1cabf66d71a8808.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","4292","static/chunks/4292-07a0f7766e802b0b.js","8143","static/chunks/8143-af49726668341269.js","813","static/chunks/app/(dashboard)/experimental/old-usage/page-095a440396c1287c.js"],"default",1] +3:I[42954,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","7996","static/chunks/7996-dc0963f1c599e551.js","9611","static/chunks/9611-58129a2e04664187.js","1130","static/chunks/1130-8e58d6f70a0ae076.js","8237","static/chunks/8237-253c15ae006496fe.js","5105","static/chunks/5105-d70ae84ff6510ab1.js","4042","static/chunks/4042-3025989d114b127a.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","4292","static/chunks/4292-24752ded432749c8.js","8143","static/chunks/8143-3f24c5ca9a8b2457.js","813","static/chunks/app/(dashboard)/experimental/old-usage/page-7e320ce6c2f7252e.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["old-usage",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["old-usage",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","old-usage","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["old-usage",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["old-usage",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","old-usage","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/experimental/old-usage/index.html b/litellm/proxy/_experimental/out/experimental/old-usage/index.html deleted file mode 100644 index 937c4fbc64..0000000000 --- a/litellm/proxy/_experimental/out/experimental/old-usage/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/experimental/prompts/index.html b/litellm/proxy/_experimental/out/experimental/prompts.html similarity index 86% rename from litellm/proxy/_experimental/out/experimental/prompts/index.html rename to litellm/proxy/_experimental/out/experimental/prompts.html index 3782208d83..21d626a5c3 100644 --- a/litellm/proxy/_experimental/out/experimental/prompts/index.html +++ b/litellm/proxy/_experimental/out/experimental/prompts.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/experimental/prompts.txt b/litellm/proxy/_experimental/out/experimental/prompts.txt index 5d9fcfce42..66a20389d0 100644 --- a/litellm/proxy/_experimental/out/experimental/prompts.txt +++ b/litellm/proxy/_experimental/out/experimental/prompts.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[51599,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","7318","static/chunks/7318-c50027425e9c9b90.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5869","static/chunks/5869-99bf8c2997f4811f.js","525","static/chunks/525-b324fffe907a950d.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","816","static/chunks/816-e7500f06e5b83b0f.js","605","static/chunks/605-102c0e6d8bb7517c.js","3163","static/chunks/3163-e261e5767e016074.js","8049","static/chunks/8049-68c6cf5a8366c026.js","6399","static/chunks/6399-1389781dccccda3e.js","2099","static/chunks/app/(dashboard)/experimental/prompts/page-74e17f2cf383a907.js"],"default",1] +3:I[51599,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","7318","static/chunks/7318-c50027425e9c9b90.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","525","static/chunks/525-b324fffe907a950d.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","4804","static/chunks/4804-b847172fde8c8338.js","605","static/chunks/605-102c0e6d8bb7517c.js","656","static/chunks/656-4d7c039dc5fe4414.js","8049","static/chunks/8049-d0c517a619211cdd.js","6399","static/chunks/6399-565ef7c239265f07.js","2099","static/chunks/app/(dashboard)/experimental/prompts/page-02d87f60b52093a6.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["prompts",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["prompts",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","prompts","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["prompts",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["prompts",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","prompts","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/experimental/tag-management/index.html b/litellm/proxy/_experimental/out/experimental/tag-management.html similarity index 88% rename from litellm/proxy/_experimental/out/experimental/tag-management/index.html rename to litellm/proxy/_experimental/out/experimental/tag-management.html index d3bb533adb..ef9f1f1503 100644 --- a/litellm/proxy/_experimental/out/experimental/tag-management/index.html +++ b/litellm/proxy/_experimental/out/experimental/tag-management.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/experimental/tag-management.txt b/litellm/proxy/_experimental/out/experimental/tag-management.txt index bc494aeac1..2b22a00886 100644 --- a/litellm/proxy/_experimental/out/experimental/tag-management.txt +++ b/litellm/proxy/_experimental/out/experimental/tag-management.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[21933,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","7996","static/chunks/7996-dc0963f1c599e551.js","4623","static/chunks/4623-3d995c58e378474f.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","2273","static/chunks/2273-c02f32be0f2e601f.js","6061","static/chunks/app/(dashboard)/experimental/tag-management/page-5a0e12e4e22b19fe.js"],"default",1] +3:I[21933,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","7996","static/chunks/7996-dc0963f1c599e551.js","6561","static/chunks/6561-20ddad0242f5c232.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","2273","static/chunks/2273-23d4f6fdcd9c3a35.js","6061","static/chunks/app/(dashboard)/experimental/tag-management/page-68f3deffb8e7d53b.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["tag-management",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["tag-management",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","tag-management","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["experimental",{"children":["tag-management",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["experimental",{"children":["tag-management",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children","tag-management","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/settings/logging-and-alerts/index.html b/litellm/proxy/_experimental/out/guardrails.html similarity index 60% rename from litellm/proxy/_experimental/out/settings/logging-and-alerts/index.html rename to litellm/proxy/_experimental/out/guardrails.html index 3d42fc05c8..ad416dd5fd 100644 --- a/litellm/proxy/_experimental/out/settings/logging-and-alerts/index.html +++ b/litellm/proxy/_experimental/out/guardrails.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/guardrails.txt b/litellm/proxy/_experimental/out/guardrails.txt index a1f59b6981..aedd6f18b6 100644 --- a/litellm/proxy/_experimental/out/guardrails.txt +++ b/litellm/proxy/_experimental/out/guardrails.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[49514,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5869","static/chunks/5869-99bf8c2997f4811f.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","4546","static/chunks/4546-af35d1c0ff12244b.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","8468","static/chunks/8468-27ea05e25918ba32.js","5458","static/chunks/5458-3a5d500e8deb5b23.js","8049","static/chunks/8049-68c6cf5a8366c026.js","170","static/chunks/170-d1d99a90b9aab334.js","6607","static/chunks/app/(dashboard)/guardrails/page-e7b3865d388441a0.js"],"default",1] +3:I[49514,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","4546","static/chunks/4546-af35d1c0ff12244b.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","854","static/chunks/854-97f31da22f2b5bab.js","8614","static/chunks/8614-bb0547ba180414d1.js","8049","static/chunks/8049-d0c517a619211cdd.js","137","static/chunks/137-cbbf776473e39926.js","6607","static/chunks/app/(dashboard)/guardrails/page-663e47e38e029360.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["guardrails",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["guardrails",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","guardrails","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["guardrails",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["guardrails",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","guardrails","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/index.html b/litellm/proxy/_experimental/out/index.html index 32a5399161..3c60b8225e 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 3f58741dbc..b24bedd469 100644 --- a/litellm/proxy/_experimental/out/index.txt +++ b/litellm/proxy/_experimental/out/index.txt @@ -1,7 +1,7 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[8960,["1047","static/chunks/e228588e-635e9029d9d88215.js","3665","static/chunks/3014691f-ba91873bc8fe3fad.js","6990","static/chunks/13b76428-e1bf383848c17260.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","5869","static/chunks/5869-99bf8c2997f4811f.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","9611","static/chunks/9611-58129a2e04664187.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","7140","static/chunks/7140-937050711ba264d3.js","816","static/chunks/816-e7500f06e5b83b0f.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","8237","static/chunks/8237-253c15ae006496fe.js","9349","static/chunks/9349-61f99afd33bbc9e3.js","8468","static/chunks/8468-27ea05e25918ba32.js","2843","static/chunks/2843-eda3a290faa906b3.js","2586","static/chunks/2586-352b7c53b37f606f.js","849","static/chunks/849-d1cabf66d71a8808.js","6640","static/chunks/6640-500d8b4d4ec506a1.js","605","static/chunks/605-102c0e6d8bb7517c.js","3621","static/chunks/3621-a18bc79bfe63668e.js","1345","static/chunks/1345-c68e14accc28d43b.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","4292","static/chunks/4292-07a0f7766e802b0b.js","7526","static/chunks/7526-ab47cb48a5195ec6.js","1253","static/chunks/1253-2b34d3143d8d93c5.js","2249","static/chunks/2249-a702e749885d3487.js","2012","static/chunks/2012-63eecec542524e91.js","2004","static/chunks/2004-4722312b97815d34.js","1200","static/chunks/1200-4d1dddb31ebdb388.js","7641","static/chunks/7641-6613f1d24df5049d.js","8478","static/chunks/8478-e82cdb5831c07157.js","3801","static/chunks/3801-10953dfd75e13297.js","170","static/chunks/170-d1d99a90b9aab334.js","6399","static/chunks/6399-1389781dccccda3e.js","6653","static/chunks/6653-7001d6e6100af8cb.js","8524","static/chunks/8524-21acedf5f9e00883.js","1739","static/chunks/1739-d3bc839f59e07ce9.js","8449","static/chunks/8449-4ca5d1cffc091f3d.js","6600","static/chunks/6600-860829d878f2421f.js","9111","static/chunks/9111-fa9939b601462ccf.js","9039","static/chunks/9039-7e7434ed0b3add12.js","8143","static/chunks/8143-af49726668341269.js","7975","static/chunks/7975-39f70ddf71d76c23.js","2273","static/chunks/2273-c02f32be0f2e601f.js","1931","static/chunks/app/page-9d60ff859851d7df.js"],"default",1] +3:I[8960,["1047","static/chunks/e228588e-635e9029d9d88215.js","3665","static/chunks/3014691f-ba91873bc8fe3fad.js","6990","static/chunks/13b76428-e1bf383848c17260.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","9611","static/chunks/9611-58129a2e04664187.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","9165","static/chunks/9165-82d12d1c73da639d.js","1130","static/chunks/1130-8e58d6f70a0ae076.js","4804","static/chunks/4804-b847172fde8c8338.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","8237","static/chunks/8237-253c15ae006496fe.js","854","static/chunks/854-97f31da22f2b5bab.js","5105","static/chunks/5105-d70ae84ff6510ab1.js","2843","static/chunks/2843-eda3a290faa906b3.js","8205","static/chunks/8205-8dc0e40367f8cfd0.js","4042","static/chunks/4042-3025989d114b127a.js","605","static/chunks/605-102c0e6d8bb7517c.js","6892","static/chunks/6892-194d88168be5145d.js","7685","static/chunks/7685-6ed8af603a89fd74.js","819","static/chunks/819-7a61baa559c82144.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","4292","static/chunks/4292-24752ded432749c8.js","7526","static/chunks/7526-fb065faf5cf04772.js","1253","static/chunks/1253-154d1dd5b99252f0.js","2249","static/chunks/2249-3d0096e095fc9d09.js","5068","static/chunks/5068-92d90e3d57541444.js","2004","static/chunks/2004-092c0438baa1cbfc.js","1200","static/chunks/1200-cf5c22d7c680d667.js","7641","static/chunks/7641-c24fc7cf92d8a6c5.js","1385","static/chunks/1385-7a20fecf18a7fb6a.js","137","static/chunks/137-cbbf776473e39926.js","3801","static/chunks/3801-d4b8e60d32adbf31.js","6399","static/chunks/6399-565ef7c239265f07.js","6653","static/chunks/6653-bdb4cfe11ecbcb53.js","4504","static/chunks/4504-70fa5c5559b14dde.js","8524","static/chunks/8524-e3b2765ff57c7954.js","1739","static/chunks/1739-e00951b4ce375e4e.js","8449","static/chunks/8449-01342d391c36678a.js","6600","static/chunks/6600-b6414aaea7f96109.js","9039","static/chunks/9039-7e7434ed0b3add12.js","8143","static/chunks/8143-3f24c5ca9a8b2457.js","7975","static/chunks/7975-eda86d953898c390.js","2273","static/chunks/2273-23d4f6fdcd9c3a35.js","1931","static/chunks/app/page-0da481042ef13e97.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/0fc668a8750043fe.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/0fc668a8750043fe.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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/login/index.html b/litellm/proxy/_experimental/out/login.html similarity index 86% rename from litellm/proxy/_experimental/out/login/index.html rename to litellm/proxy/_experimental/out/login.html index adb7573851..ffd10524f3 100644 --- a/litellm/proxy/_experimental/out/login/index.html +++ b/litellm/proxy/_experimental/out/login.html @@ -1 +1 @@ -LiteLLM Dashboard
🚅 LiteLLM
Loading...
\ No newline at end of file +LiteLLM Dashboard
🚅 LiteLLM
Loading...
\ No newline at end of file diff --git a/litellm/proxy/_experimental/out/login.txt b/litellm/proxy/_experimental/out/login.txt index dbe881ef41..bece022e6f 100644 --- a/litellm/proxy/_experimental/out/login.txt +++ b/litellm/proxy/_experimental/out/login.txt @@ -1,7 +1,7 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[2160,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","337","static/chunks/337-bb33d149e9f461b3.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","5869","static/chunks/5869-99bf8c2997f4811f.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","1623","static/chunks/1623-995fddc2b5647961.js","3897","static/chunks/3897-548448f3542aa392.js","8049","static/chunks/8049-68c6cf5a8366c026.js","2626","static/chunks/app/login/page-adfa774f2ae053f1.js"],"default",1] +3:I[2160,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","337","static/chunks/337-bb33d149e9f461b3.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","5869","static/chunks/5869-99bf8c2997f4811f.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","1623","static/chunks/1623-995fddc2b5647961.js","3897","static/chunks/3897-548448f3542aa392.js","8049","static/chunks/8049-d0c517a619211cdd.js","2626","static/chunks/app/login/page-e509824bb3d72c16.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["login",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["login",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","login","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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["login",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["login",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","login","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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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/logs.html b/litellm/proxy/_experimental/out/logs.html new file mode 100644 index 0000000000..53cd537a21 --- /dev/null +++ b/litellm/proxy/_experimental/out/logs.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/logs.txt b/litellm/proxy/_experimental/out/logs.txt index b8f24429ba..a1063d49c9 100644 --- a/litellm/proxy/_experimental/out/logs.txt +++ b/litellm/proxy/_experimental/out/logs.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[19056,["1047","static/chunks/e228588e-635e9029d9d88215.js","6990","static/chunks/13b76428-e1bf383848c17260.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7996","static/chunks/7996-dc0963f1c599e551.js","6640","static/chunks/6640-500d8b4d4ec506a1.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","4292","static/chunks/4292-07a0f7766e802b0b.js","3801","static/chunks/3801-10953dfd75e13297.js","2100","static/chunks/app/(dashboard)/logs/page-3206b757a84d04dd.js"],"default",1] +3:I[19056,["1047","static/chunks/e228588e-635e9029d9d88215.js","6990","static/chunks/13b76428-e1bf383848c17260.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7996","static/chunks/7996-dc0963f1c599e551.js","1130","static/chunks/1130-8e58d6f70a0ae076.js","5191","static/chunks/5191-74767e15228e797d.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","4292","static/chunks/4292-24752ded432749c8.js","3801","static/chunks/3801-d4b8e60d32adbf31.js","2100","static/chunks/app/(dashboard)/logs/page-59393ea2ea19ffdd.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["logs",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["logs",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/0fc668a8750043fe.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","logs","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["logs",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["logs",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/0fc668a8750043fe.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","logs","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/logs/index.html b/litellm/proxy/_experimental/out/logs/index.html deleted file mode 100644 index 4e67617c52..0000000000 --- a/litellm/proxy/_experimental/out/logs/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/mcp/oauth/callback/index.html b/litellm/proxy/_experimental/out/mcp/oauth/callback.html similarity index 92% rename from litellm/proxy/_experimental/out/mcp/oauth/callback/index.html rename to litellm/proxy/_experimental/out/mcp/oauth/callback.html index 83237b7071..490554fb09 100644 --- a/litellm/proxy/_experimental/out/mcp/oauth/callback/index.html +++ b/litellm/proxy/_experimental/out/mcp/oauth/callback.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/mcp/oauth/callback.txt b/litellm/proxy/_experimental/out/mcp/oauth/callback.txt index 990c608913..ae90ffb117 100644 --- a/litellm/proxy/_experimental/out/mcp/oauth/callback.txt +++ b/litellm/proxy/_experimental/out/mcp/oauth/callback.txt @@ -1,7 +1,7 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[33422,["480","static/chunks/app/mcp/oauth/callback/page-497caf09e19a569a.js"],"default",1] +3:I[33422,["480","static/chunks/app/mcp/oauth/callback/page-01be1cae3559363d.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["mcp",{"children":["oauth",{"children":["callback",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["mcp",{"children":["oauth",{"children":["callback",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","mcp","children","oauth","children","callback","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","mcp","children","oauth","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","mcp","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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["mcp",{"children":["oauth",{"children":["callback",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["mcp",{"children":["oauth",{"children":["callback",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","mcp","children","oauth","children","callback","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","mcp","children","oauth","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","mcp","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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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.html b/litellm/proxy/_experimental/out/model-hub.html new file mode 100644 index 0000000000..5ae011f285 --- /dev/null +++ b/litellm/proxy/_experimental/out/model-hub.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/model-hub.txt b/litellm/proxy/_experimental/out/model-hub.txt index 25e397f4f5..e407fa4e3f 100644 --- a/litellm/proxy/_experimental/out/model-hub.txt +++ b/litellm/proxy/_experimental/out/model-hub.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[30615,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","5869","static/chunks/5869-99bf8c2997f4811f.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","7140","static/chunks/7140-937050711ba264d3.js","8468","static/chunks/8468-27ea05e25918ba32.js","8049","static/chunks/8049-68c6cf5a8366c026.js","7526","static/chunks/7526-ab47cb48a5195ec6.js","2249","static/chunks/2249-a702e749885d3487.js","2678","static/chunks/app/(dashboard)/model-hub/page-2324ca3ad3bea48c.js"],"default",1] +3:I[30615,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","5869","static/chunks/5869-99bf8c2997f4811f.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","9165","static/chunks/9165-82d12d1c73da639d.js","854","static/chunks/854-97f31da22f2b5bab.js","8049","static/chunks/8049-d0c517a619211cdd.js","7526","static/chunks/7526-fb065faf5cf04772.js","2249","static/chunks/2249-3d0096e095fc9d09.js","2678","static/chunks/app/(dashboard)/model-hub/page-4a9230b983f74198.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["model-hub",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["model-hub",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","model-hub","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["model-hub",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["model-hub",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","model-hub","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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 b4352b4bf8..152f955861 100644 --- a/litellm/proxy/_experimental/out/model_hub.txt +++ b/litellm/proxy/_experimental/out/model_hub.txt @@ -1,7 +1,7 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[52829,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","5869","static/chunks/5869-99bf8c2997f4811f.js","7140","static/chunks/7140-937050711ba264d3.js","8049","static/chunks/8049-68c6cf5a8366c026.js","7526","static/chunks/7526-ab47cb48a5195ec6.js","1418","static/chunks/app/model_hub/page-68bb7f322f019ac9.js"],"default",1] +3:I[52829,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","5869","static/chunks/5869-99bf8c2997f4811f.js","9165","static/chunks/9165-82d12d1c73da639d.js","8049","static/chunks/8049-d0c517a619211cdd.js","7526","static/chunks/7526-fb065faf5cf04772.js","1418","static/chunks/app/model_hub/page-9da0d0cdedcea3c8.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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:["BMqdCjUaq8FHE7G2pguZS",[[["",{"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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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_table.html b/litellm/proxy/_experimental/out/model_hub_table.html new file mode 100644 index 0000000000..97ffbb147a --- /dev/null +++ b/litellm/proxy/_experimental/out/model_hub_table.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/model_hub_table.txt b/litellm/proxy/_experimental/out/model_hub_table.txt index 6f159fbd50..c8d17db640 100644 --- a/litellm/proxy/_experimental/out/model_hub_table.txt +++ b/litellm/proxy/_experimental/out/model_hub_table.txt @@ -1,7 +1,7 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[22775,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","5869","static/chunks/5869-99bf8c2997f4811f.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","7140","static/chunks/7140-937050711ba264d3.js","8468","static/chunks/8468-27ea05e25918ba32.js","8049","static/chunks/8049-68c6cf5a8366c026.js","7526","static/chunks/7526-ab47cb48a5195ec6.js","2249","static/chunks/2249-a702e749885d3487.js","9025","static/chunks/app/model_hub_table/page-6315d7b8f5a15b0d.js"],"default",1] +3:I[22775,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","5869","static/chunks/5869-99bf8c2997f4811f.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","9165","static/chunks/9165-82d12d1c73da639d.js","854","static/chunks/854-97f31da22f2b5bab.js","8049","static/chunks/8049-d0c517a619211cdd.js","7526","static/chunks/7526-fb065faf5cf04772.js","2249","static/chunks/2249-3d0096e095fc9d09.js","9025","static/chunks/app/model_hub_table/page-db771d9abf316050.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["model_hub_table",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub_table",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub_table","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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["model_hub_table",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub_table",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub_table","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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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_table/index.html b/litellm/proxy/_experimental/out/model_hub_table/index.html deleted file mode 100644 index d4b66f92ee..0000000000 --- a/litellm/proxy/_experimental/out/model_hub_table/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/models-and-endpoints/index.html b/litellm/proxy/_experimental/out/models-and-endpoints.html similarity index 83% rename from litellm/proxy/_experimental/out/models-and-endpoints/index.html rename to litellm/proxy/_experimental/out/models-and-endpoints.html index bf655e671a..5853d6b202 100644 --- a/litellm/proxy/_experimental/out/models-and-endpoints/index.html +++ b/litellm/proxy/_experimental/out/models-and-endpoints.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/models-and-endpoints.txt b/litellm/proxy/_experimental/out/models-and-endpoints.txt index 9354cc693a..2888613d7f 100644 --- a/litellm/proxy/_experimental/out/models-and-endpoints.txt +++ b/litellm/proxy/_experimental/out/models-and-endpoints.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[6121,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","5869","static/chunks/5869-99bf8c2997f4811f.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7996","static/chunks/7996-dc0963f1c599e551.js","9611","static/chunks/9611-58129a2e04664187.js","8237","static/chunks/8237-253c15ae006496fe.js","9349","static/chunks/9349-61f99afd33bbc9e3.js","2843","static/chunks/2843-eda3a290faa906b3.js","3621","static/chunks/3621-a18bc79bfe63668e.js","667","static/chunks/667-cbb542e4dc0d37bb.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2012","static/chunks/2012-63eecec542524e91.js","1200","static/chunks/1200-4d1dddb31ebdb388.js","1664","static/chunks/app/(dashboard)/models-and-endpoints/page-d2cc187caf42ae8a.js"],"default",1] +3:I[6121,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7996","static/chunks/7996-dc0963f1c599e551.js","9611","static/chunks/9611-58129a2e04664187.js","8237","static/chunks/8237-253c15ae006496fe.js","5105","static/chunks/5105-d70ae84ff6510ab1.js","2843","static/chunks/2843-eda3a290faa906b3.js","6892","static/chunks/6892-194d88168be5145d.js","143","static/chunks/143-9c81168540978019.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","5068","static/chunks/5068-92d90e3d57541444.js","1200","static/chunks/1200-cf5c22d7c680d667.js","1664","static/chunks/app/(dashboard)/models-and-endpoints/page-b7dab1a843c79137.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["models-and-endpoints",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["models-and-endpoints",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","models-and-endpoints","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["models-and-endpoints",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["models-and-endpoints",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","models-and-endpoints","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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 new file mode 100644 index 0000000000..cdd30b8d4d --- /dev/null +++ b/litellm/proxy/_experimental/out/onboarding.html @@ -0,0 +1 @@ +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 6a94e7777b..b02074f936 100644 --- a/litellm/proxy/_experimental/out/onboarding.txt +++ b/litellm/proxy/_experimental/out/onboarding.txt @@ -1,7 +1,7 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[12011,["3665","static/chunks/3014691f-ba91873bc8fe3fad.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","2901","static/chunks/2901-0cdd0656eb7463d6.js","8049","static/chunks/8049-68c6cf5a8366c026.js","8461","static/chunks/app/onboarding/page-9f9870335c1647ef.js"],"default",1] +3:I[12011,["3665","static/chunks/3014691f-ba91873bc8fe3fad.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","2901","static/chunks/2901-0cdd0656eb7463d6.js","8049","static/chunks/8049-d0c517a619211cdd.js","8461","static/chunks/app/onboarding/page-a67e608f0d011c37.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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:["BMqdCjUaq8FHE7G2pguZS",[[["",{"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/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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/organizations/index.html b/litellm/proxy/_experimental/out/organizations.html similarity index 86% rename from litellm/proxy/_experimental/out/organizations/index.html rename to litellm/proxy/_experimental/out/organizations.html index 6062d7195c..38175646ca 100644 --- a/litellm/proxy/_experimental/out/organizations/index.html +++ b/litellm/proxy/_experimental/out/organizations.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/organizations.txt b/litellm/proxy/_experimental/out/organizations.txt index f9a8054210..936fc57386 100644 --- a/litellm/proxy/_experimental/out/organizations.txt +++ b/litellm/proxy/_experimental/out/organizations.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[57616,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7996","static/chunks/7996-dc0963f1c599e551.js","4623","static/chunks/4623-3d995c58e378474f.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","2004","static/chunks/2004-4722312b97815d34.js","6459","static/chunks/app/(dashboard)/organizations/page-5751ac7914318f3a.js"],"default",1] +3:I[57616,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7996","static/chunks/7996-dc0963f1c599e551.js","3746","static/chunks/3746-05292c155ebaa8ea.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","2004","static/chunks/2004-092c0438baa1cbfc.js","6459","static/chunks/app/(dashboard)/organizations/page-e71028c48d51447f.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["organizations",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["organizations",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","organizations","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["organizations",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["organizations",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","organizations","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/playground/index.html b/litellm/proxy/_experimental/out/playground.html similarity index 85% rename from litellm/proxy/_experimental/out/playground/index.html rename to litellm/proxy/_experimental/out/playground.html index ee01a582cc..c04b0b85f1 100644 --- a/litellm/proxy/_experimental/out/playground/index.html +++ b/litellm/proxy/_experimental/out/playground.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/playground.txt b/litellm/proxy/_experimental/out/playground.txt index 6b35ad2cd3..2250ae81e4 100644 --- a/litellm/proxy/_experimental/out/playground.txt +++ b/litellm/proxy/_experimental/out/playground.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[69039,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","816","static/chunks/816-e7500f06e5b83b0f.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","2586","static/chunks/2586-352b7c53b37f606f.js","8345","static/chunks/8345-1fd48ab6ac35310b.js","8049","static/chunks/8049-68c6cf5a8366c026.js","1253","static/chunks/1253-2b34d3143d8d93c5.js","9039","static/chunks/9039-7e7434ed0b3add12.js","3368","static/chunks/app/(dashboard)/playground/page-b2d3dfdee2f701e4.js"],"default",1] +3:I[69039,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","4804","static/chunks/4804-b847172fde8c8338.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","8205","static/chunks/8205-8dc0e40367f8cfd0.js","507","static/chunks/507-dd247981122e5619.js","8049","static/chunks/8049-d0c517a619211cdd.js","1253","static/chunks/1253-154d1dd5b99252f0.js","9039","static/chunks/9039-7e7434ed0b3add12.js","3368","static/chunks/app/(dashboard)/playground/page-ee95ec3fb92cdf8c.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["playground",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["playground",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","playground","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["playground",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["playground",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","playground","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/settings/admin-settings/index.html b/litellm/proxy/_experimental/out/settings/admin-settings.html similarity index 90% rename from litellm/proxy/_experimental/out/settings/admin-settings/index.html rename to litellm/proxy/_experimental/out/settings/admin-settings.html index 9efa8a5e66..9b9179faf3 100644 --- a/litellm/proxy/_experimental/out/settings/admin-settings/index.html +++ b/litellm/proxy/_experimental/out/settings/admin-settings.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/settings/admin-settings.txt b/litellm/proxy/_experimental/out/settings/admin-settings.txt index d0a3c60b71..456bac7c62 100644 --- a/litellm/proxy/_experimental/out/settings/admin-settings.txt +++ b/litellm/proxy/_experimental/out/settings/admin-settings.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[8786,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","5869","static/chunks/5869-99bf8c2997f4811f.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","7448","static/chunks/7448-90fa7495684d6da9.js","8049","static/chunks/8049-68c6cf5a8366c026.js","8449","static/chunks/8449-4ca5d1cffc091f3d.js","8958","static/chunks/app/(dashboard)/settings/admin-settings/page-1d68edc5e87173ad.js"],"default",1] +3:I[8786,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","7448","static/chunks/7448-90fa7495684d6da9.js","8049","static/chunks/8049-d0c517a619211cdd.js","8449","static/chunks/8449-01342d391c36678a.js","8958","static/chunks/app/(dashboard)/settings/admin-settings/page-47f52cb50166848e.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["admin-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["admin-settings",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","admin-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["admin-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["admin-settings",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","admin-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/settings/logging-and-alerts.html b/litellm/proxy/_experimental/out/settings/logging-and-alerts.html new file mode 100644 index 0000000000..ced295c4c6 --- /dev/null +++ b/litellm/proxy/_experimental/out/settings/logging-and-alerts.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/settings/logging-and-alerts.txt b/litellm/proxy/_experimental/out/settings/logging-and-alerts.txt index 4622fe7a37..4d5449b225 100644 --- a/litellm/proxy/_experimental/out/settings/logging-and-alerts.txt +++ b/litellm/proxy/_experimental/out/settings/logging-and-alerts.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[72719,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","3705","static/chunks/3705-124a560b74decaa8.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","4546","static/chunks/4546-af35d1c0ff12244b.js","8049","static/chunks/8049-68c6cf5a8366c026.js","9111","static/chunks/9111-fa9939b601462ccf.js","2445","static/chunks/app/(dashboard)/settings/logging-and-alerts/page-58549a63fe8cb1d3.js"],"default",1] +3:I[72719,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7138","static/chunks/7138-3126ba26398b066c.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","8352","static/chunks/8352-01b765b685095cc8.js","8049","static/chunks/8049-d0c517a619211cdd.js","4504","static/chunks/4504-70fa5c5559b14dde.js","2445","static/chunks/app/(dashboard)/settings/logging-and-alerts/page-50bf5157dfcd91e1.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["logging-and-alerts",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["logging-and-alerts",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","logging-and-alerts","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["logging-and-alerts",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["logging-and-alerts",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","logging-and-alerts","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/settings/router-settings/index.html b/litellm/proxy/_experimental/out/settings/router-settings.html similarity index 89% rename from litellm/proxy/_experimental/out/settings/router-settings/index.html rename to litellm/proxy/_experimental/out/settings/router-settings.html index ef0c14cb43..062ae4d451 100644 --- a/litellm/proxy/_experimental/out/settings/router-settings/index.html +++ b/litellm/proxy/_experimental/out/settings/router-settings.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/settings/router-settings.txt b/litellm/proxy/_experimental/out/settings/router-settings.txt index 05a7b296ef..0c11d32a4c 100644 --- a/litellm/proxy/_experimental/out/settings/router-settings.txt +++ b/litellm/proxy/_experimental/out/settings/router-settings.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[14809,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","4612","static/chunks/4612-06e9d10957e990c0.js","8049","static/chunks/8049-68c6cf5a8366c026.js","7975","static/chunks/7975-39f70ddf71d76c23.js","8021","static/chunks/app/(dashboard)/settings/router-settings/page-4f8922c9c760549a.js"],"default",1] +3:I[14809,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","4612","static/chunks/4612-06e9d10957e990c0.js","8049","static/chunks/8049-d0c517a619211cdd.js","7975","static/chunks/7975-eda86d953898c390.js","8021","static/chunks/app/(dashboard)/settings/router-settings/page-f3097b90ecb4595f.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["router-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["router-settings",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","router-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["router-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["router-settings",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","router-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/settings/ui-theme/index.html b/litellm/proxy/_experimental/out/settings/ui-theme.html similarity index 91% rename from litellm/proxy/_experimental/out/settings/ui-theme/index.html rename to litellm/proxy/_experimental/out/settings/ui-theme.html index f5c1b376d3..8d11ccb2b6 100644 --- a/litellm/proxy/_experimental/out/settings/ui-theme/index.html +++ b/litellm/proxy/_experimental/out/settings/ui-theme.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/settings/ui-theme.txt b/litellm/proxy/_experimental/out/settings/ui-theme.txt index 009fee68ec..8f6defa929 100644 --- a/litellm/proxy/_experimental/out/settings/ui-theme.txt +++ b/litellm/proxy/_experimental/out/settings/ui-theme.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[8719,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","8049","static/chunks/8049-68c6cf5a8366c026.js","3117","static/chunks/app/(dashboard)/settings/ui-theme/page-75cf2295d2cc6cff.js"],"default",1] +3:I[8719,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","8049","static/chunks/8049-d0c517a619211cdd.js","3117","static/chunks/app/(dashboard)/settings/ui-theme/page-e838ca0c19a44dfb.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["ui-theme",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["ui-theme",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","ui-theme","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["settings",{"children":["ui-theme",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["settings",{"children":["ui-theme",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children","ui-theme","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/teams/index.html b/litellm/proxy/_experimental/out/teams.html similarity index 87% rename from litellm/proxy/_experimental/out/teams/index.html rename to litellm/proxy/_experimental/out/teams.html index e11f8ace5f..45e962b571 100644 --- a/litellm/proxy/_experimental/out/teams/index.html +++ b/litellm/proxy/_experimental/out/teams.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/teams.txt b/litellm/proxy/_experimental/out/teams.txt index f58492533d..4b9f0f496d 100644 --- a/litellm/proxy/_experimental/out/teams.txt +++ b/litellm/proxy/_experimental/out/teams.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[67578,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7996","static/chunks/7996-dc0963f1c599e551.js","7692","static/chunks/7692-2d8e89cbe1f5ea87.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2012","static/chunks/2012-63eecec542524e91.js","2004","static/chunks/2004-4722312b97815d34.js","9483","static/chunks/app/(dashboard)/teams/page-7aaa79fd7d33fc3e.js"],"default",1] +3:I[67578,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","4546","static/chunks/4546-af35d1c0ff12244b.js","7996","static/chunks/7996-dc0963f1c599e551.js","7692","static/chunks/7692-2d8e89cbe1f5ea87.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","5068","static/chunks/5068-92d90e3d57541444.js","2004","static/chunks/2004-092c0438baa1cbfc.js","9483","static/chunks/app/(dashboard)/teams/page-daafc87d448ac474.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["teams",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["teams",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","teams","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["teams",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["teams",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","teams","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/test-key.html b/litellm/proxy/_experimental/out/test-key.html new file mode 100644 index 0000000000..b919902eda --- /dev/null +++ b/litellm/proxy/_experimental/out/test-key.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/test-key.txt b/litellm/proxy/_experimental/out/test-key.txt index 79a1b6f7ae..2f8e43c039 100644 --- a/litellm/proxy/_experimental/out/test-key.txt +++ b/litellm/proxy/_experimental/out/test-key.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[38511,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","2409","static/chunks/2409-e94c05c6f11bb939.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","816","static/chunks/816-e7500f06e5b83b0f.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","2586","static/chunks/2586-352b7c53b37f606f.js","8717","static/chunks/8717-8efb62338a426030.js","8049","static/chunks/8049-68c6cf5a8366c026.js","1253","static/chunks/1253-2b34d3143d8d93c5.js","2322","static/chunks/app/(dashboard)/test-key/page-658c5020a04f1921.js"],"default",1] +3:I[38511,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","2409","static/chunks/2409-e94c05c6f11bb939.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","7906","static/chunks/7906-1b1cdd8da2773bb2.js","4804","static/chunks/4804-b847172fde8c8338.js","7271","static/chunks/7271-46e4c11ee6b0a4d6.js","8205","static/chunks/8205-8dc0e40367f8cfd0.js","3792","static/chunks/3792-da6ce0c3cbf757e5.js","8049","static/chunks/8049-d0c517a619211cdd.js","1253","static/chunks/1253-154d1dd5b99252f0.js","2322","static/chunks/app/(dashboard)/test-key/page-36bd1b362fe7168f.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["test-key",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["test-key",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","test-key","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["test-key",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["test-key",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","test-key","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/test-key/index.html b/litellm/proxy/_experimental/out/test-key/index.html deleted file mode 100644 index 034e98eda8..0000000000 --- a/litellm/proxy/_experimental/out/test-key/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/tools/mcp-servers/index.html b/litellm/proxy/_experimental/out/tools/mcp-servers.html similarity index 90% rename from litellm/proxy/_experimental/out/tools/mcp-servers/index.html rename to litellm/proxy/_experimental/out/tools/mcp-servers.html index 6e356e671f..7e2017ed53 100644 --- a/litellm/proxy/_experimental/out/tools/mcp-servers/index.html +++ b/litellm/proxy/_experimental/out/tools/mcp-servers.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/tools/mcp-servers.txt b/litellm/proxy/_experimental/out/tools/mcp-servers.txt index 280d64b2da..a16e6870f9 100644 --- a/litellm/proxy/_experimental/out/tools/mcp-servers.txt +++ b/litellm/proxy/_experimental/out/tools/mcp-servers.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[45045,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","2843","static/chunks/2843-eda3a290faa906b3.js","1623","static/chunks/1623-995fddc2b5647961.js","1250","static/chunks/1250-85d99b7c90e56c2a.js","8049","static/chunks/8049-68c6cf5a8366c026.js","7641","static/chunks/7641-6613f1d24df5049d.js","6940","static/chunks/app/(dashboard)/tools/mcp-servers/page-de42c0bc4fea3c90.js"],"default",1] +3:I[45045,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","2843","static/chunks/2843-eda3a290faa906b3.js","1623","static/chunks/1623-995fddc2b5647961.js","1250","static/chunks/1250-85d99b7c90e56c2a.js","8049","static/chunks/8049-d0c517a619211cdd.js","7641","static/chunks/7641-c24fc7cf92d8a6c5.js","6940","static/chunks/app/(dashboard)/tools/mcp-servers/page-75cbf1f7cdaead36.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["tools",{"children":["mcp-servers",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["tools",{"children":["mcp-servers",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children","mcp-servers","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["tools",{"children":["mcp-servers",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["tools",{"children":["mcp-servers",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children","mcp-servers","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/tools/vector-stores/index.html b/litellm/proxy/_experimental/out/tools/vector-stores.html similarity index 90% rename from litellm/proxy/_experimental/out/tools/vector-stores/index.html rename to litellm/proxy/_experimental/out/tools/vector-stores.html index af4c592d11..2d349209cc 100644 --- a/litellm/proxy/_experimental/out/tools/vector-stores/index.html +++ b/litellm/proxy/_experimental/out/tools/vector-stores.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/tools/vector-stores.txt b/litellm/proxy/_experimental/out/tools/vector-stores.txt index e40b7bb939..7604ddb56c 100644 --- a/litellm/proxy/_experimental/out/tools/vector-stores.txt +++ b/litellm/proxy/_experimental/out/tools/vector-stores.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[77438,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","7318","static/chunks/7318-c50027425e9c9b90.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","5830","static/chunks/5830-0662e9fc2ba82b07.js","8049","static/chunks/8049-68c6cf5a8366c026.js","8524","static/chunks/8524-21acedf5f9e00883.js","6248","static/chunks/app/(dashboard)/tools/vector-stores/page-f97e1665bda235bc.js"],"default",1] +3:I[77438,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","7318","static/chunks/7318-c50027425e9c9b90.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","5830","static/chunks/5830-0662e9fc2ba82b07.js","8049","static/chunks/8049-d0c517a619211cdd.js","8524","static/chunks/8524-e3b2765ff57c7954.js","6248","static/chunks/app/(dashboard)/tools/vector-stores/page-2510c114ed5c405a.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["tools",{"children":["vector-stores",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["tools",{"children":["vector-stores",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children","vector-stores","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["tools",{"children":["vector-stores",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["tools",{"children":["vector-stores",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children","vector-stores","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","tools","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/usage.html b/litellm/proxy/_experimental/out/usage.html new file mode 100644 index 0000000000..d2e428ee32 --- /dev/null +++ b/litellm/proxy/_experimental/out/usage.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/usage.txt b/litellm/proxy/_experimental/out/usage.txt index 10c03f420a..baf320fbb9 100644 --- a/litellm/proxy/_experimental/out/usage.txt +++ b/litellm/proxy/_experimental/out/usage.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[26661,["1047","static/chunks/e228588e-635e9029d9d88215.js","6990","static/chunks/13b76428-e1bf383848c17260.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7996","static/chunks/7996-dc0963f1c599e551.js","4623","static/chunks/4623-3d995c58e378474f.js","9611","static/chunks/9611-58129a2e04664187.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","9349","static/chunks/9349-61f99afd33bbc9e3.js","2843","static/chunks/2843-eda3a290faa906b3.js","849","static/chunks/849-d1cabf66d71a8808.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","4292","static/chunks/4292-07a0f7766e802b0b.js","8478","static/chunks/8478-e82cdb5831c07157.js","4746","static/chunks/app/(dashboard)/usage/page-4118e4bc818bddd4.js"],"default",1] +3:I[26661,["1047","static/chunks/e228588e-635e9029d9d88215.js","6990","static/chunks/13b76428-e1bf383848c17260.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7996","static/chunks/7996-dc0963f1c599e551.js","9611","static/chunks/9611-58129a2e04664187.js","2618","static/chunks/2618-6c84a0c74a2c1547.js","1130","static/chunks/1130-8e58d6f70a0ae076.js","5105","static/chunks/5105-d70ae84ff6510ab1.js","2843","static/chunks/2843-eda3a290faa906b3.js","4042","static/chunks/4042-3025989d114b127a.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","4292","static/chunks/4292-24752ded432749c8.js","1385","static/chunks/1385-7a20fecf18a7fb6a.js","4746","static/chunks/app/(dashboard)/usage/page-e0d45a52d4f486e6.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["usage",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["usage",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","usage","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["usage",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["usage",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","usage","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/usage/index.html b/litellm/proxy/_experimental/out/usage/index.html deleted file mode 100644 index 9684083797..0000000000 --- a/litellm/proxy/_experimental/out/usage/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/model-hub/index.html b/litellm/proxy/_experimental/out/users.html similarity index 59% rename from litellm/proxy/_experimental/out/model-hub/index.html rename to litellm/proxy/_experimental/out/users.html index 2b6d67fe52..72b07126ab 100644 --- a/litellm/proxy/_experimental/out/model-hub/index.html +++ b/litellm/proxy/_experimental/out/users.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/users.txt b/litellm/proxy/_experimental/out/users.txt index dfce52b70c..b10340e61e 100644 --- a/litellm/proxy/_experimental/out/users.txt +++ b/litellm/proxy/_experimental/out/users.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[87654,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","5869","static/chunks/5869-99bf8c2997f4811f.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","4623","static/chunks/4623-3d995c58e378474f.js","1971","static/chunks/1971-e7ecf0afb327457d.js","8049","static/chunks/8049-68c6cf5a8366c026.js","2202","static/chunks/2202-20784db8a5b57c10.js","6653","static/chunks/6653-7001d6e6100af8cb.js","7297","static/chunks/app/(dashboard)/users/page-080f7500175749cb.js"],"default",1] +3:I[87654,["1047","static/chunks/e228588e-635e9029d9d88215.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5869","static/chunks/5869-99bf8c2997f4811f.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","4546","static/chunks/4546-af35d1c0ff12244b.js","5945","static/chunks/5945-8b3b7713d7f416a2.js","7685","static/chunks/7685-6ed8af603a89fd74.js","3911","static/chunks/3911-127a29420f88e64e.js","8049","static/chunks/8049-d0c517a619211cdd.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","6653","static/chunks/6653-bdb4cfe11ecbcb53.js","7297","static/chunks/app/(dashboard)/users/page-a93ecbc03b9176f1.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["users",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["users",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","users","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["users",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["users",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","users","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/users/index.html b/litellm/proxy/_experimental/out/users/index.html deleted file mode 100644 index 1c04f0ef1a..0000000000 --- a/litellm/proxy/_experimental/out/users/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/virtual-keys.html b/litellm/proxy/_experimental/out/virtual-keys.html new file mode 100644 index 0000000000..1a01855c92 --- /dev/null +++ b/litellm/proxy/_experimental/out/virtual-keys.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/virtual-keys.txt b/litellm/proxy/_experimental/out/virtual-keys.txt index 96832e9307..bbf7c84f38 100644 --- a/litellm/proxy/_experimental/out/virtual-keys.txt +++ b/litellm/proxy/_experimental/out/virtual-keys.txt @@ -1,13 +1,13 @@ 2:I[19107,[],"ClientPageRoot"] -3:I[2425,["1047","static/chunks/e228588e-635e9029d9d88215.js","3665","static/chunks/3014691f-ba91873bc8fe3fad.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","3705","static/chunks/3705-124a560b74decaa8.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7996","static/chunks/7996-dc0963f1c599e551.js","4623","static/chunks/4623-3d995c58e378474f.js","1301","static/chunks/1301-1fba10f78d668785.js","8049","static/chunks/8049-68c6cf5a8366c026.js","4679","static/chunks/4679-4c43985697d13814.js","2202","static/chunks/2202-20784db8a5b57c10.js","874","static/chunks/874-6eae1dfb6e9f1d91.js","4292","static/chunks/4292-07a0f7766e802b0b.js","1739","static/chunks/1739-d3bc839f59e07ce9.js","7049","static/chunks/app/(dashboard)/virtual-keys/page-8ad34276345dfe19.js"],"default",1] +3:I[2425,["1047","static/chunks/e228588e-635e9029d9d88215.js","3665","static/chunks/3014691f-ba91873bc8fe3fad.js","9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","337","static/chunks/337-bb33d149e9f461b3.js","8135","static/chunks/8135-881fe2cea0032570.js","1442","static/chunks/1442-024f7e51804e0d7e.js","2926","static/chunks/2926-a9cb83e61fc8ad20.js","2409","static/chunks/2409-e94c05c6f11bb939.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","353","static/chunks/353-e55516ea4730f9d4.js","1994","static/chunks/1994-a4d0b99849c16b62.js","7318","static/chunks/7318-c50027425e9c9b90.js","7138","static/chunks/7138-3126ba26398b066c.js","8565","static/chunks/8565-5c05f6bbb9d0662f.js","3709","static/chunks/3709-34dbb332d3a3ac26.js","5319","static/chunks/5319-5b2d4bf2dc450f99.js","5333","static/chunks/5333-e9bc197d1822e3ad.js","525","static/chunks/525-b324fffe907a950d.js","6609","static/chunks/6609-d93906f43161f066.js","1713","static/chunks/1713-ce16d8a0e658a15d.js","7996","static/chunks/7996-dc0963f1c599e551.js","1130","static/chunks/1130-8e58d6f70a0ae076.js","302","static/chunks/302-a78d84f204cc1081.js","8049","static/chunks/8049-d0c517a619211cdd.js","4679","static/chunks/4679-fd1af7414145147b.js","2202","static/chunks/2202-f9c2c9a967498fa2.js","874","static/chunks/874-a93b2e5222569f68.js","4292","static/chunks/4292-24752ded432749c8.js","1739","static/chunks/1739-e00951b4ce375e4e.js","7049","static/chunks/app/(dashboard)/virtual-keys/page-cc6fa8f5ff035516.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","3705","static/chunks/3705-124a560b74decaa8.js","7140","static/chunks/7140-937050711ba264d3.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-68c6cf5a8366c026.js","5642","static/chunks/app/(dashboard)/layout-8d964a19a09e0a42.js"],"default",1] +6:I[53104,["9028","static/chunks/9028-2bfc9f09930a0d61.js","9409","static/chunks/9409-6eefc92a7f8433ff.js","4865","static/chunks/4865-c1c0885a93c327fa.js","3367","static/chunks/3367-33bb84b3d3d247b2.js","7138","static/chunks/7138-3126ba26398b066c.js","9165","static/chunks/9165-82d12d1c73da639d.js","7941","static/chunks/7941-c02dc43abfb07ee7.js","8049","static/chunks/8049-d0c517a619211cdd.js","5642","static/chunks/app/(dashboard)/layout-e5a2b2018efdcf23.js"],"default",1] 7:{} 8:{"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"} 9:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} a:{"display":"inline-block"} b:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} -0:["qCeWtTTvIQuU871jPeeNA",[[["",{"children":["(dashboard)",{"children":["virtual-keys",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["virtual-keys",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","virtual-keys","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/fb4a023a73ee997b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] +0:["BMqdCjUaq8FHE7G2pguZS",[[["",{"children":["(dashboard)",{"children":["virtual-keys",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(dashboard)",{"children":["virtual-keys",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","virtual-keys","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","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":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/349654da14372cd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/599256680493765e.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1c856b","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":"$8","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":"$9","children":"404"}],["$","div",null,{"style":"$a","children":["$","h2",null,{"style":"$b","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$Lc",null]]]] c:[["$","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/virtual-keys/index.html b/litellm/proxy/_experimental/out/virtual-keys/index.html deleted file mode 100644 index fc08a29628..0000000000 --- a/litellm/proxy/_experimental/out/virtual-keys/index.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/auth/auth_exception_handler.py b/litellm/proxy/auth/auth_exception_handler.py index 2b9c4cdce6..9c306acd2c 100644 --- a/litellm/proxy/auth/auth_exception_handler.py +++ b/litellm/proxy/auth/auth_exception_handler.py @@ -2,7 +2,6 @@ Handles Authentication Errors """ -import asyncio from typing import TYPE_CHECKING, Any, Optional, Union from fastapi import HTTPException, Request, status @@ -90,15 +89,17 @@ class UserAPIKeyAuthExceptionHandler: api_key=api_key, request_route=route, ) - asyncio.create_task( - proxy_logging_obj.post_call_failure_hook( - request_data=request_data, - original_exception=e, - user_api_key_dict=user_api_key_dict, - error_type=ProxyErrorTypes.auth_error, - route=route, - ) + # Allow callbacks to transform the error response + transformed_exception = await proxy_logging_obj.post_call_failure_hook( + request_data=request_data, + original_exception=e, + user_api_key_dict=user_api_key_dict, + error_type=ProxyErrorTypes.auth_error, + route=route, ) + # Use transformed exception if callback returned one, otherwise use original + if transformed_exception is not None: + e = transformed_exception if isinstance(e, litellm.BudgetExceededError): raise ProxyException( diff --git a/litellm/proxy/common_request_processing.py b/litellm/proxy/common_request_processing.py index f798d218f1..302dd5639e 100644 --- a/litellm/proxy/common_request_processing.py +++ b/litellm/proxy/common_request_processing.py @@ -786,11 +786,15 @@ class ProxyBaseLLMRequestProcessing: verbose_proxy_logger.exception( f"litellm.proxy.proxy_server._handle_llm_api_exception(): Exception occured - {str(e)}" ) - await proxy_logging_obj.post_call_failure_hook( + # Allow callbacks to transform the error response + transformed_exception = await proxy_logging_obj.post_call_failure_hook( user_api_key_dict=user_api_key_dict, original_exception=e, request_data=self.data, ) + # Use transformed exception if callback returned one, otherwise use original + if transformed_exception is not None: + e = transformed_exception litellm_debug_info = getattr(e, "litellm_debug_info", "") verbose_proxy_logger.debug( "\033[1;31mAn error occurred: %s %s\n\n Debug this by setting `--debug`, e.g. `litellm --model gpt-3.5-turbo --debug`", @@ -970,11 +974,15 @@ class ProxyBaseLLMRequestProcessing: str(e) ) ) - await proxy_logging_obj.post_call_failure_hook( + # Allow callbacks to transform the error response + transformed_exception = await proxy_logging_obj.post_call_failure_hook( user_api_key_dict=user_api_key_dict, original_exception=e, request_data=request_data, ) + # Use transformed exception if callback returned one, otherwise use original + if transformed_exception is not None: + e = transformed_exception verbose_proxy_logger.debug( f"\033[1;31mAn error occurred: {e}\n\n Debug this by setting `--debug`, e.g. `litellm --model gpt-3.5-turbo --debug`" ) diff --git a/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/content_filter.py b/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/content_filter.py index 83eb57158d..a04e438f48 100644 --- a/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/content_filter.py +++ b/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/content_filter.py @@ -8,6 +8,7 @@ to detect and block/mask sensitive content. import asyncio import os import re +from datetime import datetime from typing import ( TYPE_CHECKING, Any, @@ -33,7 +34,8 @@ from litellm.types.utils import ModelResponseStream if TYPE_CHECKING: from litellm.litellm_core_utils.litellm_logging import Logging as LiteLLMLoggingObj - from litellm.types.utils import GenericGuardrailAPIInputs + from litellm.types.utils import GenericGuardrailAPIInputs, GuardrailStatus + from litellm.types.guardrails import ( BlockedWord, ContentFilterAction, @@ -42,8 +44,13 @@ from litellm.types.guardrails import ( Mode, ) from litellm.types.proxy.guardrails.guardrail_hooks.litellm_content_filter import ( + BlockedWordDetection, + CategoryKeywordDetection, ContentFilterCategoryConfig, + ContentFilterDetection, + PatternDetection, ) + from .patterns import get_compiled_pattern @@ -508,7 +515,9 @@ class ContentFilterGuardrail(CustomGuardrail): return (keyword, action, description) return None - def _filter_single_text(self, text: str) -> str: + def _filter_single_text( + self, text: str, detections: Optional[List[ContentFilterDetection]] = None + ) -> str: """ Apply all content filtering checks to a single text. @@ -519,6 +528,7 @@ class ContentFilterGuardrail(CustomGuardrail): Args: text: Text to filter + detections: Optional list to append detection information Returns: Filtered text (with masking applied if action is MASK) @@ -535,6 +545,15 @@ class ContentFilterGuardrail(CustomGuardrail): category_keyword_match = self._check_category_keywords(text, all_exceptions) if category_keyword_match: keyword, category_name, severity, action = category_keyword_match + if detections is not None: + category_detection: CategoryKeywordDetection = { + "type": "category_keyword", + "category": category_name, + "keyword": keyword, + "severity": severity, + "action": action.value, + } + detections.append(category_detection) if action == ContentFilterAction.BLOCK: error_msg = ( f"Content blocked: {category_name} category keyword '{keyword}' detected " @@ -568,6 +587,15 @@ class ContentFilterGuardrail(CustomGuardrail): if not match: continue + if detections is not None: + # Don't log matched_text to avoid exposing sensitive content (emails, credit cards, etc.) + pattern_detection: PatternDetection = { + "type": "pattern", + "pattern_name": pattern_name, + "action": action.value, + } + detections.append(pattern_detection) + if action == ContentFilterAction.BLOCK: error_msg = f"Content blocked: {pattern_name} pattern detected" verbose_proxy_logger.warning(error_msg) @@ -596,6 +624,15 @@ class ContentFilterGuardrail(CustomGuardrail): f"Blocked word '{keyword}' found with action {action}" ) + if detections is not None: + blocked_word_detection: BlockedWordDetection = { + "type": "blocked_word", + "keyword": keyword, + "action": action.value, + "description": description, + } + detections.append(blocked_word_detection) + if action == ContentFilterAction.BLOCK: error_msg = f"Content blocked: keyword '{keyword}' detected" if description: @@ -639,6 +676,143 @@ class ContentFilterGuardrail(CustomGuardrail): ) return redaction_tag + async def _process_images( + self, images: List[str], detections: List[ContentFilterDetection] + ) -> None: + """ + Process images by describing them and applying content filtering. + + Args: + images: List of image URLs + detections: List to append detection information + """ + if not (images and self.image_model and self.llm_router): + return + + tasks = [] + for image in images: + task = self.llm_router.acompletion( + model=self.image_model, + messages=[ + { + "role": "system", + "content": "Describe the image in detail.", + }, + { + "role": "user", + "content": [ + {"type": "image_url", "image_url": {"url": image}}, + ], + }, + ], + stream=False, + ) + tasks.append(task) + + responses = await asyncio.gather(*tasks) + descriptions = [] + for response in responses: + choice = response.choices[0] + message = getattr(choice, "message", None) + if message and getattr(message, "content", None): + image_description = message.content + verbose_proxy_logger.debug(f"Image description: {image_description}") + descriptions.append(image_description) + else: + verbose_proxy_logger.warning("No image description found") + + # Apply content filtering to image descriptions + verbose_proxy_logger.debug( + f"ContentFilterGuardrail: Applying guardrail to {len(descriptions)} image description(s)" + ) + for description in descriptions: + # This will raise HTTPException if BLOCK action is triggered + try: + self._filter_single_text(description, detections=detections) + except HTTPException as e: + # e.detail can be a string or dict + if isinstance(e.detail, dict) and "error" in e.detail: + detail_dict = cast(Dict[str, Any], e.detail) + detail_dict["error"] = ( + detail_dict["error"] + " (Image description): " + description + ) + elif isinstance(e.detail, str): + e.detail = e.detail + " (Image description): " + description + else: + e.detail = "Content blocked: Image description detected" + description + raise e + + def _count_masked_entities( + self, detections: List[ContentFilterDetection], masked_entity_count: Dict[str, int] + ) -> None: + """ + Count masked entities by type from detections. + + Args: + detections: List of detection dictionaries + masked_entity_count: Dictionary to update with counts + """ + for detection in detections: + if detection["action"] == ContentFilterAction.MASK.value: + detection_type = detection["type"] + if detection_type == "pattern": + pattern_detection = cast(PatternDetection, detection) + pattern_name = pattern_detection["pattern_name"] + masked_entity_count[pattern_name] = ( + masked_entity_count.get(pattern_name, 0) + 1 + ) + elif detection_type == "blocked_word": + entity_type = "blocked_word" + masked_entity_count[entity_type] = ( + masked_entity_count.get(entity_type, 0) + 1 + ) + elif detection_type == "category_keyword": + category_detection = cast(CategoryKeywordDetection, detection) + category = category_detection["category"] + masked_entity_count[category] = ( + masked_entity_count.get(category, 0) + 1 + ) + + def _log_guardrail_information( + self, + request_data: dict, + detections: List[ContentFilterDetection], + status: "GuardrailStatus", + start_time: datetime, + masked_entity_count: Dict[str, int], + exception_str: str, + ) -> None: + """ + Log guardrail information to request_data metadata. + + Args: + request_data: Request data dictionary + detections: List of detection dictionaries + status: Guardrail status + start_time: Start time of guardrail execution + masked_entity_count: Count of masked entities by type + exception_str: Exception string if guardrail failed + """ + # Convert TypedDict detections to regular dicts for JSON serialization + guardrail_json_response: Union[Exception, str, dict, List[dict]] = [ + dict(detection) for detection in detections + ] + if status != "success": + guardrail_json_response = exception_str if exception_str else [ + dict(detection) for detection in detections + ] + + self.add_standard_logging_guardrail_information_to_request_data( + guardrail_provider=self.guardrail_provider, + guardrail_json_response=guardrail_json_response, + request_data=request_data, + guardrail_status=status, + start_time=start_time.timestamp(), + end_time=datetime.now().timestamp(), + duration=(datetime.now() - start_time).total_seconds(), + masked_entity_count=masked_entity_count, + ) + async def apply_guardrail( self, inputs: "GenericGuardrailAPIInputs", @@ -664,81 +838,57 @@ class ContentFilterGuardrail(CustomGuardrail): Raises: HTTPException: If sensitive content is detected and action is BLOCK """ - texts = inputs.get("texts", []) - images = inputs.get("images", []) - if images and self.image_model and self.llm_router: - tasks = [] - for image in images: - task = self.llm_router.acompletion( - model=self.image_model, - messages=[ - { - "role": "system", - "content": "Describe the image in detail.", - }, - { - "role": "user", - "content": [ - {"type": "image_url", "image_url": {"url": image}}, - ], - }, - ], - stream=False, - ) - tasks.append(task) + from litellm.types.utils import GuardrailStatus - responses = await asyncio.gather(*tasks) - descriptions = [] - for response in responses: - choice = response.choices[0] - message = getattr(choice, "message", None) - if message and getattr(message, "content", None): - image_description = message.content - verbose_proxy_logger.debug( - f"Image description: {image_description}" - ) - descriptions.append(image_description) - else: - verbose_proxy_logger.warning("No image description found") + start_time = datetime.now() + detections: List[ContentFilterDetection] = [] + masked_entity_count: Dict[str, int] = {} + status: GuardrailStatus = "success" + exception_str: str = "" - # Apply content filtering to image descriptions + try: + texts = inputs.get("texts", []) + images = inputs.get("images", []) + + # Process images if present + await self._process_images(images, detections) + + # Process texts verbose_proxy_logger.debug( - f"ContentFilterGuardrail: Applying guardrail to {len(descriptions)} image description(s)" + f"ContentFilterGuardrail: Applying guardrail to {len(texts)} text(s)" ) - for description in descriptions: - # This will raise HTTPException if BLOCK action is triggered - try: - self._filter_single_text(description) - except HTTPException as e: - # e.detail can be a string or dict - if isinstance(e.detail, dict) and "error" in e.detail: - detail_dict = cast(Dict[str, Any], e.detail) - detail_dict["error"] = ( - detail_dict["error"] - + " (Image description): " - + description - ) - elif isinstance(e.detail, str): - e.detail = e.detail + " (Image description): " + description - else: - e.detail = ( - "Content blocked: Image description detected" + description - ) - raise e - verbose_proxy_logger.debug( - f"ContentFilterGuardrail: Applying guardrail to {len(texts)} text(s)" - ) - processed_texts = [] - for text in texts: - filtered_text = self._filter_single_text(text) - processed_texts.append(filtered_text) + processed_texts = [] + for text in texts: + filtered_text = self._filter_single_text(text, detections=detections) + processed_texts.append(filtered_text) - verbose_proxy_logger.debug( - "ContentFilterGuardrail: Guardrail applied successfully" - ) - inputs["texts"] = processed_texts - return inputs + verbose_proxy_logger.debug( + "ContentFilterGuardrail: Guardrail applied successfully" + ) + inputs["texts"] = processed_texts + + # Count masked entities by type + self._count_masked_entities(detections, masked_entity_count) + + return inputs + except HTTPException: + status = "guardrail_intervened" + raise + except Exception as e: + status = "guardrail_failed_to_respond" + exception_str = str(e) + raise e + finally: + # Log guardrail information + self._log_guardrail_information( + request_data=request_data, + detections=detections, + status=status, + start_time=start_time, + masked_entity_count=masked_entity_count, + exception_str=exception_str, + ) async def async_post_call_streaming_iterator_hook( self, diff --git a/litellm/proxy/management_endpoints/key_management_endpoints.py b/litellm/proxy/management_endpoints/key_management_endpoints.py index cc2ac90814..249d756d8c 100644 --- a/litellm/proxy/management_endpoints/key_management_endpoints.py +++ b/litellm/proxy/management_endpoints/key_management_endpoints.py @@ -1917,14 +1917,14 @@ async def info_key_fn( Example Curl: ``` - curl -X GET "http://0.0.0.0:4000/key/info?key=sk-test-example-key-123" \ + curl -X GET "http://0.0.0.0:4000/key/info?key=sk-02Wr4IAlN3NvPXvL5JVvDA" \ -H "Authorization: Bearer sk-1234" ``` Example Curl - if no key is passed, it will use the Key Passed in Authorization Header ``` curl -X GET "http://0.0.0.0:4000/key/info" \ --H "Authorization: Bearer sk-test-example-key-123" +-H "Authorization: Bearer sk-02Wr4IAlN3NvPXvL5JVvDA" ``` """ from litellm.proxy.proxy_server import prisma_client diff --git a/litellm/proxy/management_endpoints/ui_sso.py b/litellm/proxy/management_endpoints/ui_sso.py index d4dfd86744..dc976e1ce6 100644 --- a/litellm/proxy/management_endpoints/ui_sso.py +++ b/litellm/proxy/management_endpoints/ui_sso.py @@ -85,6 +85,58 @@ else: router = APIRouter() +def determine_role_from_groups( + user_groups: List[str], + role_mappings: "RoleMappings", +) -> Optional[LitellmUserRoles]: + """ + Determine the highest privilege role for a user based on their groups. + + Role hierarchy (highest to lowest): + - proxy_admin + - proxy_admin_viewer + - internal_user + - internal_user_viewer + + Args: + user_groups: List of group names from the SSO token + role_mappings: RoleMappings configuration object + + Returns: + The highest privilege role found, or default_role if no matches, or None + """ + if not role_mappings.roles: + # No role mappings configured, return default_role + return role_mappings.default_role + + # Role hierarchy (highest to lowest) + role_hierarchy = [ + LitellmUserRoles.PROXY_ADMIN, + LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY, + LitellmUserRoles.INTERNAL_USER, + LitellmUserRoles.INTERNAL_USER_VIEW_ONLY, + ] + + # Convert user_groups to a set for efficient lookup + user_groups_set = set(user_groups) if isinstance(user_groups, list) else set() + + # Find the highest privilege role the user belongs to + for role in role_hierarchy: + if role in role_mappings.roles: + role_groups = role_mappings.roles[role] + if isinstance(role_groups, list) and user_groups_set.intersection(set(role_groups)): + verbose_proxy_logger.debug( + f"User groups {user_groups} matched role '{role.value}' via groups: {role_groups}" + ) + return role + + # No matching groups found, return default_role + verbose_proxy_logger.debug( + f"User groups {user_groups} did not match any role mappings, using default_role: {role_mappings.default_role}" + ) + return role_mappings.default_role + + def process_sso_jwt_access_token( access_token_str: Optional[str], sso_jwt_handler: Optional[JWTHandler], @@ -243,6 +295,7 @@ def generic_response_convertor( response, jwt_handler: JWTHandler, sso_jwt_handler: Optional[JWTHandler] = None, + role_mappings: Optional["RoleMappings"] = None, ) -> CustomOpenID: generic_user_id_attribute_name = os.getenv( "GENERIC_USER_ID_ATTRIBUTE", "preferred_username" @@ -281,16 +334,48 @@ def generic_response_convertor( team_ids = jwt_handler.get_team_ids_from_jwt(cast(dict, response)) all_teams.extend(team_ids) - # Extract user role from SSO response - user_role_from_sso = get_nested_value(response, generic_user_role_attribute_name) + # Determine user role based on role_mappings if available + # Only apply role_mappings for GENERIC SSO provider user_role: Optional[LitellmUserRoles] = None - if user_role_from_sso is not None: - role = get_litellm_user_role(user_role_from_sso) - if role is not None: - user_role = role + + if role_mappings is not None and role_mappings.provider.lower() in ["generic", "okta"]: + # Use role_mappings to determine role from groups + group_claim = role_mappings.group_claim + user_groups_raw = get_nested_value(response, group_claim) + + # Handle different formats: could be a list, string (comma-separated), or single value + user_groups: List[str] = [] + if isinstance(user_groups_raw, list): + user_groups = [str(g) for g in user_groups_raw] + elif isinstance(user_groups_raw, str): + # Handle comma-separated string + user_groups = [g.strip() for g in user_groups_raw.split(",") if g.strip()] + elif user_groups_raw is not None: + # Single value + user_groups = [str(user_groups_raw)] + + if user_groups: + user_role = determine_role_from_groups(user_groups, role_mappings) verbose_proxy_logger.debug( - f"Found valid LitellmUserRoles '{role.value}' from SSO attribute '{generic_user_role_attribute_name}'" + f"Determined role '{user_role.value if user_role else None}' from groups '{user_groups}' using role_mappings" ) + else: + # No groups found, use default_role + user_role = role_mappings.default_role + verbose_proxy_logger.debug( + f"No groups found in '{group_claim}', using default_role: {role_mappings.default_role}" + ) + + # Fallback to existing logic if role_mappings not used + if user_role is None: + user_role_from_sso = get_nested_value(response, generic_user_role_attribute_name) + if user_role_from_sso is not None: + role = get_litellm_user_role(user_role_from_sso) + if role is not None: + user_role = role + verbose_proxy_logger.debug( + f"Found valid LitellmUserRoles '{role.value}' from SSO attribute '{generic_user_role_attribute_name}'" + ) return CustomOpenID( id=get_nested_value(response, generic_user_id_attribute_name), @@ -306,20 +391,8 @@ def generic_response_convertor( ) -async def get_generic_sso_response( - request: Request, - jwt_handler: JWTHandler, - sso_jwt_handler: Optional[ - JWTHandler - ], # sso specific jwt handler - used for restricted sso group access control - generic_client_id: str, - redirect_url: str, -) -> Tuple[Union[OpenID, dict], Optional[dict]]: # return received response - # make generic sso provider - from fastapi_sso.sso.base import DiscoveryDocument - from fastapi_sso.sso.generic import create_provider - - received_response: Optional[dict] = None +def _setup_generic_sso_env_vars(generic_client_id: str, redirect_url: str) -> Tuple[str, List[str], str, str, str, bool]: + """Setup and validate Generic SSO environment variables.""" generic_client_secret = os.getenv("GENERIC_CLIENT_SECRET", None) generic_scope = os.getenv("GENERIC_SCOPE", "openid email profile").split(" ") generic_authorization_endpoint = os.getenv("GENERIC_AUTHORIZATION_ENDPOINT", None) @@ -328,6 +401,8 @@ async def get_generic_sso_response( generic_include_client_id = ( os.getenv("GENERIC_INCLUDE_CLIENT_ID", "false").lower() == "true" ) + + # Validate required environment variables if generic_client_secret is None: raise ProxyException( message="GENERIC_CLIENT_SECRET not set. Set it in .env file", @@ -356,6 +431,7 @@ async def get_generic_sso_response( param="GENERIC_USERINFO_ENDPOINT", code=status.HTTP_500_INTERNAL_SERVER_ERROR, ) + verbose_proxy_logger.debug( f"authorization_endpoint: {generic_authorization_endpoint}\ntoken_endpoint: {generic_token_endpoint}\nuserinfo_endpoint: {generic_userinfo_endpoint}" ) @@ -363,12 +439,89 @@ async def get_generic_sso_response( f"GENERIC_REDIRECT_URI: {redirect_url}\nGENERIC_CLIENT_ID: {generic_client_id}\n" ) + return ( + generic_client_secret, + generic_scope, + generic_authorization_endpoint, + generic_token_endpoint, + generic_userinfo_endpoint, + generic_include_client_id, + ) + + +async def _setup_role_mappings() -> Optional["RoleMappings"]: + """Setup role mappings from SSO database settings.""" + role_mappings: Optional["RoleMappings"] = None + try: + from litellm.proxy.utils import get_prisma_client_or_throw + + prisma_client = get_prisma_client_or_throw( + "Prisma client is None, connect a database to your proxy" + ) + + # Get SSO config from dedicated table + sso_db_record = await prisma_client.db.litellm_ssoconfig.find_unique( + where={"id": "sso_config"} + ) + + if sso_db_record and sso_db_record.sso_settings: + sso_settings_dict = dict(sso_db_record.sso_settings) + role_mappings_data = sso_settings_dict.get("role_mappings") + + if role_mappings_data: + from litellm.types.proxy.management_endpoints.ui_sso import RoleMappings + if isinstance(role_mappings_data, dict): + role_mappings = RoleMappings(**role_mappings_data) + elif isinstance(role_mappings_data, RoleMappings): + role_mappings = role_mappings_data + + if role_mappings: + verbose_proxy_logger.debug( + f"Loaded role_mappings for provider '{role_mappings.provider}'" + ) + except Exception as e: + # If we can't load role_mappings, continue with existing logic + verbose_proxy_logger.debug( + f"Could not load role_mappings from database: {e}. Continuing with existing role logic." + ) + + return role_mappings + + +async def get_generic_sso_response( + request: Request, + jwt_handler: JWTHandler, + sso_jwt_handler: Optional[ + JWTHandler + ], # sso specific jwt handler - used for restricted sso group access control + generic_client_id: str, + redirect_url: str, +) -> Tuple[Union[OpenID, dict], Optional[dict]]: # return received response + # make generic sso provider + from fastapi_sso.sso.base import DiscoveryDocument + from fastapi_sso.sso.generic import create_provider + + received_response: Optional[dict] = None + + # Setup environment variables + ( + generic_client_secret, + generic_scope, + generic_authorization_endpoint, + generic_token_endpoint, + generic_userinfo_endpoint, + generic_include_client_id, + ) = _setup_generic_sso_env_vars(generic_client_id, redirect_url) + discovery = DiscoveryDocument( authorization_endpoint=generic_authorization_endpoint, token_endpoint=generic_token_endpoint, userinfo_endpoint=generic_userinfo_endpoint, ) + # Get role_mappings from SSO settings if available + role_mappings = await _setup_role_mappings() + def response_convertor(response, client): nonlocal received_response # return for user debugging received_response = response @@ -376,6 +529,7 @@ async def get_generic_sso_response( response=response, jwt_handler=jwt_handler, sso_jwt_handler=sso_jwt_handler, + role_mappings=role_mappings, ) SSOProvider = create_provider( @@ -1053,8 +1207,44 @@ async def insert_sso_user( if user_defined_values is None: raise ValueError("user_defined_values is None") + # Check if role_mappings is configured in SSO settings + role_mappings_configured = False + try: + from litellm.proxy.utils import get_prisma_client_or_throw + + prisma_client = get_prisma_client_or_throw( + "Prisma client is None, connect a database to your proxy" + ) + + # Get SSO config from dedicated table + sso_db_record = await prisma_client.db.litellm_ssoconfig.find_unique( + where={"id": "sso_config"} + ) + + if sso_db_record and sso_db_record.sso_settings: + sso_settings_dict = dict(sso_db_record.sso_settings) + role_mappings_data = sso_settings_dict.get("role_mappings") + role_mappings_configured = role_mappings_data is not None + except Exception as e: + # If we can't check role_mappings, continue with existing logic + verbose_proxy_logger.debug( + f"Could not check role_mappings configuration: {e}. Using default behavior." + ) + + # Apply default_internal_user_params if litellm.default_internal_user_params: - user_defined_values.update(litellm.default_internal_user_params) # type: ignore + # If role_mappings is configured and user_role is already set from SSO, preserve it + if role_mappings_configured and user_defined_values.get("user_role") is not None: + # Preserve the SSO-extracted role, but apply other defaults + preserved_role = user_defined_values.get("user_role") + user_defined_values.update(litellm.default_internal_user_params) # type: ignore + user_defined_values["user_role"] = preserved_role # Restore preserved role + verbose_proxy_logger.debug( + f"Preserved SSO-extracted role '{preserved_role}' (role_mappings configured)" + ) + else: + # Default behavior: update all values including role + user_defined_values.update(litellm.default_internal_user_params) # type: ignore # Set budget for internal users if user_defined_values.get("user_role") == LitellmUserRoles.INTERNAL_USER.value: @@ -1777,7 +1967,15 @@ class SSOAuthenticationHandler: ) user_id = getattr(result, "id", None) user_email = getattr(result, "email", None) - user_role = getattr(result, generic_user_role_attribute_name, None) # type: ignore + if user_role is None: + _role_from_attr = getattr(result, generic_user_role_attribute_name, None) # type: ignore + if _role_from_attr is not None: + # Convert enum to string if needed + user_role = ( + _role_from_attr.value + if isinstance(_role_from_attr, LitellmUserRoles) + else _role_from_attr + ) if user_id is None and result is not None: _first_name = getattr(result, "first_name", "") or "" diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 267e0d7742..f754e52796 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -3645,6 +3645,7 @@ class ProxyConfig: ) if sso_settings is not None: # Capitalize all keys in sso_settings dictionary + sso_settings.sso_settings.pop("role_mappings", None) uppercase_sso_settings = { key.upper(): value for key, value in sso_settings.sso_settings.items() diff --git a/litellm/proxy/public_endpoints/provider_create_fields.json b/litellm/proxy/public_endpoints/provider_create_fields.json index 68264a576f..9916bdf692 100644 --- a/litellm/proxy/public_endpoints/provider_create_fields.json +++ b/litellm/proxy/public_endpoints/provider_create_fields.json @@ -812,9 +812,19 @@ }, { "provider": "Databricks", - "provider_display_name": "Databricks (Qwen API)", + "provider_display_name": "Databricks", "litellm_provider": "databricks", "credential_fields": [ + { + "key": "api_base", + "label": "API Base", + "placeholder": null, + "tooltip": null, + "required": false, + "field_type": "text", + "options": null, + "default_value": null + }, { "key": "api_key", "label": "API Key", diff --git a/litellm/proxy/spend_tracking/cloudzero_endpoints.py b/litellm/proxy/spend_tracking/cloudzero_endpoints.py index 2cf4ce8f16..172169f2c7 100644 --- a/litellm/proxy/spend_tracking/cloudzero_endpoints.py +++ b/litellm/proxy/spend_tracking/cloudzero_endpoints.py @@ -69,7 +69,7 @@ async def _get_cloudzero_settings(): Retrieve CloudZero settings from the database with decrypted API key. Returns: - dict: CloudZero settings with decrypted API key + dict: CloudZero settings with decrypted API key, or empty dict if not configured """ from litellm.proxy.proxy_server import prisma_client @@ -82,10 +82,16 @@ async def _get_cloudzero_settings(): cloudzero_config = await prisma_client.db.litellm_config.find_first( where={"param_name": "cloudzero_settings"} ) - if cloudzero_config is None: + if cloudzero_config is None or cloudzero_config.param_value is None: return {} - settings = dict(cloudzero_config.param_value) + # Handle both dict and JSON string cases + if isinstance(cloudzero_config.param_value, dict): + settings = cloudzero_config.param_value + elif isinstance(cloudzero_config.param_value, str): + settings = json.loads(cloudzero_config.param_value) + else: + settings = dict(cloudzero_config.param_value) # Decrypt the API key encrypted_api_key = settings.get("api_key") @@ -119,6 +125,7 @@ async def get_cloudzero_settings( Returns the current CloudZero configuration with the API key masked for security. Only the first 4 and last 4 characters of the API key are shown. + Returns null/empty values when settings are not configured (consistent with other settings endpoints). Only admin users can view CloudZero settings. """ @@ -133,22 +140,27 @@ async def get_cloudzero_settings( # Get CloudZero settings using the accessor method settings = await _get_cloudzero_settings() + # If settings are empty, return null/empty values (consistent with other endpoints) + if not settings: + return CloudZeroSettingsView( + api_key_masked=None, + connection_id=None, + timezone=None, + status=None, + ) + # Use SensitiveDataMasker to mask the API key masked_settings = _sensitive_masker.mask_dict(settings) return CloudZeroSettingsView( - api_key_masked=masked_settings["api_key"], - connection_id=settings["connection_id"], - timezone=settings["timezone"], + api_key_masked=masked_settings.get("api_key"), + connection_id=settings.get("connection_id"), + timezone=settings.get("timezone"), status="configured", ) except HTTPException as e: - if e.status_code == 400: - # Settings not configured - raise HTTPException( - status_code=404, detail={"error": "CloudZero settings not configured"} - ) + # Re-raise HTTPExceptions as-is raise e except Exception as e: verbose_proxy_logger.error(f"Error retrieving CloudZero settings: {str(e)}") diff --git a/litellm/proxy/spend_tracking/spend_management_endpoints.py b/litellm/proxy/spend_tracking/spend_management_endpoints.py index f8ece80707..ca7e327dbd 100644 --- a/litellm/proxy/spend_tracking/spend_management_endpoints.py +++ b/litellm/proxy/spend_tracking/spend_management_endpoints.py @@ -14,15 +14,15 @@ from litellm._logging import verbose_proxy_logger from litellm.proxy._types import * from litellm.proxy._types import ProviderBudgetResponse, ProviderBudgetResponseObject from litellm.proxy.auth.user_api_key_auth import user_api_key_auth +from litellm.proxy.management_endpoints.common_utils import ( + _is_user_team_admin, + _user_has_admin_view, +) from litellm.proxy.spend_tracking.spend_tracking_utils import ( get_spend_by_team_and_customer, ) from litellm.proxy.utils import handle_exception_on_proxy from litellm.router_strategy.budget_limiter import RouterBudgetLimiting -from litellm.proxy.management_endpoints.common_utils import ( - _is_user_team_admin, - _user_has_admin_view, -) if TYPE_CHECKING: from litellm.proxy.proxy_server import PrismaClient @@ -1938,7 +1938,7 @@ async def view_spend_logs( # noqa: PLR0915 Example Request for specific api_key ``` - curl -X GET "http://0.0.0.0:8000/spend/logs?api_key=sk-test-example-key-123" \ + curl -X GET "http://0.0.0.0:8000/spend/logs?api_key=sk-Fn8Ej39NkBQmUagFEoUWPQ" \ -H "Authorization: Bearer sk-1234" ``` diff --git a/litellm/proxy/ui_crud_endpoints/proxy_setting_endpoints.py b/litellm/proxy/ui_crud_endpoints/proxy_setting_endpoints.py index 9c99b625e9..d9a41d38b2 100644 --- a/litellm/proxy/ui_crud_endpoints/proxy_setting_endpoints.py +++ b/litellm/proxy/ui_crud_endpoints/proxy_setting_endpoints.py @@ -433,10 +433,21 @@ async def get_sso_settings(): if sso_db_record and sso_db_record.sso_settings: # Load settings from database sso_settings_dict = dict(sso_db_record.sso_settings) + + # Extract role_mappings before removing it (it's a dict, not an env variable) + role_mappings_data = sso_settings_dict.pop("role_mappings", None) + role_mappings = None + if role_mappings_data: + from litellm.types.proxy.management_endpoints.ui_sso import RoleMappings + if isinstance(role_mappings_data, dict): + role_mappings = RoleMappings(**role_mappings_data) + elif isinstance(role_mappings_data, RoleMappings): + role_mappings = role_mappings_data decrypted_sso_settings_dict = proxy_config._decrypt_and_set_db_env_variables(environment_variables=sso_settings_dict) # Build SSO config with database values or environment fallback + sso_config = SSOConfig( google_client_id=decrypted_sso_settings_dict.get("google_client_id", None), google_client_secret=decrypted_sso_settings_dict.get("google_client_secret", None), @@ -451,6 +462,7 @@ async def get_sso_settings(): proxy_base_url=decrypted_sso_settings_dict.get("proxy_base_url", None), user_email=decrypted_sso_settings_dict.get("user_email"), ui_access_mode=decrypted_sso_settings_dict.get("ui_access_mode"), + role_mappings=role_mappings, ) # Get the schema for UI display diff --git a/litellm/proxy/utils.py b/litellm/proxy/utils.py index ec86139c73..d595db4a2e 100644 --- a/litellm/proxy/utils.py +++ b/litellm/proxy/utils.py @@ -1465,9 +1465,10 @@ class ProxyLogging: error_type: Optional[ProxyErrorTypes] = None, route: Optional[str] = None, traceback_str: Optional[str] = None, - ): + ) -> Optional[HTTPException]: """ Allows users to raise custom exceptions/log when a call fails, without having to deal with parsing Request body. + Callbacks can return or raise HTTPException to transform error responses sent to clients. Covers: 1. /chat/completions @@ -1481,6 +1482,10 @@ class ProxyLogging: - error_type: Optional[ProxyErrorTypes] - The error type. - route: Optional[str] - The route. - traceback_str: Optional[str] - The traceback string, sometimes upstream endpoints might need to send the upstream traceback. In which case we use this + + Returns: + - Optional[HTTPException]: If any callback returns or raises an HTTPException, the first one found is returned. + Otherwise, returns None and the original exception is used. """ ### ALERTING ### @@ -1522,6 +1527,9 @@ class ProxyLogging: original_exception=original_exception, ) + # Track the first HTTPException returned or raised by any callback + transformed_exception: Optional[HTTPException] = None + for callback in litellm.callbacks: try: _callback: Optional[CustomLogger] = None @@ -1532,19 +1540,31 @@ class ProxyLogging: else: _callback = callback # type: ignore if _callback is not None and isinstance(_callback, CustomLogger): - asyncio.create_task( - _callback.async_post_call_failure_hook( + try: + hook_result = await _callback.async_post_call_failure_hook( request_data=request_data, user_api_key_dict=user_api_key_dict, original_exception=original_exception, traceback_str=traceback_str, ) - ) + # If callback returned an HTTPException, use it (first one wins) + if isinstance(hook_result, HTTPException) and transformed_exception is None: + transformed_exception = hook_result + except HTTPException as e: + # If callback raised an HTTPException, use it (first one wins) + if transformed_exception is None: + transformed_exception = e + except Exception as e: + # Log non-HTTPException errors from callbacks but don't break the flow + verbose_proxy_logger.exception( + f"[Non-Blocking] Error in async_post_call_failure_hook callback: {e}" + ) except Exception as e: verbose_proxy_logger.exception( - f"[Non-Blocking] Error in post_call_failure_hook: {e}" + f"[Non-Blocking] Error setting up post_call_failure_hook callback: {e}" ) - return + + return transformed_exception def _is_proxy_only_llm_api_error( self, diff --git a/litellm/rag/main.py b/litellm/rag/main.py index b8461a8daa..0ccbb435e5 100644 --- a/litellm/rag/main.py +++ b/litellm/rag/main.py @@ -35,8 +35,6 @@ from litellm.rag.rag_query import RAGQuery from litellm.types.rag import ( RAGIngestOptions, RAGIngestResponse, - RAGQueryRequest, - RAGQueryResponse, ) from litellm.types.utils import ModelResponse from litellm.utils import client diff --git a/litellm/rag/rag_query.py b/litellm/rag/rag_query.py index 53cc6d0089..bf346efb3f 100644 --- a/litellm/rag/rag_query.py +++ b/litellm/rag/rag_query.py @@ -1,12 +1,10 @@ -from typing import Any, Dict, List, Optional, Union, cast +from typing import Any, Dict, List, Optional, Union -import litellm from litellm.types.llms.openai import AllMessageValues, ChatCompletionUserMessage from litellm.types.utils import ModelResponse from litellm.types.vector_stores import ( VectorStoreResultContent, VectorStoreSearchResponse, - VectorStoreSearchResult, ) diff --git a/litellm/responses/litellm_completion_transformation/transformation.py b/litellm/responses/litellm_completion_transformation/transformation.py index af0847e3e2..ad910c9cd9 100644 --- a/litellm/responses/litellm_completion_transformation/transformation.py +++ b/litellm/responses/litellm_completion_transformation/transformation.py @@ -321,7 +321,22 @@ class LiteLLMCompletionResponsesConfig: # If we had session messages but they got filtered out, # restore them combined_messages = session_messages - # If both are empty, we'll let it fail with a proper error message + else: + # Both are empty - this likely means function_call_output had empty/invalid call_id + # Provide a helpful error message + import litellm + raise litellm.BadRequestError( + message=( + f"Unable to create messages for completion request. " + f"This can happen when: " + f"1) Using previous_response_id without a session database, AND " + f"2) Input contains only function_call_output with empty or invalid call_id. " + f"Please ensure function_call_output has a valid call_id from a previous response. " + f"Original request: previous_response_id={previous_response_id}" + ), + model=litellm_completion_request.get("model", ""), + llm_provider=litellm_completion_request.get("custom_llm_provider", ""), + ) litellm_completion_request["messages"] = combined_messages litellm_completion_request["litellm_trace_id"] = chat_completion_session.get( diff --git a/litellm/types/integrations/datadog.py b/litellm/types/integrations/datadog.py index b741184394..89faac2783 100644 --- a/litellm/types/integrations/datadog.py +++ b/litellm/types/integrations/datadog.py @@ -1,7 +1,7 @@ from enum import Enum from typing import Optional -from typing_extensions import TypedDict +from typing_extensions import NotRequired, TypedDict from litellm.types.integrations.custom_logger import StandardCustomLoggerInitParams @@ -14,13 +14,20 @@ class DataDogStatus(str, Enum): ERROR = "error" -class DatadogPayload(TypedDict, total=False): - ddsource: str - ddtags: str - hostname: str - message: str - service: str - status: str +DatadogPayload = TypedDict( + "DatadogPayload", + { + "ddsource": str, + "ddtags": str, + "hostname": str, + "message": str, + "service": str, + "status": str, + "dd.trace_id": NotRequired[str], + "dd.span_id": NotRequired[str], + }, + total=False, +) class DD_ERRORS(Enum): diff --git a/litellm/types/proxy/cloudzero_endpoints.py b/litellm/types/proxy/cloudzero_endpoints.py index 1d909bf7f8..fc48717e80 100644 --- a/litellm/types/proxy/cloudzero_endpoints.py +++ b/litellm/types/proxy/cloudzero_endpoints.py @@ -45,10 +45,10 @@ class CloudZeroExportResponse(BaseModel): class CloudZeroSettingsView(BaseModel): """Response model for viewing CloudZero settings with masked API key""" - api_key_masked: str = Field(..., description="Masked API key showing only first 4 and last 4 characters") - connection_id: str = Field(..., description="CloudZero connection ID for data submission") - timezone: str = Field(..., description="Timezone for date handling") - status: str = Field(..., description="Configuration status") + api_key_masked: Optional[str] = Field(None, description="Masked API key showing only first 4 and last 4 characters") + connection_id: Optional[str] = Field(None, description="CloudZero connection ID for data submission") + timezone: Optional[str] = Field(None, description="Timezone for date handling") + status: Optional[str] = Field(None, description="Configuration status") class CloudZeroSettingsUpdate(BaseModel): diff --git a/litellm/types/proxy/guardrails/guardrail_hooks/litellm_content_filter.py b/litellm/types/proxy/guardrails/guardrail_hooks/litellm_content_filter.py index b5e36334ed..686f30f3b5 100644 --- a/litellm/types/proxy/guardrails/guardrail_hooks/litellm_content_filter.py +++ b/litellm/types/proxy/guardrails/guardrail_hooks/litellm_content_filter.py @@ -1,4 +1,5 @@ -from typing import List, Literal, Optional +from enum import Enum +from typing import List, Literal, Optional, TypedDict, Union from pydantic import Field @@ -6,6 +7,39 @@ from litellm.types.llms.base import BaseLiteLLMOpenAIResponseObject from litellm.types.proxy.guardrails.guardrail_hooks.base import GuardrailConfigModel +# Detection type enum +class DetectionType(str, Enum): + PATTERN = "pattern" + BLOCKED_WORD = "blocked_word" + CATEGORY_KEYWORD = "category_keyword" + + +# Typed detection dictionaries +class PatternDetection(TypedDict): + type: Literal["pattern"] + pattern_name: str + # Note: matched_text is intentionally excluded to avoid logging sensitive content + action: str # ContentFilterAction.value + + +class BlockedWordDetection(TypedDict): + type: Literal["blocked_word"] + keyword: str + action: str # ContentFilterAction.value + description: Optional[str] + + +class CategoryKeywordDetection(TypedDict): + type: Literal["category_keyword"] + category: str + keyword: str + severity: str + action: str # ContentFilterAction.value + + +ContentFilterDetection = Union[PatternDetection, BlockedWordDetection, CategoryKeywordDetection] + + class ContentFilterCategoryConfig(BaseLiteLLMOpenAIResponseObject): """ category: "harmful_self_harm" diff --git a/litellm/types/proxy/management_endpoints/ui_sso.py b/litellm/types/proxy/management_endpoints/ui_sso.py index 820b016440..187d8c97c0 100644 --- a/litellm/types/proxy/management_endpoints/ui_sso.py +++ b/litellm/types/proxy/management_endpoints/ui_sso.py @@ -1,10 +1,12 @@ -from typing import List, Literal, Optional, Union +from typing import Dict, List, Literal, Optional, Union from pydantic import Field from typing_extensions import TypedDict from litellm.types.utils import LiteLLMPydanticObjectBase +from litellm.proxy._types import LitellmUserRoles + class LiteLLM_UpperboundKeyGenerateParams(LiteLLMPydanticObjectBase): """ @@ -60,6 +62,30 @@ class AccessControl_UI_AccessMode(LiteLLMPydanticObjectBase): sso_group_jwt_field: str +class RoleMappings(LiteLLMPydanticObjectBase): + """ + Configuration for mapping SSO groups to LiteLLM roles. + + The system will look at the group_claim field in the SSO token to determine + which role to assign the user based on the roles mapping. + """ + + provider: str = Field( + description="SSO Provider name (e.g., 'google', 'microsoft', 'generic')" + ) + group_claim: str = Field( + description="The field name in the SSO token that contains the groups array (e.g., 'groups', 'roles')" + ) + default_role: Optional[LitellmUserRoles] = Field( + default=None, + description="Default role to assign if user's groups don't match any role mappings. Must be a valid LitellmUserRoles value (e.g., 'proxy_admin', 'internal_user', 'proxy_admin_viewer')" + ) + roles: Dict[LitellmUserRoles, List[str]] = Field( + default_factory=dict, + description="Mapping of LiteLLM role names to arrays of SSO group names. Example: {'proxy_admin': ['group-1', 'group-2'], 'proxy_admin_viewer': ['group-3']}" + ) + + class SSOConfig(LiteLLMPydanticObjectBase): """ Configuration for SSO environment variables and settings @@ -127,6 +153,12 @@ class SSOConfig(LiteLLMPydanticObjectBase): description="Access mode for the UI", ) + # Role Mappings + role_mappings: Optional[RoleMappings] = Field( + default=None, + description="Configuration for mapping SSO groups to LiteLLM roles based on group claims in the SSO token", + ) + class DefaultTeamSSOParams(LiteLLMPydanticObjectBase): """ diff --git a/litellm/types/utils.py b/litellm/types/utils.py index f71ce06bcb..3416459bc2 100644 --- a/litellm/types/utils.py +++ b/litellm/types/utils.py @@ -2852,6 +2852,7 @@ all_litellm_params = ( "prompt_label", "shared_session", "search_tool_name", + "order", ] + list(StandardCallbackDynamicParams.__annotations__.keys()) + list(CustomPricingLiteLLMParams.model_fields.keys()) @@ -2914,6 +2915,7 @@ class LlmProviders(str, Enum): BYTEZ = "bytez" REPLICATE = "replicate" RUNWAYML = "runwayml" + AWS_POLLY = "aws_polly" HUGGINGFACE = "huggingface" TOGETHER_AI = "together_ai" OPENROUTER = "openrouter" diff --git a/litellm/utils.py b/litellm/utils.py index ce6b2aa9c6..805fbafcfc 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -2364,14 +2364,27 @@ def register_model(model_cost: Union[str, dict]): # noqa: PLR0915 elif isinstance(model_cost, str): loaded_model_cost = litellm.get_model_cost_map(url=model_cost) + # Providers that trigger side effects (e.g., OAuth flows) when get_model_info is called + # Skip get_model_info for these providers during model registration + _skip_get_model_info_providers = { + LlmProviders.GITHUB_COPILOT.value, + } + for key, value in loaded_model_cost.items(): ## get model info ## - try: - existing_model: dict = cast(dict, get_model_info(model=key)) - model_cost_key = existing_model["key"] - except Exception: - existing_model = {} + provider = value.get("litellm_provider", "") + if provider in _skip_get_model_info_providers or any( + key.startswith(f"{p}/") for p in _skip_get_model_info_providers + ): + existing_model = litellm.model_cost.get(key, {}) model_cost_key = key + else: + try: + existing_model = cast(dict, get_model_info(model=key)) + model_cost_key = existing_model["key"] + except Exception: + existing_model = {} + model_cost_key = key ## override / add new keys to the existing model cost dictionary updated_dictionary = _update_dictionary(existing_model, value) litellm.model_cost.setdefault(model_cost_key, {}).update(updated_dictionary) @@ -8083,6 +8096,12 @@ class ProviderConfigManager: ) return VertexAITextToSpeechConfig() + elif litellm.LlmProviders.AWS_POLLY == provider: + from litellm.llms.aws_polly.text_to_speech.transformation import ( + AWSPollyTextToSpeechConfig, + ) + + return AWSPollyTextToSpeechConfig() return None @staticmethod diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 8acab0d72d..f4b42d1fd6 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -15364,6 +15364,34 @@ "video" ] }, + "gemini/veo-3.1-fast-generate-001": { + "litellm_provider": "gemini", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.15, + "source": "https://ai.google.dev/gemini-api/docs/video", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "gemini/veo-3.1-generate-001": { + "litellm_provider": "gemini", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.40, + "source": "https://ai.google.dev/gemini-api/docs/video", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, "github_copilot/claude-haiku-4.5": { "litellm_provider": "github_copilot", "max_input_tokens": 128000, @@ -25395,6 +25423,42 @@ "/v1/audio/speech" ] }, + "aws_polly/standard": { + "input_cost_per_character": 4e-06, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, + "aws_polly/neural": { + "input_cost_per_character": 1.6e-05, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, + "aws_polly/long-form": { + "input_cost_per_character": 1e-04, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, + "aws_polly/generative": { + "input_cost_per_character": 3e-05, + "litellm_provider": "aws_polly", + "mode": "audio_speech", + "supported_endpoints": [ + "/v1/audio/speech" + ], + "source": "https://aws.amazon.com/polly/pricing/" + }, "us.amazon.nova-lite-v1:0": { "input_cost_per_token": 6e-08, "litellm_provider": "bedrock_converse", @@ -28115,6 +28179,34 @@ "video" ] }, + "vertex_ai/veo-3.1-generate-001": { + "litellm_provider": "vertex_ai-video-models", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.4, + "source": "https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "vertex_ai/veo-3.1-fast-generate-001": { + "litellm_provider": "vertex_ai-video-models", + "max_input_tokens": 1024, + "max_tokens": 1024, + "mode": "video_generation", + "output_cost_per_second": 0.15, + "source": "https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, "voyage/rerank-2": { "input_cost_per_token": 5e-08, "litellm_provider": "voyage", diff --git a/poetry.lock b/poetry.lock index 5313167def..4eae35c7f3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3138,28 +3138,28 @@ openai = ["openai (>=0.27.8)"] [[package]] name = "litellm-enterprise" -version = "0.1.25" +version = "0.1.27" description = "Package for LiteLLM Enterprise features" optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" groups = ["main"] markers = "extra == \"proxy\"" files = [ - {file = "litellm_enterprise-0.1.25-py3-none-any.whl", hash = "sha256:80c8f1996846453ad309e74cd6d2659d9508320370df5d462d34326b06401c4d"}, - {file = "litellm_enterprise-0.1.25.tar.gz", hash = "sha256:1c82178b8e2c85f47b31910fd103a322b46d6caea44cd7a8c80b00fdcfeacd22"}, + {file = "litellm_enterprise-0.1.27-py3-none-any.whl", hash = "sha256:41b9d41d04123f492060a742091006dc1d182b54ce3a1c0e18ee75d623c63e91"}, + {file = "litellm_enterprise-0.1.27.tar.gz", hash = "sha256:aa40c87f7c8df64beb79e75f71e1b5c0a458350efa68527e3491e6f27f2cbd57"}, ] [[package]] name = "litellm-proxy-extras" -version = "0.4.14" +version = "0.4.16" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" groups = ["main"] markers = "extra == \"proxy\"" files = [ - {file = "litellm_proxy_extras-0.4.14-py3-none-any.whl", hash = "sha256:6943e19abb696e080b5a2a01472b99b1d78603ecb9df24604eba428f54440e7d"}, - {file = "litellm_proxy_extras-0.4.14.tar.gz", hash = "sha256:518680192aac39c8c4f96ee0f3a87e2905250d3edaea8e0c4ff54ee598e775b0"}, + {file = "litellm_proxy_extras-0.4.16-py3-none-any.whl", hash = "sha256:5651e777c7f4c0e87c6722971bca19b8f40f417b08f74001cab2d0a5b1c63a91"}, + {file = "litellm_proxy_extras-0.4.16.tar.gz", hash = "sha256:ff1ee4ea119318b471bb71a99d8bc941159d4d2c09bee797dd29768e9504befb"}, ] [[package]] @@ -8051,4 +8051,4 @@ utils = ["numpydoc"] [metadata] lock-version = "2.1" python-versions = ">=3.9,<4.0" -content-hash = "a102d24777f1c438dcf15055abeef385722a9603cb3c3d3643c86190b7534c47" +content-hash = "b010d9da7f5a765670932b78d720aae4fcb819daba050683ee125b4367972419" diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index 9f3d6f1bf9..152b3df52e 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -205,6 +205,22 @@ "a2a": true } }, + "aws_polly": { + "display_name": "AWS - Polly (`aws_polly`)", + "url": "https://docs.litellm.ai/docs/providers/aws_polly", + "endpoints": { + "chat_completions": false, + "messages": false, + "responses": false, + "embeddings": false, + "image_generations": false, + "audio_transcriptions": false, + "audio_speech": true, + "moderations": false, + "batches": false, + "rerank": false + } + }, "azure": { "display_name": "Azure (`azure`)", "url": "https://docs.litellm.ai/docs/providers/azure", @@ -2016,6 +2032,40 @@ "rerank": false, "a2a": true } + }, + "stability": { + "display_name": "Stability AI (`stability`)", + "url": "https://docs.litellm.ai/docs/providers/stability", + "endpoints": { + "chat_completions": false, + "messages": false, + "responses": false, + "embeddings": false, + "image_generations": true, + "image_edits": true, + "audio_transcriptions": false, + "audio_speech": false, + "moderations": false, + "batches": false, + "rerank": false + } + }, + "venice": { + "display_name": "Venice.ai (`venice`)", + "url": "https://docs.litellm.ai/docs/providers/venice", + "endpoints": { + "chat_completions": true, + "messages": true, + "responses": true, + "embeddings": false, + "image_generations": false, + "audio_transcriptions": false, + "audio_speech": false, + "moderations": false, + "batches": false, + "rerank": false, + "a2a": true + } } } } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 9623e326db..f929fb94cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm" -version = "1.80.10" +version = "1.80.11" description = "Library to easily interface with LLM API providers" authors = ["BerriAI"] license = "MIT" @@ -59,7 +59,7 @@ websockets = {version = "^15.0.1", optional = true} boto3 = {version = "1.36.0", optional = true} redisvl = {version = "^0.4.1", optional = true, markers = "python_version >= '3.9' and python_version < '3.14'"} mcp = {version = "^1.21.2", optional = true, python = ">=3.10"} -litellm-proxy-extras = {version = "0.4.14", optional = true} +litellm-proxy-extras = {version = "0.4.16", optional = true} rich = {version = "13.7.1", optional = true} litellm-enterprise = {version = "0.1.27", optional = true} diskcache = {version = "^5.6.1", optional = true} @@ -167,7 +167,7 @@ requires = ["poetry-core", "wheel"] build-backend = "poetry.core.masonry.api" [tool.commitizen] -version = "1.80.10" +version = "1.80.11" version_files = [ "pyproject.toml:^version" ] diff --git a/requirements.txt b/requirements.txt index f222acc46e..3bc968c8cb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,14 +13,14 @@ uvloop==0.21.0 # uvicorn dep, gives us much better performance under load boto3==1.36.0 # aws bedrock/sagemaker calls redis==5.2.1 # redis caching prisma==0.11.0 # for db -nodejs-bin==18.4.0a4 ## required by prisma for migrations, prevents runtime download +nodejs-wheel-binaries==24.12.0 ## required by prisma for migrations, prevents runtime download (updated from nodejs-bin for security fixes) mangum==0.17.0 # for aws lambda functions pynacl==1.5.0 # for encrypting keys google-cloud-aiplatform==1.47.0 # for vertex ai calls google-cloud-iam==2.19.1 # for GCP IAM Redis authentication google-genai==1.22.0 anthropic[vertex]==0.54.0 -mcp==1.21.2 ; python_version >= "3.10" # for MCP server +mcp==1.23.0 ; python_version >= "3.10" # for MCP server google-generativeai==0.5.0 # for vertex ai calls async_generator==1.10.0 # for async ollama calls langfuse==2.59.7 # for langfuse self-hosted logging @@ -29,7 +29,7 @@ ddtrace==2.19.0 # for advanced DD tracing / profiling orjson==3.11.2 # fast /embedding responses polars==1.31.0 # for data processing apscheduler==3.10.4 # for resetting budget in background -fastapi-sso==0.16.0 # admin UI, SSO +fastapi-sso==0.19.0 # admin UI, SSO pyjwt[crypto]==2.10.1 ; python_version >= "3.9" python-multipart==0.0.18 # admin UI Pillow==11.0.0 @@ -47,7 +47,7 @@ sentry_sdk==2.21.0 # for sentry error handling detect-secrets==1.5.0 # Enterprise - secret detection / masking in LLM requests cryptography==44.0.1 tzdata==2025.1 # IANA time zone database -litellm-proxy-extras==0.4.14 # for proxy extras - e.g. prisma migrations +litellm-proxy-extras==0.4.16 # for proxy extras - e.g. prisma migrations llm-sandbox==0.3.31 # for skill execution in sandbox ### LITELLM PACKAGE DEPENDENCIES python-dotenv==1.0.1 # for env diff --git a/tests/agent_tests/local_vertex_agent.py b/tests/agent_tests/local_vertex_agent.py index cfc202936b..3cc9f86861 100644 --- a/tests/agent_tests/local_vertex_agent.py +++ b/tests/agent_tests/local_vertex_agent.py @@ -21,7 +21,7 @@ from google.auth.transport.requests import Request import httpx # Configuration - update these for your agent -PROJECT_ID = "test-gcp-project-id-123" # Your GCP project ID (test value) +PROJECT_ID = "gen-lang-client-0682925754" # Your GCP project ID LOCATION = "us-central1" # Your agent's location # For Reasoning Engines, use just the numeric ID at the end diff --git a/tests/audio_tests/aws_polly_speech.mp3 b/tests/audio_tests/aws_polly_speech.mp3 new file mode 100644 index 0000000000..68d22cd383 Binary files /dev/null and b/tests/audio_tests/aws_polly_speech.mp3 differ diff --git a/tests/audio_tests/aws_polly_speech_generative.mp3 b/tests/audio_tests/aws_polly_speech_generative.mp3 new file mode 100644 index 0000000000..68d22cd383 Binary files /dev/null and b/tests/audio_tests/aws_polly_speech_generative.mp3 differ diff --git a/tests/audio_tests/test_audio_speech.py b/tests/audio_tests/test_audio_speech.py index fa71326e11..67e0dbffa6 100644 --- a/tests/audio_tests/test_audio_speech.py +++ b/tests/audio_tests/test_audio_speech.py @@ -522,3 +522,165 @@ async def test_azure_ava_tts_fable_voice_mapping(): assert "Testing voice mapping" in ssml_body assert " Joanna). + Verifies that OpenAI voices are correctly mapped to Polly voices. + """ + import json + from unittest.mock import MagicMock, patch + import httpx + + mock_response_content = b"fake_audio_data" + mock_httpx_response = MagicMock(spec=httpx.Response) + mock_httpx_response.content = mock_response_content + mock_httpx_response.status_code = 200 + mock_httpx_response.headers = {"content-type": "audio/mpeg"} + + with patch("litellm.llms.custom_httpx.http_handler.AsyncHTTPHandler.post") as mock_post: + mock_post.return_value = mock_httpx_response + + response = await litellm.aspeech( + model="aws_polly/neural", + voice="alloy", + input="Testing OpenAI voice mapping", + aws_region_name="us-east-1", + ) + + assert mock_post.called + + call_args = mock_post.call_args + request_data = call_args.kwargs.get("data") + + # Parse the JSON body + assert request_data is not None + request_body = json.loads(request_data) + + # Verify alloy was mapped to Joanna + assert request_body["VoiceId"] == "Joanna" + assert request_body["Text"] == "Testing OpenAI voice mapping" + + +@pytest.mark.asyncio +async def test_aws_polly_tts_with_ssml(): + """ + Test AWS Polly TTS with SSML input. + Verifies that SSML is detected and TextType is set correctly. + """ + import json + from unittest.mock import MagicMock, patch + import httpx + + mock_response_content = b"fake_audio_data" + mock_httpx_response = MagicMock(spec=httpx.Response) + mock_httpx_response.content = mock_response_content + mock_httpx_response.status_code = 200 + mock_httpx_response.headers = {"content-type": "audio/mpeg"} + + ssml_input = 'Hello, this is SSML.' + + with patch("litellm.llms.custom_httpx.http_handler.AsyncHTTPHandler.post") as mock_post: + mock_post.return_value = mock_httpx_response + + response = await litellm.aspeech( + model="aws_polly/neural", + voice="Joanna", + input=ssml_input, + aws_region_name="us-east-1", + ) + + assert mock_post.called + + call_args = mock_post.call_args + request_data = call_args.kwargs.get("data") + + # Parse the JSON body + assert request_data is not None + request_body = json.loads(request_data) + + # Verify SSML is detected and TextType is set to ssml + assert request_body["Text"] == ssml_input + assert request_body["TextType"] == "ssml" + assert request_body["VoiceId"] == "Joanna" + + +@pytest.mark.asyncio +async def test_aws_polly_tts_real_api(): + """ + Test AWS Polly TTS with real API request. + Requires AWS credentials to be configured. + """ + speech_file_path = Path(__file__).parent / "aws_polly_speech_generative.mp3" + + response = await litellm.aspeech( + model="aws_polly/generative", + voice="Joanna", + input="Hello, this is a test of AWS Polly text to speech integration with LiteLLM.", + aws_region_name="us-east-1", + ) + + from litellm.types.llms.openai import HttpxBinaryResponseContent + + assert isinstance(response, HttpxBinaryResponseContent) + + binary_content = response.content + assert len(binary_content) > 0 + + # MP3 files start with ID3 tag or MPEG sync word + assert binary_content[:3] == b"ID3" or binary_content[:2] == b"\xff\xfb" or binary_content[:2] == b"\xff\xf3" + + response.stream_to_file(speech_file_path) + + assert speech_file_path.exists() + assert speech_file_path.stat().st_size > 0 + + print(f"AWS Polly TTS audio saved to: {speech_file_path}") diff --git a/tests/code_coverage_tests/liccheck.ini b/tests/code_coverage_tests/liccheck.ini index 328589ac2f..01d8bc4aa0 100644 --- a/tests/code_coverage_tests/liccheck.ini +++ b/tests/code_coverage_tests/liccheck.ini @@ -137,4 +137,5 @@ semantic_router: >=0.1.10 # Unknown license pondpond: >=1.4.1 # Apache 2.0 License fastuuid: >=0.13.0 # BSD-3-Clause license llm-sandbox: >=0.3.31 # MIT License - https://github.com/vndee/llm-sandbox +nodejs-wheel-binaries: >=24.12.0 # MIT license manually verified diff --git a/tests/image_gen_tests/test_bedrock_image_gen_unit_tests.py b/tests/image_gen_tests/test_bedrock_image_gen_unit_tests.py index 96da327182..ecc14f3be2 100644 --- a/tests/image_gen_tests/test_bedrock_image_gen_unit_tests.py +++ b/tests/image_gen_tests/test_bedrock_image_gen_unit_tests.py @@ -528,9 +528,11 @@ def test_backward_compatibility_regular_nova_model(): def test_amazon_titan_image_gen(): + """Test Amazon Titan image generation with cost tracking.""" from litellm import image_generation - model_id = "bedrock/stability.stable-image-core-v1:1" + # Use v2 as v1 has reached end of life + model_id = "bedrock/amazon.titan-image-generator-v2:0" response = litellm.image_generation( model=model_id, diff --git a/tests/litellm_utils_tests/test_cyberark.py b/tests/litellm_utils_tests/test_cyberark.py index b7cb25791a..b94e594953 100644 --- a/tests/litellm_utils_tests/test_cyberark.py +++ b/tests/litellm_utils_tests/test_cyberark.py @@ -13,7 +13,7 @@ from unittest.mock import AsyncMock, MagicMock, patch from litellm._uuid import uuid # Set up environment variables for testing -os.environ["CYBERARK_API_KEY"] = "test-cyberark-api-key-909" +os.environ["CYBERARK_API_KEY"] = "2syke5r262b6je2f4et1x3jptmry3frfx83t65e6417zad632e5qq8a" os.environ["CYBERARK_API_BASE"] = "http://0.0.0.0:8080" os.environ["CYBERARK_ACCOUNT"] = "default" os.environ["CYBERARK_USERNAME"] = "admin" diff --git a/tests/llm_responses_api_testing/test_anthropic_responses_api.py b/tests/llm_responses_api_testing/test_anthropic_responses_api.py index df818ce5c7..5df1045b7c 100644 --- a/tests/llm_responses_api_testing/test_anthropic_responses_api.py +++ b/tests/llm_responses_api_testing/test_anthropic_responses_api.py @@ -90,11 +90,18 @@ def test_multiturn_tool_calls(): # Get the response ID and tool call ID from the response response_id = response.id - tool_call_id = "" + tool_call_id = None for item in response.output: - if 'type' in item and item['type'] == 'function_call': - tool_call_id = item['call_id'] - break + if hasattr(item, 'type') and item.type == 'function_call': + tool_call_id = getattr(item, 'call_id', None) + if tool_call_id: + break + + # Validate that we got a tool call with a valid call_id + if not tool_call_id: + raise AssertionError( + f"Expected a function_call with a valid call_id in response.output, but got: {response.output}" + ) # Use await with asyncio.run for the async function follow_up_response = litellm.responses( diff --git a/tests/llm_translation/test_azure_o_series.py b/tests/llm_translation/test_azure_o_series.py index 1d5bf1ba7a..925453e68c 100644 --- a/tests/llm_translation/test_azure_o_series.py +++ b/tests/llm_translation/test_azure_o_series.py @@ -20,11 +20,13 @@ from base_llm_unit_tests import BaseLLMChatTest, BaseOSeriesModelsTest class TestAzureOpenAIO3Mini(BaseOSeriesModelsTest, BaseLLMChatTest): def get_base_completion_call_args(self): + # Clear the LLM client cache to prevent test pollution from cached clients + litellm.in_memory_llm_clients_cache.flush_cache() return { "model": "azure/o3-mini", - "api_key": os.getenv("AZURE_O3_API_KEY"), - "api_base": os.getenv("AZURE_O3_API_BASE"), - "api_version": "2025-01-01-preview" + "api_key": os.getenv("AZURE_API_KEY"), + "api_base": os.getenv("AZURE_API_BASE"), + "api_version": "2024-12-01-preview" } def get_client(self): diff --git a/tests/llm_translation/test_azure_openai.py b/tests/llm_translation/test_azure_openai.py index 970e68e478..e36b6952d7 100644 --- a/tests/llm_translation/test_azure_openai.py +++ b/tests/llm_translation/test_azure_openai.py @@ -123,6 +123,9 @@ import os def test_azure_extra_headers(input, call_type, header_value): from litellm import embedding, image_generation + # Clear the LLM clients cache to ensure the new http_client is used + litellm.in_memory_llm_clients_cache.flush_cache() + http_client = Client() messages = [{"role": "user", "content": "Hello world"}] @@ -193,7 +196,7 @@ def test_process_azure_endpoint_url(api_base, model, expected_endpoint): "azure_deployment": model, "max_retries": 2, "timeout": 600, - "api_key": "sk-test-mock-key-505", + "api_key": "f28ab7b695af4154bc53498e5bdccb07", }, "model": model, } @@ -470,8 +473,12 @@ def test_map_openai_params(): def test_azure_max_retries_0( mock_make_sync_azure_openai_chat_completion_request, max_retries, stream ): + import litellm from litellm import completion + # Clear the LLM clients cache to ensure max_retries is set correctly + litellm.in_memory_llm_clients_cache.flush_cache() + try: completion( model="azure/gpt-4.1-mini", @@ -498,8 +505,12 @@ def test_azure_max_retries_0( async def test_async_azure_max_retries_0( make_azure_openai_chat_completion_request, max_retries, stream ): + import litellm from litellm import acompletion + # Clear the LLM clients cache to ensure max_retries is set correctly + litellm.in_memory_llm_clients_cache.flush_cache() + try: await acompletion( model="azure/gpt-4.1-mini", @@ -527,8 +538,12 @@ async def test_async_azure_max_retries_0( async def test_azure_instruct( mock_select_azure_base_url_or_endpoint, max_retries, stream, sync_mode ): + import litellm from litellm import completion, acompletion + # Clear the LLM clients cache to ensure select_azure_base_url_or_endpoint is called + litellm.in_memory_llm_clients_cache.flush_cache() + args = { "model": "azure_text/instruct-model", "messages": [ @@ -562,8 +577,12 @@ async def test_azure_instruct( async def test_azure_embedding_max_retries_0( mock_select_azure_base_url_or_endpoint, max_retries, sync_mode ): + import litellm from litellm import aembedding, embedding + # Clear the LLM clients cache to ensure select_azure_base_url_or_endpoint is called + litellm.in_memory_llm_clients_cache.flush_cache() + args = { "model": "azure/text-embedding-ada-002", "input": "Hello world", @@ -599,6 +618,9 @@ def test_azure_safety_result(): response = completion( model="azure/gpt-4.1-mini", + api_key=os.getenv("AZURE_API_KEY"), + api_base=os.getenv("AZURE_API_BASE"), + api_version="2024-12-01-preview", messages=[{"role": "user", "content": "Hello world"}], ) print(f"response: {response}") diff --git a/tests/llm_translation/test_bedrock_agentcore.py b/tests/llm_translation/test_bedrock_agentcore.py index 3afb01482a..029bdf4e37 100644 --- a/tests/llm_translation/test_bedrock_agentcore.py +++ b/tests/llm_translation/test_bedrock_agentcore.py @@ -218,7 +218,7 @@ def test_bedrock_agentcore_with_api_key_bearer_token(): from litellm.llms.custom_httpx.http_handler import HTTPHandler client = HTTPHandler() - test_jwt_token = "test-jwt-token-header.payload.signature" + test_jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" with patch.object(client, "post", return_value=MagicMock()) as mock_post: try: diff --git a/tests/llm_translation/test_bedrock_completion.py b/tests/llm_translation/test_bedrock_completion.py index 78c9f94239..bd08d4444f 100644 --- a/tests/llm_translation/test_bedrock_completion.py +++ b/tests/llm_translation/test_bedrock_completion.py @@ -295,7 +295,7 @@ def bedrock_session_token_creds(): aws_role_name = ( "arn:aws:iam::335785316107:role/litellm-github-unit-tests-circleci" ) - aws_web_identity_token = "test-oidc-token-123" + aws_web_identity_token = "oidc/circleci_v2/" creds = bllm.get_credentials( aws_region_name=aws_region_name, diff --git a/tests/llm_translation/test_bedrock_nova_embedding.py b/tests/llm_translation/test_bedrock_nova_embedding.py index 8cc77b3c3c..23064a3389 100644 --- a/tests/llm_translation/test_bedrock_nova_embedding.py +++ b/tests/llm_translation/test_bedrock_nova_embedding.py @@ -216,6 +216,95 @@ class TestNovaTransformationRequest: params = request["singleEmbeddingParams"] assert params["embeddingDimension"] == 3072 + + def test_data_url_image_parsing(self): + """Test that data URL images are properly parsed and transformed.""" + config = AmazonNovaEmbeddingConfig() + + # Test with JPEG image data URL + jpeg_data_url = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD" + + request = config._transform_request( + input=jpeg_data_url, + inference_params={"dimensions": 1024}, + async_invoke_route=False, + ) + + params = request["singleEmbeddingParams"] + assert "image" in params + assert params["image"]["format"] == "jpeg" + assert "source" in params["image"] + assert params["image"]["source"]["bytes"] == "/9j/4AAQSkZJRgABAQAASABIAAD" + assert params["embeddingDimension"] == 1024 + assert params["embeddingPurpose"] == "GENERIC_INDEX" + + def test_data_url_png_image_parsing(self): + """Test that data URL PNG images are properly parsed.""" + config = AmazonNovaEmbeddingConfig() + + # Test with PNG image data URL + png_data_url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ" + + request = config._transform_request( + input=png_data_url, + inference_params={}, + async_invoke_route=False, + ) + + params = request["singleEmbeddingParams"] + assert "image" in params + assert params["image"]["format"] == "png" + assert params["image"]["source"]["bytes"] == "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ" + + def test_data_url_jpg_format_conversion(self): + """Test that jpg format is converted to jpeg.""" + config = AmazonNovaEmbeddingConfig() + + # Test with jpg (should be converted to jpeg) + jpg_data_url = "data:image/jpg;base64,/9j/4AAQSkZJRg" + + request = config._transform_request( + input=jpg_data_url, + inference_params={}, + async_invoke_route=False, + ) + + params = request["singleEmbeddingParams"] + assert params["image"]["format"] == "jpeg" # Should be converted from jpg to jpeg + + def test_data_url_video_parsing(self): + """Test that data URL videos are properly parsed.""" + config = AmazonNovaEmbeddingConfig() + + video_data_url = "data:video/mp4;base64,AAAAIGZ0eXBpc29t" + + request = config._transform_request( + input=video_data_url, + inference_params={}, + async_invoke_route=False, + ) + + params = request["singleEmbeddingParams"] + assert "video" in params + assert params["video"]["format"] == "mp4" + assert params["video"]["source"]["bytes"] == "AAAAIGZ0eXBpc29t" + + def test_data_url_audio_parsing(self): + """Test that data URL audio files are properly parsed.""" + config = AmazonNovaEmbeddingConfig() + + audio_data_url = "data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAA" + + request = config._transform_request( + input=audio_data_url, + inference_params={}, + async_invoke_route=False, + ) + + params = request["singleEmbeddingParams"] + assert "audio" in params + assert params["audio"]["format"] == "mp3" + assert params["audio"]["source"]["bytes"] == "SUQzBAAAAAAAI1RTU0UAAAA" class TestNovaTransformationResponse: diff --git a/tests/llm_translation/test_gemini_image_usage.py b/tests/llm_translation/test_gemini_image_usage.py new file mode 100644 index 0000000000..4c72d544c5 --- /dev/null +++ b/tests/llm_translation/test_gemini_image_usage.py @@ -0,0 +1,214 @@ +""" +Test for Gemini image generation usage metadata extraction. + +This test verifies the fix for issue #18323 where image_generation() +was returning usage=0 while completion() returned proper token usage. +""" +import pytest +from unittest.mock import patch, MagicMock +import litellm +from litellm.types.utils import ImageResponse, ImageObject, ImageUsage + + +@pytest.mark.parametrize( + "model_name", + [ + "gemini/gemini-2.5-flash-image-preview", + "gemini/gemini-2.0-flash-preview-image-generation", + "gemini/gemini-3-pro-image-preview", + ], +) +def test_gemini_image_generation_usage_metadata(model_name: str): + """ + Test that image_generation() properly extracts and returns usage metadata + from Gemini API responses. + + This test verifies the fix for issue #18323. + """ + + # Mock response data that includes usageMetadata (like real Gemini API) + mock_response_data = { + "candidates": [ + { + "content": { + "parts": [ + { + "inlineData": { + "mimeType": "image/png", + "data": "test_base64_image_data" + } + } + ] + } + } + ], + "usageMetadata": { + "promptTokenCount": 35, + "candidatesTokenCount": 1716, + "totalTokenCount": 1751, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 35 + } + ], + "candidatesTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 213 + }, + { + "modality": "IMAGE", + "tokenCount": 1120 + } + ] + } + } + + with patch( + "litellm.llms.custom_httpx.llm_http_handler.HTTPHandler.post" + ) as mock_post: + # Mock successful HTTP response + mock_http_response = MagicMock() + mock_http_response.json.return_value = mock_response_data + mock_http_response.status_code = 200 + mock_http_response.headers = {} + mock_post.return_value = mock_http_response + + # Call image_generation + response = litellm.image_generation( + model=model_name, + prompt="A cute baby sea otter eating a cute baby spinach with cute starry cereals dressing", + api_key="test_api_key", + ) + + # Validate response structure + assert response is not None + assert hasattr(response, "data") + assert response.data is not None + assert len(response.data) > 0 + + # IMPORTANT: Validate usage metadata is properly extracted + assert response.usage is not None, "Usage should not be None" + + # Note: The usage object might be converted to Usage type by Pydantic/OpenAI SDK + # but it should still have the ImageUsage fields (input_tokens, output_tokens, etc.) + + # Validate token counts match the mock response + assert hasattr(response.usage, 'input_tokens'), "Usage should have input_tokens attribute" + assert hasattr(response.usage, 'output_tokens'), "Usage should have output_tokens attribute" + assert hasattr(response.usage, 'total_tokens'), "Usage should have total_tokens attribute" + + assert response.usage.input_tokens == 35, f"Expected input_tokens=35, got {response.usage.input_tokens}" + assert response.usage.output_tokens == 1716, f"Expected output_tokens=1716, got {response.usage.output_tokens}" + assert response.usage.total_tokens == 1751, f"Expected total_tokens=1751, got {response.usage.total_tokens}" + + # Validate input tokens details + assert hasattr(response.usage, 'input_tokens_details'), "Usage should have input_tokens_details attribute" + assert response.usage.input_tokens_details is not None, "Input tokens details should not be None" + + # input_tokens_details might be a dict or an object + if isinstance(response.usage.input_tokens_details, dict): + assert response.usage.input_tokens_details['text_tokens'] == 35, f"Expected text_tokens=35, got {response.usage.input_tokens_details['text_tokens']}" + assert response.usage.input_tokens_details['image_tokens'] == 0, f"Expected image_tokens=0, got {response.usage.input_tokens_details['image_tokens']}" + else: + assert response.usage.input_tokens_details.text_tokens == 35, f"Expected text_tokens=35, got {response.usage.input_tokens_details.text_tokens}" + assert response.usage.input_tokens_details.image_tokens == 0, f"Expected image_tokens=0, got {response.usage.input_tokens_details.image_tokens}" + + # Verify the usage is not all zeros (the bug we're fixing) + assert response.usage.total_tokens > 0, "Total tokens should be greater than 0" + assert response.usage.input_tokens > 0, "Input tokens should be greater than 0" + assert response.usage.output_tokens > 0, "Output tokens should be greater than 0" + + +def test_gemini_image_generation_without_usage_metadata(): + """ + Test that image_generation() handles responses without usageMetadata gracefully. + """ + + # Mock response data without usageMetadata + mock_response_data = { + "candidates": [ + { + "content": { + "parts": [ + { + "inlineData": { + "mimeType": "image/png", + "data": "test_base64_image_data" + } + } + ] + } + } + ] + } + + with patch( + "litellm.llms.custom_httpx.llm_http_handler.HTTPHandler.post" + ) as mock_post: + # Mock successful HTTP response + mock_http_response = MagicMock() + mock_http_response.json.return_value = mock_response_data + mock_http_response.status_code = 200 + mock_http_response.headers = {} + mock_post.return_value = mock_http_response + + # Call image_generation + response = litellm.image_generation( + model="gemini/gemini-3-pro-image-preview", + prompt="Test prompt", + api_key="test_api_key", + ) + + # Validate response structure + assert response is not None + assert hasattr(response, "data") + assert response.data is not None + assert len(response.data) > 0 + + # Usage should be None if not present in response + # (or have default values depending on implementation) + # This ensures we don't crash when usageMetadata is missing + + +def test_gemini_imagen_models_no_usage_extraction(): + """ + Test that non-Gemini Imagen models don't attempt to extract usage metadata + from the different response format. + """ + + # Mock response data for Imagen models (different format) + mock_response_data = { + "predictions": [ + { + "bytesBase64Encoded": "test_base64_image_data" + } + ] + } + + with patch( + "litellm.llms.custom_httpx.llm_http_handler.HTTPHandler.post" + ) as mock_post: + # Mock successful HTTP response + mock_http_response = MagicMock() + mock_http_response.json.return_value = mock_response_data + mock_http_response.status_code = 200 + mock_http_response.headers = {} + mock_post.return_value = mock_http_response + + # Call image_generation with an Imagen model + response = litellm.image_generation( + model="gemini/imagen-3.0-generate-001", + prompt="Test prompt", + api_key="test_api_key", + ) + + # Validate response structure + assert response is not None + assert hasattr(response, "data") + assert response.data is not None + + # For Imagen models, we don't extract usage from the predictions format + # This test just ensures we don't crash + diff --git a/tests/llm_translation/test_openai.py b/tests/llm_translation/test_openai.py index 10aab93051..6a2ad40678 100644 --- a/tests/llm_translation/test_openai.py +++ b/tests/llm_translation/test_openai.py @@ -300,28 +300,6 @@ class TestOpenAIChatCompletion(BaseLLMChatTest): pass -def test_completion_bad_org(): - import litellm - - litellm.set_verbose = True - _old_org = os.environ.get("OPENAI_ORGANIZATION", None) - os.environ["OPENAI_ORGANIZATION"] = "bad-org" - messages = [{"role": "user", "content": "hi"}] - - with pytest.raises(Exception) as exc_info: - comp = litellm.completion( - model="gpt-4o-mini", messages=messages, organization="bad-org" - ) - - print(exc_info.value) - assert "header should match organization for API key" in str(exc_info.value) - - if _old_org is not None: - os.environ["OPENAI_ORGANIZATION"] = _old_org - else: - del os.environ["OPENAI_ORGANIZATION"] - - @patch("litellm.main.openai_chat_completions._get_openai_client") def test_openai_max_retries_0(mock_get_openai_client): import litellm @@ -858,23 +836,6 @@ def test_gpt_5_reasoning_streaming(): print("✓ gpt_5_reasoning_streaming correctly handled streaming") -def test_gpt_5_pro_reasoning(): - litellm._turn_on_debug() - response = litellm.completion( - model="gpt-5-pro", - messages=[ - { - "role": "user", - "content": "Think of a poem and then write it.", - } - ], - reasoning_effort="high", - ) - print("response: ", response) - # reasoning_effort string param does not request summaries (opt-in since #16210) - assert response.choices[0].message.content is not None # But we should get content - - def test_openai_gpt_5_codex_reasoning(): litellm._turn_on_debug() completion_kwargs = { diff --git a/tests/llm_translation/test_openai_realtime.py b/tests/llm_translation/test_openai_realtime.py index 91033cf33a..0a6eda6762 100644 --- a/tests/llm_translation/test_openai_realtime.py +++ b/tests/llm_translation/test_openai_realtime.py @@ -20,123 +20,121 @@ async def test_openai_realtime_direct_call_no_intent(): End-to-end test calling the actual OpenAI realtime endpoint via LiteLLM SDK without intent parameter. This should succeed without "Invalid intent" error. Uses real websocket connection to OpenAI. + + Note: This test may be skipped on transient connection failures since it depends + on external OpenAI API availability. """ import websockets import asyncio import json - # Create a real websocket client that will validate OpenAI responses class RealTimeWebSocketClient: def __init__(self): self.messages_sent = [] self.messages_received = [] self.received_session_created = False self.connection_successful = False + self._receive_called = False + self.close_code = None + self.close_reason = None async def accept(self): - # Not needed for client-side websocket pass async def send_text(self, message): self.messages_sent.append(message) - # Parse the message to see what we're sending try: - msg_data = json.loads(message) - print(f"Sent to OpenAI: {msg_data.get('type', 'unknown')}") - except json.JSONDecodeError: + if isinstance(message, bytes): + message_str = message.decode('utf-8') + else: + message_str = message + + msg_data = json.loads(message_str) + msg_type = msg_data.get('type', 'unknown') + + if msg_type == "error": + error_info = msg_data.get('error', {}) + error_code = error_info.get('code', 'unknown') + error_message = error_info.get('message', 'unknown') + # Don't fail on error, just record it - some errors are expected + self.messages_received.append(msg_data) + return + + if msg_type == "session.created" and not self.received_session_created: + self.messages_received.append(msg_data) + self.received_session_created = True + self.connection_successful = True + except (json.JSONDecodeError, UnicodeDecodeError): + # Non-JSON messages are acceptable pass async def receive_text(self): - # This will be called by the realtime handler when it receives messages from OpenAI - # We'll simulate getting messages for a short time, then close - await asyncio.sleep(0.8) # Give a bit more time for real responses + if not self._receive_called: + self._receive_called = True + max_wait = 60.0 + check_interval = 0.1 + waited = 0.0 + + while waited < max_wait: + if self.connection_successful: + break + await asyncio.sleep(check_interval) + waited += check_interval + + if not self.connection_successful: + await asyncio.sleep(3.0) - # If this is our first call, simulate receiving session.created from OpenAI - if not self.received_session_created: - # This simulates what OpenAI would send on successful connection - response = { - "type": "session.created", - "session": { - "id": "sess_test123", - "object": "realtime.session", - "model": "gpt-4o-realtime-preview-2024-10-01", - "expires_at": 1234567890, - "modalities": ["text", "audio"], - "instructions": "", - "voice": "alloy", - "input_audio_format": "pcm16", - "output_audio_format": "pcm16", - "input_audio_transcription": None, - "turn_detection": { - "type": "server_vad", - "threshold": 0.5, - "prefix_padding_ms": 300, - "silence_duration_ms": 200 - }, - "tools": [], - "tool_choice": "auto", - "temperature": 0.8, - "max_response_output_tokens": "inf" - } - } - self.messages_received.append(response) - self.received_session_created = True - self.connection_successful = True - print(f"Received from OpenAI: {response['type']}") - return json.dumps(response) - - # After validating we got session.created, close the connection - print("Test validation complete - closing connection") raise websockets.exceptions.ConnectionClosed(None, None) async def close(self, code=1000, reason=""): - # Connection will be closed by the realtime handler - pass + self.close_code = code + self.close_reason = reason @property def headers(self): return {} websocket_client = RealTimeWebSocketClient() + caught_exception = None - # Test with no intent parameter - this should NOT produce "Invalid intent" error - # and should receive a valid session.created response try: await litellm._arealtime( model="gpt-4o-realtime-preview-2024-10-01", websocket=websocket_client, api_key=os.environ.get("OPENAI_API_KEY"), - timeout=15 + timeout=60 ) except websockets.exceptions.ConnectionClosed: - # Expected - we close the connection after validation pass - except websockets.exceptions.InvalidStatusCode as e: - # If we get a 4000 status with "invalid_intent", the fix didn't work - if "invalid_intent" in str(e).lower(): - pytest.fail(f"Still getting invalid_intent error: {e}") - else: - # Other connection errors are expected in test environment - pass except Exception as e: - # Make sure we're not getting the "Invalid intent" error - if "invalid_intent" in str(e).lower() or "Invalid intent" in str(e): - pytest.fail(f"Fix failed - still getting invalid intent error: {e}") - # Other exceptions are acceptable for this connection test + caught_exception = e + if "invalid_intent" in str(e).lower(): + pytest.fail(f"Still getting invalid intent error: {e}") + # Other exceptions are recorded but don't fail immediately - # Validate that we successfully connected and received expected response - assert websocket_client.connection_successful, "Failed to establish successful connection to OpenAI" - assert websocket_client.received_session_created, "Did not receive session.created response from OpenAI" - assert len(websocket_client.messages_received) > 0, "No messages received from OpenAI" + # Build detailed error message for debugging + error_details = [] + error_details.append(f"messages_sent count: {len(websocket_client.messages_sent)}") + error_details.append(f"messages_received count: {len(websocket_client.messages_received)}") + error_details.append(f"close_code: {websocket_client.close_code}") + error_details.append(f"close_reason: {websocket_client.close_reason}") + if caught_exception: + error_details.append(f"exception: {type(caught_exception).__name__}: {caught_exception}") + + # Skip test on transient connection failures (e.g., WebSocket connection rejected) + # These are not regressions, just external API availability issues + if not websocket_client.connection_successful and websocket_client.close_code is not None: + pytest.skip(f"Skipping due to transient connection failure: close_code={websocket_client.close_code}, close_reason={websocket_client.close_reason}") + + assert websocket_client.connection_successful, f"Failed to establish connection. Debug info: {'; '.join(error_details)}" + assert websocket_client.received_session_created, "Did not receive session.created response" + assert len(websocket_client.messages_received) > 0, "No messages received" - # Validate the structure of the session.created response session_message = websocket_client.messages_received[0] assert session_message["type"] == "session.created", f"Expected session.created, got {session_message.get('type')}" assert "session" in session_message, "session.created response missing session object" assert "id" in session_message["session"], "Session object missing id field" assert "model" in session_message["session"], "Session object missing model field" - - print(f"✅ Successfully validated OpenAI realtime API response structure") @pytest.mark.asyncio @@ -149,123 +147,144 @@ async def test_openai_realtime_direct_call_with_intent(): End-to-end test calling the actual OpenAI realtime endpoint via LiteLLM SDK with explicit intent parameter. This should include the intent in the URL. Uses real websocket connection to OpenAI. + + Note: This test may be skipped on transient connection failures since it depends + on external OpenAI API availability. """ import websockets import asyncio import json - # Create a real websocket client that will validate OpenAI responses class RealTimeWebSocketClient: def __init__(self): self.messages_sent = [] self.messages_received = [] self.received_session_created = False self.connection_successful = False - + self._receive_called = False + self.intent_error_received = None + self.close_code = None + self.close_reason = None + async def accept(self): - # Not needed for client-side websocket pass - + async def send_text(self, message): self.messages_sent.append(message) - # Parse the message to see what we're sending try: - msg_data = json.loads(message) - print(f"Sent to OpenAI (with intent): {msg_data.get('type', 'unknown')}") - except json.JSONDecodeError: + if isinstance(message, bytes): + message_str = message.decode('utf-8') + else: + message_str = message + + msg_data = json.loads(message_str) + msg_type = msg_data.get('type', 'unknown') + + if msg_type == "error": + error_info = msg_data.get('error', {}) + error_code = error_info.get('code', 'unknown') + error_message = error_info.get('message', 'unknown') + + if error_code == "invalid_intent": + self.intent_error_received = { + 'code': error_code, + 'message': error_message + } + # Don't fail on other errors, just record them + self.messages_received.append(msg_data) + return + + if msg_type == "session.created" and not self.received_session_created: + self.messages_received.append(msg_data) + self.received_session_created = True + self.connection_successful = True + except (json.JSONDecodeError, UnicodeDecodeError): + # Non-JSON messages are acceptable pass async def receive_text(self): - # This will be called by the realtime handler when it receives messages from OpenAI - await asyncio.sleep(0.8) # Give time for real responses - - # If this is our first call, simulate receiving session.created from OpenAI - if not self.received_session_created: - response = { - "type": "session.created", - "session": { - "id": "sess_intent_test123", - "object": "realtime.session", - "model": "gpt-4o-realtime-preview-2024-10-01", - "expires_at": 1234567890, - "modalities": ["text", "audio"], - "instructions": "", - "voice": "alloy", - "input_audio_format": "pcm16", - "output_audio_format": "pcm16", - "input_audio_transcription": None, - "turn_detection": { - "type": "server_vad", - "threshold": 0.5, - "prefix_padding_ms": 300, - "silence_duration_ms": 200 - }, - "tools": [], - "tool_choice": "auto", - "temperature": 0.8, - "max_response_output_tokens": "inf" - } - } - self.messages_received.append(response) - self.received_session_created = True - self.connection_successful = True - print(f"Received from OpenAI (with intent): {response['type']}") - return json.dumps(response) - - # After validating we got session.created, close the connection - print("Test validation complete (with intent) - closing connection") + if not self._receive_called: + self._receive_called = True + max_wait = 60.0 + check_interval = 0.1 + waited = 0.0 + + while waited < max_wait: + if self.connection_successful: + break + await asyncio.sleep(check_interval) + waited += check_interval + + if not self.connection_successful: + await asyncio.sleep(3.0) + raise websockets.exceptions.ConnectionClosed(None, None) - + async def close(self, code=1000, reason=""): - # Connection will be closed by the realtime handler - pass - + self.close_code = code + self.close_reason = reason + @property def headers(self): return {} websocket_client = RealTimeWebSocketClient() + caught_exception = None query_params: RealtimeQueryParams = { "model": "gpt-4o-realtime-preview-2024-10-01", "intent": "chat" } - # Test with explicit intent parameter try: await litellm._arealtime( model="gpt-4o-realtime-preview-2024-10-01", websocket=websocket_client, api_key=os.environ.get("OPENAI_API_KEY"), query_params=query_params, - timeout=10 + timeout=60 ) except websockets.exceptions.ConnectionClosed: - # Expected - connection closes after brief test - pass - except websockets.exceptions.InvalidStatusCode as e: - # Any connection errors are expected in test environment - # The important thing is we can establish connection without invalid_intent pass except Exception as e: - # Make sure we're not getting unexpected errors - if "invalid_intent" in str(e).lower() or "Invalid intent" in str(e): - pytest.fail(f"Unexpected invalid intent error with explicit intent: {e}") + caught_exception = e + if "invalid_intent" in str(e).lower(): + pytest.fail(f"Unexpected invalid intent error: {e}") + # Other exceptions are recorded but don't fail immediately - # Validate that we successfully connected and received expected response - assert websocket_client.connection_successful, "Failed to establish successful connection to OpenAI (with intent)" - assert websocket_client.received_session_created, "Did not receive session.created response from OpenAI (with intent)" - assert len(websocket_client.messages_received) > 0, "No messages received from OpenAI (with intent)" + if websocket_client.intent_error_received: + websocket_client.connection_successful = True - # Validate the structure of the session.created response - session_message = websocket_client.messages_received[0] - assert session_message["type"] == "session.created", f"Expected session.created, got {session_message.get('type')} (with intent)" - assert "session" in session_message, "session.created response missing session object (with intent)" - assert "id" in session_message["session"], "Session object missing id field (with intent)" - assert "model" in session_message["session"], "Session object missing model field (with intent)" + # Build detailed error message for debugging + error_details = [] + error_details.append(f"messages_sent count: {len(websocket_client.messages_sent)}") + error_details.append(f"messages_received count: {len(websocket_client.messages_received)}") + error_details.append(f"close_code: {websocket_client.close_code}") + error_details.append(f"close_reason: {websocket_client.close_reason}") + if caught_exception: + error_details.append(f"exception: {type(caught_exception).__name__}: {caught_exception}") - print(f"✅ Successfully validated OpenAI realtime API response structure (with intent=chat)") - + # Skip test on transient connection failures (e.g., WebSocket connection rejected) + # These are not regressions, just external API availability issues + if not websocket_client.connection_successful and websocket_client.close_code is not None: + pytest.skip(f"Skipping due to transient connection failure: close_code={websocket_client.close_code}, close_reason={websocket_client.close_reason}") + + assert websocket_client.connection_successful, f"Failed to establish connection or verify intent parameter pass-through. Debug info: {'; '.join(error_details)}" + + if websocket_client.received_session_created: + assert len(websocket_client.messages_received) > 0, "No messages received" + session_message = websocket_client.messages_received[0] + assert session_message["type"] == "session.created", f"Expected session.created, got {session_message.get('type')}" + assert "session" in session_message, "session.created response missing session object" + assert "id" in session_message["session"], "Session object missing id field" + assert "model" in session_message["session"], "Session object missing model field" + elif websocket_client.intent_error_received: + # invalid_intent error confirms intent parameter was passed through + pass + else: + pytest.fail(f"Unexpected test state: connection_successful={websocket_client.connection_successful}, " + f"received_session_created={websocket_client.received_session_created}, " + f"intent_error_received={websocket_client.intent_error_received}") def test_realtime_query_params_construction(): @@ -284,7 +303,7 @@ def test_realtime_query_params_construction(): assert "model" in query_params assert query_params["model"] == model - assert "intent" not in query_params # Should not be present when None + assert "intent" not in query_params # Test case 2: intent is provided (should be included) intent = "chat" @@ -295,4 +314,4 @@ def test_realtime_query_params_construction(): assert "model" in query_params2 assert query_params2["model"] == model assert "intent" in query_params2 - assert query_params2["intent"] == intent \ No newline at end of file + assert query_params2["intent"] == intent diff --git a/tests/llm_translation/test_skills_e2e.py b/tests/llm_translation/test_skills_e2e.py index 9329919ae2..7b83002542 100644 --- a/tests/llm_translation/test_skills_e2e.py +++ b/tests/llm_translation/test_skills_e2e.py @@ -60,6 +60,7 @@ def prisma_client(): @pytest.mark.asyncio +@pytest.mark.skip(reason="local testing only") async def test_slack_gif_skill_creates_gif(prisma_client): """ Test slack-gif-creator skill generates a GIF using GPT-4o via messages API. diff --git a/tests/local_testing/test_alangfuse.py b/tests/local_testing/test_alangfuse.py index 306c7749f1..a20370135f 100644 --- a/tests/local_testing/test_alangfuse.py +++ b/tests/local_testing/test_alangfuse.py @@ -1019,7 +1019,7 @@ generation_params = { ], }, }, - "user_api_key": "sk-test-mock-api-key-123", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "litellm_api_version": "0.0.0", "user_api_key_user_id": "default_user_id", "user_api_key_spend": 0.0, @@ -1142,7 +1142,7 @@ def test_langfuse_prompt_type(prompt): ], }, }, - "user_api_key": "sk-test-mock-api-key-123", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "litellm_api_version": "0.0.0", "user_api_key_user_id": "default_user_id", "user_api_key_spend": 0.0, diff --git a/tests/local_testing/test_completion.py b/tests/local_testing/test_completion.py index d72dcbb974..2b01b4c2a1 100644 --- a/tests/local_testing/test_completion.py +++ b/tests/local_testing/test_completion.py @@ -1752,21 +1752,6 @@ def test_completion_openai_pydantic(model, api_version): pytest.fail(f"Error occurred: {e}") -def test_completion_openai_organization(): - try: - litellm.set_verbose = True - try: - response = completion( - model="gpt-3.5-turbo", messages=messages, organization="org-ikDc4ex8NB" - ) - pytest.fail("Request should have failed - This organization does not exist") - except Exception as e: - assert "header should match organization for API key" in str(e) - - except Exception as e: - print(e) - pytest.fail(f"Error occurred: {e}") - def test_completion_text_openai(): try: @@ -4160,10 +4145,10 @@ def test_openai_hallucinated_tool_call_util(function_name, expect_modification): def test_langfuse_completion(monkeypatch): monkeypatch.setenv( - "LANGFUSE_PUBLIC_KEY", "test-langfuse-public-key-123" + "LANGFUSE_PUBLIC_KEY", "pk-lf-b3db7e8e-c2f6-4fc7-825c-a541a8fbe003" ) monkeypatch.setenv( - "LANGFUSE_SECRET_KEY", "test-langfuse-secret-key-456" + "LANGFUSE_SECRET_KEY", "sk-lf-b11ef3a8-361c-4445-9652-12318b8596e4" ) monkeypatch.setenv("LANGFUSE_HOST", "https://us.cloud.langfuse.com") litellm.set_verbose = True diff --git a/tests/local_testing/test_completion_cost.py b/tests/local_testing/test_completion_cost.py index 2f78f27361..40efcc2386 100644 --- a/tests/local_testing/test_completion_cost.py +++ b/tests/local_testing/test_completion_cost.py @@ -401,7 +401,7 @@ def test_dalle_3_azure_cost_tracking(): { "b64_json": None, "revised_prompt": "A close-up image of an adorable baby sea otter. Its fur is thick and fluffy to provide buoyancy and insulation against the cold water. Its eyes are round, curious and full of life. It's lying on its back, floating effortlessly on the calm sea surface under the warm sun. Surrounding the otter are patches of colorful kelp drifting along the gentle waves, giving the scene a touch of vibrancy. The sea otter has its small paws folded on its chest, and it seems to be taking a break from its play.", - "url": "test-azure-blob-url-with-sas-token", + "url": "https://dalleprodsec.blob.core.windows.net/private/images/3e5d00f3-700e-4b75-869d-2de73c3c975d/generated_00.png?se=2024-03-13T17%3A49%3A51Z&sig=R9RJD5oOSe0Vp9Eg7ze%2FZ8QR7ldRyGH6XhMxiau16Jc%3D&ske=2024-03-19T11%3A08%3A03Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-03-12T11%3A08%3A03Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02", } ], ) diff --git a/tests/local_testing/test_exceptions.py b/tests/local_testing/test_exceptions.py index 987c213d5c..a27a64dd6e 100644 --- a/tests/local_testing/test_exceptions.py +++ b/tests/local_testing/test_exceptions.py @@ -176,7 +176,7 @@ def invalid_auth(model): # set the model key to an invalid key, depending on th elif "togethercomputer" in model: temporary_key = os.environ["TOGETHERAI_API_KEY"] os.environ["TOGETHERAI_API_KEY"] = ( - "sk-test-togetherai-key-808" + "84060c79880fc49df126d3e87b53f8a463ff6e1c6d27fe64207cde25cdfcd1f24a" ) elif model in litellm.openrouter_models: temporary_key = os.environ["OPENROUTER_API_KEY"] diff --git a/tests/local_testing/test_gcs_bucket.py b/tests/local_testing/test_gcs_bucket.py index 2f7d5cd0de..fbca0e0060 100644 --- a/tests/local_testing/test_gcs_bucket.py +++ b/tests/local_testing/test_gcs_bucket.py @@ -83,7 +83,7 @@ async def test_aaabasic_gcs_logger(): mock_response="Hi!", metadata={ "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"], - "user_api_key": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_alias": None, "user_api_end_user_max_budget": None, "litellm_api_version": "0.0.0", @@ -155,7 +155,7 @@ async def test_aaabasic_gcs_logger(): assert ( gcs_payload["metadata"]["user_api_key_hash"] - == "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456" + == "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b" ) assert gcs_payload["metadata"]["user_api_key_user_id"] == "116544810872468347480" @@ -191,7 +191,7 @@ async def test_basic_gcs_logger_failure(): metadata={ "gcs_log_id": gcs_log_id, "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"], - "user_api_key": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_alias": None, "user_api_end_user_max_budget": None, "litellm_api_version": "0.0.0", @@ -259,7 +259,7 @@ async def test_basic_gcs_logger_failure(): assert ( gcs_payload["metadata"]["user_api_key_hash"] - == "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456" + == "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b" ) assert gcs_payload["metadata"]["user_api_key_user_id"] == "116544810872468347480" @@ -599,7 +599,7 @@ async def test_basic_gcs_logger_with_folder_in_bucket_name(): mock_response="Hi!", metadata={ "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"], - "user_api_key": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_alias": None, "user_api_end_user_max_budget": None, "litellm_api_version": "0.0.0", @@ -671,7 +671,7 @@ async def test_basic_gcs_logger_with_folder_in_bucket_name(): assert ( gcs_payload["metadata"]["user_api_key_hash"] - == "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456" + == "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b" ) assert gcs_payload["metadata"]["user_api_key_user_id"] == "116544810872468347480" diff --git a/tests/local_testing/test_pass_through_endpoints.py b/tests/local_testing/test_pass_through_endpoints.py index 1c6a7f2c5d..2795bc918b 100644 --- a/tests/local_testing/test_pass_through_endpoints.py +++ b/tests/local_testing/test_pass_through_endpoints.py @@ -443,10 +443,14 @@ async def test_aaapass_through_endpoint_pass_through_keys_langfuse( } # Make a request to the pass-through endpoint + # For langfuse custom_auth_parser, the Authorization header must be valid base64 + # Format: base64(public_key:secret_key) where public_key is the LiteLLM API key + import base64 + auth_token = base64.b64encode(f"{mock_api_key}:anything".encode()).decode() response = client.post( "/api/public/ingestion", json=_json_data, - headers={"Authorization": "Basic test-base64-auth-token-123"}, + headers={"Authorization": "Basic c2stbXktdGVzdC1rZXk6YW55dGhpbmc="}, ) print("JSON response: ", _json_data) diff --git a/tests/local_testing/test_streaming.py b/tests/local_testing/test_streaming.py index 376a2c9301..0d9f84a301 100644 --- a/tests/local_testing/test_streaming.py +++ b/tests/local_testing/test_streaming.py @@ -1952,7 +1952,6 @@ def test_openai_chat_completion_complete_response_call(): "model", [ "gpt-3.5-turbo", - "azure/gpt-4.1-mini", "claude-3-haiku-20240307", "o1", ], diff --git a/tests/logging_callback_tests/test_alerting.py b/tests/logging_callback_tests/test_alerting.py index 8a691e7618..ac7f5cd6aa 100644 --- a/tests/logging_callback_tests/test_alerting.py +++ b/tests/logging_callback_tests/test_alerting.py @@ -488,7 +488,7 @@ async def test_send_token_budget_crossed_alerts(alerting_type): with patch.object(slack_alerting, "send_alert", new=AsyncMock()) as mock_send_alert: user_info = { - "token": "sk-test-mock-token-606", + "token": "50e55ca5bfbd0759697538e8d23c0cd5031f52d9e19e176d7233b20c7c4d3403", "spend": 86, "max_budget": 100, "user_id": "ishaan@berri.ai", @@ -528,7 +528,7 @@ async def test_webhook_alerting(alerting_type): slack_alerting, "send_webhook_alert", new=AsyncMock() ) as mock_send_alert: user_info = { - "token": "sk-test-mock-token-606", + "token": "50e55ca5bfbd0759697538e8d23c0cd5031f52d9e19e176d7233b20c7c4d3403", "spend": 1, "max_budget": 0, "user_id": "ishaan@berri.ai", @@ -559,7 +559,7 @@ async def test_webhook_alerting(alerting_type): # slack_alerting, "send_webhook_alert", new=AsyncMock() # ) as mock_send_alert: # user_info = { -# "token": "sk-test-mock-token-606", +# "token": "50e55ca5bfbd0759697538e8d23c0cd5031f52d9e19e176d7233b20c7c4d3403", # "spend": 1, # "max_budget": 0, # "user_id": "ishaan@berri.ai", diff --git a/tests/logging_callback_tests/test_datadog.py b/tests/logging_callback_tests/test_datadog.py index c877f34ac0..fc4b3ff3cf 100644 --- a/tests/logging_callback_tests/test_datadog.py +++ b/tests/logging_callback_tests/test_datadog.py @@ -2,6 +2,14 @@ import io import os import sys +from litellm.integrations.datadog.datadog_handler import ( + get_datadog_source, + get_datadog_service, + get_datadog_env, + get_datadog_pod_name, + get_datadog_hostname, + get_datadog_tags, +) sys.path.insert(0, os.path.abspath("../..")) @@ -18,6 +26,7 @@ import litellm from litellm import completion from litellm._logging import verbose_logger from litellm.integrations.datadog.datadog import * +import litellm.integrations.datadog.datadog as datadog_module from datetime import datetime, timedelta from litellm.types.utils import ( StandardLoggingPayload, @@ -82,6 +91,24 @@ def create_standard_logging_payload() -> StandardLoggingPayload: ) +class _DummySpan: + def __init__(self, trace_id=None, span_id=None): + self.trace_id = trace_id + self.span_id = span_id + + +class _DummyTracer: + def __init__(self, current_span=None, current_root_span=None): + self._current_span = current_span + self._current_root_span = current_root_span + + def current_span(self): + return self._current_span + + def current_root_span(self): + return self._current_root_span + + @pytest.mark.asyncio async def test_create_datadog_logging_payload(): """Test creating a DataDog logging payload from a standard logging object""" @@ -211,20 +238,35 @@ async def test_datadog_logging_http_request(): # Get the expected fields and their types from DatadogPayload expected_fields = DatadogPayload.__annotations__ - # Assert that all elements in body have the fields of DatadogPayload with correct types + required_fields = { + "ddsource": str, + "ddtags": str, + "hostname": str, + "message": str, + "service": str, + "status": str, + } + optional_fields = set(expected_fields.keys()) - set(required_fields.keys()) + + # Assert that all elements in body have the required fields with correct types for log in body: assert isinstance(log, dict), "Each log should be a dictionary" - for field, expected_type in expected_fields.items(): + for field, expected_type in required_fields.items(): assert field in log, f"Field '{field}' is missing from the log" assert isinstance( log[field], expected_type ), f"Field '{field}' has incorrect type. Expected {expected_type}, got {type(log[field])}" - # Additional assertion to ensure no extra fields are present - for log in body: - assert set(log.keys()) == set( - expected_fields.keys() - ), f"Log contains unexpected fields: {set(log.keys()) - set(expected_fields.keys())}" + for optional_field in optional_fields: + if optional_field in log: + assert isinstance( + log[optional_field], str + ), f"Optional field '{optional_field}' must be a string" + + unexpected_fields = set(log.keys()) - set(expected_fields.keys()) + assert ( + not unexpected_fields + ), f"Log contains unexpected fields: {unexpected_fields}" # Parse the 'message' field as JSON and check its structure message = json.loads(body[0]["message"]) @@ -248,6 +290,96 @@ async def test_datadog_logging_http_request(): pytest.fail(f"Test failed with exception: {str(e)}") +@pytest.mark.asyncio +async def test_add_trace_context_uses_current_span(monkeypatch): + monkeypatch.setenv("DD_SITE", "https://fake.datadoghq.com") + monkeypatch.setenv("DD_API_KEY", "anything") + tracer = _DummyTracer(current_span=_DummySpan(trace_id=123, span_id=456)) + monkeypatch.setattr(datadog_module, "tracer", tracer) + + dd_logger = DataDogLogger() + payload = DatadogPayload( + ddsource="litellm", + ddtags="env:test", + hostname="host", + message="{}", + service="svc", + status="info", + ) + + dd_logger._add_trace_context_to_payload(payload) + assert payload["dd.trace_id"] == "123" + assert payload["dd.span_id"] == "456" + + +@pytest.mark.asyncio +async def test_add_trace_context_falls_back_to_root_span(monkeypatch): + monkeypatch.setenv("DD_SITE", "https://fake.datadoghq.com") + monkeypatch.setenv("DD_API_KEY", "anything") + tracer = _DummyTracer( + current_span=None, + current_root_span=_DummySpan(trace_id=789, span_id=None), + ) + monkeypatch.setattr(datadog_module, "tracer", tracer) + + dd_logger = DataDogLogger() + payload = DatadogPayload( + ddsource="litellm", + ddtags="env:test", + hostname="host", + message="{}", + service="svc", + status="info", + ) + + dd_logger._add_trace_context_to_payload(payload) + assert payload["dd.trace_id"] == "789" + assert "dd.span_id" not in payload + + +@pytest.mark.asyncio +async def test_add_trace_context_handles_missing_tracer(monkeypatch): + monkeypatch.setenv("DD_SITE", "https://fake.datadoghq.com") + monkeypatch.setenv("DD_API_KEY", "anything") + monkeypatch.setattr(datadog_module, "tracer", object()) + + dd_logger = DataDogLogger() + payload = DatadogPayload( + ddsource="litellm", + ddtags="env:test", + hostname="host", + message="{}", + service="svc", + status="info", + ) + + dd_logger._add_trace_context_to_payload(payload) + assert "dd.trace_id" not in payload + assert "dd.span_id" not in payload + + +@pytest.mark.asyncio +async def test_add_trace_context_ignores_span_without_trace_id(monkeypatch): + monkeypatch.setenv("DD_SITE", "https://fake.datadoghq.com") + monkeypatch.setenv("DD_API_KEY", "anything") + tracer = _DummyTracer(current_span=_DummySpan(trace_id=None, span_id=555)) + monkeypatch.setattr(datadog_module, "tracer", tracer) + + dd_logger = DataDogLogger() + payload = DatadogPayload( + ddsource="litellm", + ddtags="env:test", + hostname="host", + message="{}", + service="svc", + status="info", + ) + + dd_logger._add_trace_context_to_payload(payload) + assert "dd.trace_id" not in payload + assert "dd.span_id" not in payload + + @pytest.mark.asyncio async def test_datadog_log_redis_failures(): """ @@ -452,16 +584,16 @@ def test_datadog_static_methods(): """Test the static helper methods in DataDogLogger class""" # Test with default environment variables - assert DataDogLogger._get_datadog_source() == "litellm" - assert DataDogLogger._get_datadog_service() == "litellm-server" - assert DataDogLogger._get_datadog_hostname() is not None - assert DataDogLogger._get_datadog_env() == "unknown" - assert DataDogLogger._get_datadog_pod_name() == "unknown" + assert get_datadog_source() == "litellm" + assert get_datadog_service() == "litellm-server" + assert get_datadog_hostname() is not None + assert get_datadog_env() == "unknown" + assert get_datadog_pod_name() == "unknown" # Test tags format with default values assert ( - "env:unknown,service:litellm,version:unknown,HOSTNAME:" - in DataDogLogger._get_datadog_tags() + "env:unknown,service:litellm-server,version:unknown,HOSTNAME:" + in get_datadog_tags() ) # Test with custom environment variables @@ -475,31 +607,31 @@ def test_datadog_static_methods(): } with patch.dict(os.environ, test_env): - assert DataDogLogger._get_datadog_source() == "custom-source" + assert get_datadog_source() == "custom-source" print( - "DataDogLogger._get_datadog_source()", DataDogLogger._get_datadog_source() + "DataDogLogger._get_datadog_source()", get_datadog_source() ) - assert DataDogLogger._get_datadog_service() == "custom-service" + assert get_datadog_service() == "custom-service" print( - "DataDogLogger._get_datadog_service()", DataDogLogger._get_datadog_service() + "DataDogLogger._get_datadog_service()", get_datadog_service() ) - assert DataDogLogger._get_datadog_hostname() == "test-host" + assert get_datadog_hostname() == "test-host" print( "DataDogLogger._get_datadog_hostname()", - DataDogLogger._get_datadog_hostname(), + get_datadog_hostname(), ) - assert DataDogLogger._get_datadog_env() == "production" - print("DataDogLogger._get_datadog_env()", DataDogLogger._get_datadog_env()) - assert DataDogLogger._get_datadog_pod_name() == "pod-123" + assert get_datadog_env() == "production" + print("DataDogLogger._get_datadog_env()", get_datadog_env()) + assert get_datadog_pod_name() == "pod-123" print( "DataDogLogger._get_datadog_pod_name()", - DataDogLogger._get_datadog_pod_name(), + get_datadog_pod_name(), ) # Test tags format with custom values expected_custom_tags = "env:production,service:custom-service,version:1.0.0,HOSTNAME:test-host,POD_NAME:pod-123" - print("DataDogLogger._get_datadog_tags()", DataDogLogger._get_datadog_tags()) - assert DataDogLogger._get_datadog_tags() == expected_custom_tags + print("DataDogLogger._get_datadog_tags()", get_datadog_tags()) + assert get_datadog_tags() == expected_custom_tags @pytest.mark.asyncio @@ -539,7 +671,7 @@ async def test_datadog_non_serializable_messages(): def test_get_datadog_tags(): """Test the _get_datadog_tags static method with various inputs""" # Test with no standard_logging_object and default env vars - base_tags = DataDogLogger._get_datadog_tags() + base_tags = get_datadog_tags() assert "env:" in base_tags assert "service:" in base_tags assert "version:" in base_tags @@ -555,7 +687,7 @@ def test_get_datadog_tags(): "POD_NAME": "pod-123", } with patch.dict(os.environ, test_env): - custom_tags = DataDogLogger._get_datadog_tags() + custom_tags = get_datadog_tags() assert "env:production" in custom_tags assert "service:custom-service" in custom_tags assert "version:1.0.0" in custom_tags @@ -566,18 +698,18 @@ def test_get_datadog_tags(): standard_logging_obj = create_standard_logging_payload() standard_logging_obj["request_tags"] = ["tag1", "tag2"] - tags_with_request = DataDogLogger._get_datadog_tags(standard_logging_obj) + tags_with_request = get_datadog_tags(standard_logging_obj) assert "request_tag:tag1" in tags_with_request assert "request_tag:tag2" in tags_with_request # Test with empty request_tags standard_logging_obj["request_tags"] = [] - tags_empty_request = DataDogLogger._get_datadog_tags(standard_logging_obj) + tags_empty_request = get_datadog_tags(standard_logging_obj) assert "request_tag:" not in tags_empty_request # Test with None request_tags standard_logging_obj["request_tags"] = None - tags_none_request = DataDogLogger._get_datadog_tags(standard_logging_obj) + tags_none_request = get_datadog_tags(standard_logging_obj) assert "request_tag:" not in tags_none_request @@ -693,4 +825,4 @@ def test_datadog_ignores_ddtrace_agent_host(): ) # Verify API key is set correctly - assert dd_logger.DD_API_KEY == "fake-api-key" \ No newline at end of file + assert dd_logger.DD_API_KEY == "fake-api-key" diff --git a/tests/logging_callback_tests/test_spend_logs.py b/tests/logging_callback_tests/test_spend_logs.py index 4f6d443828..10c067b7bc 100644 --- a/tests/logging_callback_tests/test_spend_logs.py +++ b/tests/logging_callback_tests/test_spend_logs.py @@ -54,7 +54,7 @@ def test_spend_logs_payload(model_id: Optional[str]): }, "litellm_params": { "acompletion": True, - "api_key": "sk-test-mock-key-707", + "api_key": "23c217a5b59f41b6b7a198017f4792f2", "force_timeout": 600, "logger_fn": None, "verbose": False, @@ -65,7 +65,7 @@ def test_spend_logs_payload(model_id: Optional[str]): "completion_call_id": None, "metadata": { "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"], - "user_api_key": "sk-test-mock-api-key-123", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_alias": "custom-key-alias", "user_api_end_user_max_budget": None, "litellm_api_version": "0.0.0", @@ -243,7 +243,7 @@ def test_spend_logs_payload_whisper(): "litellm_params": { "api_base": "", "metadata": { - "user_api_key": "sk-test-mock-api-key-123", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_alias": None, "user_api_key_end_user_id": "test-user", "user_api_end_user_max_budget": None, diff --git a/tests/logging_callback_tests/test_view_request_resp_logs.py b/tests/logging_callback_tests/test_view_request_resp_logs.py index ea778a44e6..34e8d01303 100644 --- a/tests/logging_callback_tests/test_view_request_resp_logs.py +++ b/tests/logging_callback_tests/test_view_request_resp_logs.py @@ -42,7 +42,7 @@ mock_response_data = { "response_time": 0.1622769832611084, "model": "my-fake-model", "metadata": { - "user_api_key_hash": "sk-test-mock-api-key-123", + "user_api_key_hash": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_alias": None, "user_api_key_team_id": None, "user_api_key_org_id": None, diff --git a/tests/old_proxy_tests/tests/test_anthropic_sdk.py b/tests/old_proxy_tests/tests/test_anthropic_sdk.py index 289fc84554..073fafb079 100644 --- a/tests/old_proxy_tests/tests/test_anthropic_sdk.py +++ b/tests/old_proxy_tests/tests/test_anthropic_sdk.py @@ -6,7 +6,7 @@ client = Anthropic( # This is the default and can be omitted base_url="http://localhost:4000", # this is a litellm proxy key :) - not a real anthropic key - api_key="sk-test-proxy-key-123", + api_key="sk-s4xN1IiLTCytwtZFJaYQrA", ) message = client.messages.create( diff --git a/tests/otel_tests/test_prometheus.py b/tests/otel_tests/test_prometheus.py index c15d2d9f05..883562e882 100644 --- a/tests/otel_tests/test_prometheus.py +++ b/tests/otel_tests/test_prometheus.py @@ -8,7 +8,6 @@ import asyncio from litellm._uuid import uuid import os import sys -import hashlib from openai import AsyncOpenAI from typing import Dict, Any @@ -94,7 +93,7 @@ async def test_proxy_failure_metrics(): async with aiohttp.ClientSession() as session: # Make a bad chat completion call status, response_text = await make_bad_chat_completion_request( - session, "sk-test-1234" + session, "sk-1234" ) # Check if the request failed as expected @@ -106,12 +105,8 @@ async def test_proxy_failure_metrics(): print("/metrics", metrics) - # Compute expected hash for test key - test_key = "sk-test-1234" - expected_hash = hashlib.sha256(test_key.encode()).hexdigest() - # Check if the failure metric is present and correct - use pattern matching for robustness - expected_metric_pattern = f'litellm_proxy_failed_requests_metric_total{{api_key_alias="None",end_user="None",exception_class="Openai.RateLimitError",exception_status="429",hashed_api_key="{expected_hash}",requested_model="fake-azure-endpoint",route="/chat/completions",team="None",team_alias="None",user="default_user_id",user_email="None"}}' + expected_metric_pattern = 'litellm_proxy_failed_requests_metric_total{api_key_alias="None",end_user="None",exception_class="Openai.RateLimitError",exception_status="429",hashed_api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b",requested_model="fake-azure-endpoint",route="/chat/completions",team="None",team_alias="None",user="default_user_id",user_email="None"}' # Check if the pattern is in metrics (this metric doesn't include user_email field) assert any( @@ -119,7 +114,7 @@ async def test_proxy_failure_metrics(): ), f"Expected failure metric pattern not found in /metrics. Pattern: {expected_metric_pattern}" # Check total requests metric which includes user_email - total_requests_pattern = f'litellm_proxy_total_requests_metric_total{{api_key_alias="None",end_user="None",hashed_api_key="{expected_hash}",requested_model="fake-azure-endpoint",route="/chat/completions",status_code="429",team="None",team_alias="None",user="default_user_id",user_email="None"}}' + total_requests_pattern = 'litellm_proxy_total_requests_metric_total{api_key_alias="None",end_user="None",hashed_api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b",requested_model="fake-azure-endpoint",route="/chat/completions",status_code="429",team="None",team_alias="None",user="default_user_id",user_email="None"}' assert any( total_requests_pattern in line for line in metrics.split("\n") @@ -138,7 +133,7 @@ async def test_proxy_success_metrics(): async with aiohttp.ClientSession() as session: # Make a good chat completion call status, response_text = await make_good_chat_completion_request( - session, "sk-test-1234" + session, "sk-1234" ) # Check if the request succeeded as expected @@ -152,18 +147,14 @@ async def test_proxy_success_metrics(): assert END_USER_ID not in metrics - # Compute expected hash for test key - test_key = "sk-test-1234" - expected_hash = hashlib.sha256(test_key.encode()).hexdigest() - # Check if the success metric is present and correct assert ( - f'litellm_request_total_latency_metric_bucket{{api_key_alias="None",end_user="None",hashed_api_key="{expected_hash}",le="0.005",model="fake",requested_model="fake-openai-endpoint",team="None",team_alias="None",user="default_user_id"}}' + 'litellm_request_total_latency_metric_bucket{api_key_alias="None",end_user="None",hashed_api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b",le="0.005",model="fake",requested_model="fake-openai-endpoint",team="None",team_alias="None",user="default_user_id"}' in metrics ) assert ( - f'litellm_llm_api_latency_metric_bucket{{api_key_alias="None",end_user="None",hashed_api_key="{expected_hash}",le="0.005",model="fake",requested_model="fake-openai-endpoint",team="None",team_alias="None",user="default_user_id"}}' + 'litellm_llm_api_latency_metric_bucket{api_key_alias="None",end_user="None",hashed_api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b",le="0.005",model="fake",requested_model="fake-openai-endpoint",team="None",team_alias="None",user="default_user_id"}' in metrics ) @@ -224,7 +215,7 @@ async def test_proxy_fallback_metrics(): async with aiohttp.ClientSession() as session: # Make a good chat completion call - await make_chat_completion_request_with_fallback(session, "sk-test-1234") + await make_chat_completion_request_with_fallback(session, "sk-1234") # Get metrics async with session.get("http://0.0.0.0:4000/metrics") as response: @@ -232,19 +223,15 @@ async def test_proxy_fallback_metrics(): print("/metrics", metrics) - # Compute expected hash for test key - test_key = "sk-test-1234" - expected_hash = hashlib.sha256(test_key.encode()).hexdigest() - # Check if successful fallback metric is incremented assert ( - f'litellm_deployment_successful_fallbacks_total{{api_key_alias="None",exception_class="Openai.RateLimitError",exception_status="429",fallback_model="fake-openai-endpoint",hashed_api_key="{expected_hash}",requested_model="fake-azure-endpoint",team="None",team_alias="None"}} 1.0' + 'litellm_deployment_successful_fallbacks_total{api_key_alias="None",exception_class="Openai.RateLimitError",exception_status="429",fallback_model="fake-openai-endpoint",hashed_api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b",requested_model="fake-azure-endpoint",team="None",team_alias="None"} 1.0' in metrics ) # Check if failed fallback metric is incremented assert ( - f'litellm_deployment_failed_fallbacks_total{{api_key_alias="None",exception_class="Openai.RateLimitError",exception_status="429",fallback_model="unknown-model",hashed_api_key="{expected_hash}",requested_model="fake-azure-endpoint",team="None",team_alias="None"}} 1.0' + 'litellm_deployment_failed_fallbacks_total{api_key_alias="None",exception_class="Openai.RateLimitError",exception_status="429",fallback_model="unknown-model",hashed_api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b",requested_model="fake-azure-endpoint",team="None",team_alias="None"} 1.0' in metrics ) @@ -255,7 +242,7 @@ async def create_test_team( """Create a new team and return the team_id""" url = "http://0.0.0.0:4000/team/new" headers = { - "Authorization": "Bearer sk-test-1234", + "Authorization": "Bearer sk-1234", "Content-Type": "application/json", } @@ -273,7 +260,7 @@ async def create_test_user( """Create a new user and return the user info""" url = "http://0.0.0.0:4000/user/new" headers = { - "Authorization": "Bearer sk-test-1234", + "Authorization": "Bearer sk-1234", "Content-Type": "application/json", } @@ -320,7 +307,7 @@ async def create_test_key(session: aiohttp.ClientSession, team_id: str) -> str: """Generate a new key for the team and return it""" url = "http://0.0.0.0:4000/key/generate" headers = { - "Authorization": "Bearer sk-test-1234", + "Authorization": "Bearer sk-1234", "Content-Type": "application/json", } data = { @@ -339,7 +326,7 @@ async def get_team_info(session: aiohttp.ClientSession, team_id: str) -> Dict[st """Fetch team info and return the response""" url = f"http://0.0.0.0:4000/team/info?team_id={team_id}" headers = { - "Authorization": "Bearer sk-test-1234", + "Authorization": "Bearer sk-1234", } async with session.get(url, headers=headers) as response: @@ -428,7 +415,7 @@ async def create_test_key_with_budget( """Generate a new key with budget constraints and return it""" url = "http://0.0.0.0:4000/key/generate" headers = { - "Authorization": "Bearer sk-test-1234", + "Authorization": "Bearer sk-1234", "Content-Type": "application/json", } print("budget_data", budget_data) diff --git a/tests/pass_through_unit_tests/test_unit_test_anthropic_pass_through.py b/tests/pass_through_unit_tests/test_unit_test_anthropic_pass_through.py index 97a1f2eecc..581f1d1979 100644 --- a/tests/pass_through_unit_tests/test_unit_test_anthropic_pass_through.py +++ b/tests/pass_through_unit_tests/test_unit_test_anthropic_pass_through.py @@ -105,7 +105,7 @@ def test_create_anthropic_response_logging_payload(mock_logging_obj, metadata_pa kwargs={ "litellm_params": { "metadata": { - "user_api_key": "sk-test-mock-api-key-123", + "user_api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_user_id": "default_user_id", "user_api_key_team_id": None, "user_api_key_end_user_id": ("test" if metadata_params else ""), diff --git a/tests/proxy_unit_tests/test_db_schema_migration.py b/tests/proxy_unit_tests/test_db_schema_migration.py index a8fa324212..b317818375 100644 --- a/tests/proxy_unit_tests/test_db_schema_migration.py +++ b/tests/proxy_unit_tests/test_db_schema_migration.py @@ -21,7 +21,7 @@ def test_aaaasschema_migration_check(schema_setup, monkeypatch): """Test to check if schema requires migration""" # Set test database URL test_db_url = f"postgresql://{schema_setup.info.user}:@{schema_setup.info.host}:{schema_setup.info.port}/{schema_setup.info.dbname}" - # test_db_url = "postgresql://test-user:test-password@test-host.example.com/test-db?sslmode=require" + # test_db_url = "postgresql://neondb_owner:npg_JiZPS0DAhRn4@ep-delicate-wave-a55cvbuc.us-east-2.aws.neon.tech/neondb?sslmode=require" monkeypatch.setenv("DATABASE_URL", test_db_url) deploy_dir = Path("./litellm-proxy-extras/litellm_proxy_extras") diff --git a/tests/proxy_unit_tests/test_jwt.py b/tests/proxy_unit_tests/test_jwt.py index 2af61aa265..5743499397 100644 --- a/tests/proxy_unit_tests/test_jwt.py +++ b/tests/proxy_unit_tests/test_jwt.py @@ -1266,7 +1266,7 @@ def test_user_api_key_auth_jwt_hashing(): from litellm.proxy.auth.handle_jwt import JWTHandler # Test with a JWT token (3 parts separated by dots) - jwt_token = "test-jwt-token-header.payload.signature" + jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" # Create UserAPIKeyAuth instance with JWT user_auth = UserAPIKeyAuth(api_key=jwt_token) @@ -1303,7 +1303,7 @@ def test_jwt_handler_is_jwt_static_method(): from litellm.proxy.auth.handle_jwt import JWTHandler # Test with valid JWT format - valid_jwt = "test-jwt-token-header.payload.signature" + valid_jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" assert JWTHandler.is_jwt(valid_jwt) == True # Test with invalid JWT format (only 2 parts) diff --git a/tests/proxy_unit_tests/test_proxy_utils.py b/tests/proxy_unit_tests/test_proxy_utils.py index 5c3c394892..cd86ace951 100644 --- a/tests/proxy_unit_tests/test_proxy_utils.py +++ b/tests/proxy_unit_tests/test_proxy_utils.py @@ -238,7 +238,7 @@ def test_dynamic_logging_metadata_key_and_team_metadata(callback_vars): proxy_config = ProxyConfig() user_api_key_dict = UserAPIKeyAuth( - token="sk-test-mock-token-789", + token="6f8688eaff1d37555bb9e9a6390b6d7032b3ab2526ba0152da87128eab956432", key_name="sk-...63Fg", key_alias=None, spend=0.000111, @@ -287,7 +287,7 @@ def test_dynamic_logging_metadata_key_and_team_metadata(callback_vars): end_user_rpm_limit=None, end_user_max_budget=None, last_refreshed_at=1726101560.967527, - api_key="sk-test-mock-api-key-202", + api_key="7c305cc48fe72272700dc0d67dc691c2d1f2807490ef5eb2ee1d3a3ca86e12b1", user_role=LitellmUserRoles.INTERNAL_USER, allowed_model_region=None, parent_otel_span=None, @@ -320,7 +320,7 @@ def test_dynamic_turn_off_message_logging(callback_vars): proxy_config = ProxyConfig() user_api_key_dict = UserAPIKeyAuth( - token="sk-test-mock-token-789", + token="6f8688eaff1d37555bb9e9a6390b6d7032b3ab2526ba0152da87128eab956432", key_name="sk-...63Fg", key_alias=None, spend=0.000111, @@ -368,7 +368,7 @@ def test_dynamic_turn_off_message_logging(callback_vars): end_user_rpm_limit=None, end_user_max_budget=None, last_refreshed_at=1726101560.967527, - api_key="sk-test-mock-api-key-202", + api_key="7c305cc48fe72272700dc0d67dc691c2d1f2807490ef5eb2ee1d3a3ca86e12b1", user_role=LitellmUserRoles.INTERNAL_USER, allowed_model_region=None, parent_otel_span=None, @@ -1272,7 +1272,7 @@ def test_litellm_verification_token_view_response_with_budget_table( from litellm.proxy._types import LiteLLM_VerificationTokenView args: Dict[str, Any] = { - "token": "sk-test-mock-token-303", + "token": "78b627d4d14bc3acf5571ae9cb6834e661bc8794d1209318677387add7621ce1", "key_name": "sk-...if_g", "key_alias": None, "soft_budget_cooldown": False, diff --git a/tests/proxy_unit_tests/test_skills_db.py b/tests/proxy_unit_tests/test_skills_db.py index ec72087849..548ddd278b 100644 --- a/tests/proxy_unit_tests/test_skills_db.py +++ b/tests/proxy_unit_tests/test_skills_db.py @@ -108,7 +108,7 @@ async def test_create_skill_sdk(prisma_client): # Verify skill was created correctly assert skill is not None assert skill.id is not None - assert skill.id.startswith("skill_") + assert skill.id.startswith("litellm_skill") assert skill.display_title == "SDK Test Skill" assert skill.type == "skill" assert skill.source == "custom" diff --git a/tests/proxy_unit_tests/test_user_api_key_auth.py b/tests/proxy_unit_tests/test_user_api_key_auth.py index 72d13aadad..ec61c7305b 100644 --- a/tests/proxy_unit_tests/test_user_api_key_auth.py +++ b/tests/proxy_unit_tests/test_user_api_key_auth.py @@ -696,7 +696,7 @@ def test_is_allowed_route(): "request": request, "request_data": {"input": ["hello world"], "model": "embedding-small"}, "valid_token": UserAPIKeyAuth( - token="sk-test-mock-token-101", + token="9644159bc181998825c44c788b1526341ed2e825d1b6f562e23173759e14bb86", key_name="sk-...CJjQ", key_alias=None, spend=0.0, diff --git a/tests/test_callbacks_on_proxy.py b/tests/test_callbacks_on_proxy.py index 3bc07da8db..831ca449f8 100644 --- a/tests/test_callbacks_on_proxy.py +++ b/tests/test_callbacks_on_proxy.py @@ -26,7 +26,7 @@ async def config_update(session, routing_strategy=None): }, "general_settings": { "alert_to_webhook_url": { - "llm_exceptions": "example-slack-webhook-url" + "llm_exceptions": "https://hooks.slack.com/services/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" }, "alert_types": ["llm_exceptions", "db_exceptions"], }, diff --git a/tests/test_litellm/completion_extras/litellm_responses_transformation/test_completion_extras_litellm_responses_transformation_transformation.py b/tests/test_litellm/completion_extras/litellm_responses_transformation/test_completion_extras_litellm_responses_transformation_transformation.py index 2e7a64df8b..4320c932f4 100644 --- a/tests/test_litellm/completion_extras/litellm_responses_transformation/test_completion_extras_litellm_responses_transformation_transformation.py +++ b/tests/test_litellm/completion_extras/litellm_responses_transformation/test_completion_extras_litellm_responses_transformation_transformation.py @@ -802,15 +802,15 @@ def test_text_plus_tool_calls_sequence(): # ============================================================================= -def test_tool_message_output_is_string_not_list(): +def test_tool_message_output_uses_input_text_not_output_text(): """ - Test that tool message content is converted to a string, not a list. + Test that tool message content uses input_text type, not output_text. This is a regression test for a bug where tool results were transformed to: {"type": "function_call_output", "output": [{"type": "output_text", "text": "..."}]} - But the Responses API expects: - {"type": "function_call_output", "output": "..."} + But the Responses API expects input_text for tool results: + {"type": "function_call_output", "output": [{"type": "input_text", "text": "..."}]} The incorrect format caused OpenAI to reject with: "Invalid value: 'output_text'. Supported values are: 'input_text', 'input_image', and 'input_file'." @@ -856,12 +856,14 @@ def test_tool_message_output_is_string_not_list(): assert function_call_output is not None, "function_call_output not found" assert function_call_output["call_id"] == "call_abc123" - # The output should be a string, NOT a list + # The output should be a list with input_text type output = function_call_output["output"] - assert isinstance(output, str), f"output should be a string, got {type(output)}" - assert output == '{"temperature": 15, "condition": "sunny"}' + assert isinstance(output, list), f"output should be a list, got {type(output)}" + assert len(output) == 1 + assert output[0]["type"] == "input_text", f"Expected input_text, got {output[0].get('type')}" + assert output[0]["text"] == '{"temperature": 15, "condition": "sunny"}' - print("✓ Tool message output is correctly a string, not a list") + print("✓ Tool message output correctly uses input_text type") def test_multiple_tool_calls_in_single_choice(): diff --git a/tests/test_litellm/integrations/cloudzero/test_cloudzero.py b/tests/test_litellm/integrations/cloudzero/test_cloudzero.py index e45db8df10..863d79d745 100644 --- a/tests/test_litellm/integrations/cloudzero/test_cloudzero.py +++ b/tests/test_litellm/integrations/cloudzero/test_cloudzero.py @@ -1,8 +1,9 @@ -import pytest -import polars as pl - -from unittest.mock import AsyncMock, MagicMock, patch from datetime import datetime +from unittest.mock import AsyncMock, MagicMock, patch + +import polars as pl +import pytest + from litellm.integrations.cloudzero.cloudzero import CloudZeroLogger from litellm.integrations.cloudzero.cz_stream_api import CloudZeroStreamer from litellm.integrations.cloudzero.database import LiteLLMDatabase @@ -46,7 +47,7 @@ class TestCloudZeroHourlyExport: { "team_id": ["a3d6b0bb-098f-4260-81d6-fabae695b622"], "key_alias": ["key_1"], - "token": ["sk-test-cloudzero-token-010"], + "token": ["c1465c9a821f420927b3d81972323fb516745bc93a4a54ceca0ce6ddf6100c39"], } ) 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 08d71d4bcd..9b150fd89f 100644 --- a/tests/test_litellm/litellm_core_utils/test_litellm_logging.py +++ b/tests/test_litellm/litellm_core_utils/test_litellm_logging.py @@ -161,6 +161,40 @@ def test_logging_prevent_double_logging(logging_obj): assert logging_obj.should_run_logging(event_type="async_failure") == True +@pytest.mark.asyncio +async def test_datadog_logger_not_shadowed_by_llm_obs(monkeypatch): + """Ensure DataDog logger instantiates even when LLM Obs logger already cached.""" + + # Ensure required env vars exist for Datadog loggers + monkeypatch.setenv("DD_API_KEY", "test") + monkeypatch.setenv("DD_SITE", "us5.datadoghq.com") + + from litellm.litellm_core_utils import litellm_logging as logging_module + from litellm.integrations.datadog.datadog import DataDogLogger + from litellm.integrations.datadog.datadog_llm_obs import DataDogLLMObsLogger + + logging_module._in_memory_loggers.clear() + + try: + # Cache an LLM Obs logger first to mirror callbacks=["datadog_llm_observability", ...] + obs_logger = DataDogLLMObsLogger() + logging_module._in_memory_loggers.append(obs_logger) + + datadog_logger = logging_module._init_custom_logger_compatible_class( + logging_integration="datadog", + internal_usage_cache=None, + llm_router=None, + custom_logger_init_args={}, + ) + + # Regression check: we expect a distinct DataDogLogger, not the LLM Obs logger + assert type(datadog_logger) is DataDogLogger + assert any(isinstance(cb, DataDogLLMObsLogger) for cb in logging_module._in_memory_loggers) + assert any(type(cb) is DataDogLogger for cb in logging_module._in_memory_loggers) + finally: + logging_module._in_memory_loggers.clear() + + @pytest.mark.asyncio async def test_logging_result_for_bridge_calls(logging_obj): """ diff --git a/tests/test_litellm/llms/bedrock/image/test_bedrock_image_prepare_request.py b/tests/test_litellm/llms/bedrock/image/test_bedrock_image_prepare_request.py index 6c56ccc1ef..5d4fd45271 100644 --- a/tests/test_litellm/llms/bedrock/image/test_bedrock_image_prepare_request.py +++ b/tests/test_litellm/llms/bedrock/image/test_bedrock_image_prepare_request.py @@ -1,15 +1,17 @@ -from unittest.mock import patch, MagicMock +from unittest.mock import MagicMock, patch from litellm.llms.bedrock.image_generation.image_handler import BedrockImageGeneration + def test_bedrock_image_prepare_request_with_arn() -> None: + """Test that ARN model identifiers are correctly URL-encoded in the request endpoint.""" dummy_arn = "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abcdefghi123" image_generation = BedrockImageGeneration() with ( - patch("litellm.llms.bedrock.image.image_handler.BedrockImageGeneration._get_boto_credentials_from_optional_params"), - patch("litellm.llms.bedrock.image.image_handler.BedrockImageGeneration.get_request_headers"), + patch("litellm.llms.bedrock.image_generation.image_handler.BedrockImageGeneration._get_boto_credentials_from_optional_params"), + patch("litellm.llms.bedrock.image_generation.image_handler.BedrockImageGeneration.get_request_headers"), ): request = image_generation._prepare_request( model="amazon.nova-canvas-v1:0", @@ -27,11 +29,12 @@ def test_bedrock_image_prepare_request_with_arn() -> None: def test_bedrock_image_prepare_request_without_arn() -> None: + """Test that regular model identifiers are used directly in the request endpoint.""" image_generation = BedrockImageGeneration() with ( - patch("litellm.llms.bedrock.image.image_handler.BedrockImageGeneration._get_boto_credentials_from_optional_params"), - patch("litellm.llms.bedrock.image.image_handler.BedrockImageGeneration.get_request_headers"), + patch("litellm.llms.bedrock.image_generation.image_handler.BedrockImageGeneration._get_boto_credentials_from_optional_params"), + patch("litellm.llms.bedrock.image_generation.image_handler.BedrockImageGeneration.get_request_headers"), ): request = image_generation._prepare_request( model="amazon.nova-canvas-v1:0", diff --git a/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py b/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py index c209b27bc9..783d85f471 100644 --- a/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py +++ b/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py @@ -614,6 +614,59 @@ def test_vertex_ai_usage_metadata_with_image_tokens_auto_calculated_text(): assert result.completion_tokens_details.reasoning_tokens == 158 +def test_vertex_ai_usage_metadata_with_image_tokens_in_prompt(): + """Test promptTokensDetails with IMAGE modality for multimodal inputs + + This test verifies the fix for issue #18182 where image_tokens were missing + from prompt_tokens_details when calling Gemini models with image inputs. + + Example scenario: User sends a text prompt + image, and Gemini generates an image response. + The promptTokensDetails should include both TEXT and IMAGE token counts. + + In this test case, candidatesTokenCount is INCLUSIVE of thoughtsTokenCount because: + promptTokenCount (533) + candidatesTokenCount (1337) = totalTokenCount (1870) + """ + v = VertexGeminiConfig() + usage_metadata = { + "promptTokenCount": 533, + "candidatesTokenCount": 1337, # INCLUSIVE of thoughtsTokenCount + "totalTokenCount": 1870, + "promptTokensDetails": [ + {"modality": "IMAGE", "tokenCount": 527}, + {"modality": "TEXT", "tokenCount": 6} + ], + "candidatesTokensDetails": [ + {"modality": "IMAGE", "tokenCount": 1120} + ], + "thoughtsTokenCount": 217 + } + usage_metadata = UsageMetadata(**usage_metadata) + result = v._calculate_usage(completion_response={"usageMetadata": usage_metadata}) + print("result", result) + + # Verify basic token counts + assert result.prompt_tokens == 533 + # candidatesTokenCount is INCLUSIVE, so completion_tokens = candidatesTokenCount + assert result.completion_tokens == 1337 + assert result.total_tokens == 1870 + + # Verify prompt_tokens_details includes both text and image tokens + assert result.prompt_tokens_details.text_tokens == 6 + assert result.prompt_tokens_details.image_tokens == 527 + + # Verify completion_tokens_details + assert result.completion_tokens_details.image_tokens == 1120 + assert result.completion_tokens_details.reasoning_tokens == 217 + + # Verify the math: prompt_tokens = text + image + # 533 = 6 (text) + 527 (image) + assert ( + result.prompt_tokens_details.text_tokens + + result.prompt_tokens_details.image_tokens + == result.prompt_tokens + ) + + def test_vertex_ai_map_thinking_param_with_budget_tokens_0(): """ If budget_tokens is 0, do not set includeThoughts to True diff --git a/tests/test_litellm/llms/vertex_ai/test_bge_embedding.py b/tests/test_litellm/llms/vertex_ai/test_bge_embedding.py index 1f0f3346c2..4a06e9ea1a 100644 --- a/tests/test_litellm/llms/vertex_ai/test_bge_embedding.py +++ b/tests/test_litellm/llms/vertex_ai/test_bge_embedding.py @@ -193,7 +193,7 @@ def test_vertex_ai_bge_psc_endpoint_url_construction(): client = HTTPHandler() def mock_auth_token(*args, **kwargs): - return "test-token-123", "test-gcp-project-id-123" + return "fake-token", "gen-lang-client-0682925754" with patch.object(client, "post") as mock_post, patch( "litellm.llms.vertex_ai.vertex_embeddings.embedding_handler.VertexEmbedding._ensure_access_token", @@ -212,7 +212,7 @@ def test_vertex_ai_bge_psc_endpoint_url_construction(): model="vertex_ai/bge/378943383978115072", input=["The food was delicious and the waiter.."], api_base="http://10.128.16.2", - vertex_project="test-gcp-project-id-123", + vertex_project="gen-lang-client-0682925754", vertex_location="us-central1", client=client, use_psc_endpoint_format=True # Enable PSC endpoint format for this test @@ -239,7 +239,7 @@ def test_vertex_ai_bge_psc_endpoint_url_construction(): print("="*50 + "\n") # Verify the URL is constructed correctly - expected_url = "http://10.128.16.2/v1/projects/test-gcp-project-id-123/locations/us-central1/endpoints/378943383978115072:predict" + expected_url = "http://10.128.16.2/v1/projects/gen-lang-client-0682925754/locations/us-central1/endpoints/378943383978115072:predict" assert api_url_called == expected_url, f"Expected URL: {expected_url}, Got: {api_url_called}" # Verify bge/ prefix is NOT in the URL diff --git a/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py b/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py index e1e4b3a8b6..21782f4218 100644 --- a/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py +++ b/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py @@ -332,7 +332,7 @@ class TestMCPRequestHandler: async def mock_user_api_key_auth(api_key, request): return UserAPIKeyAuth( token=( - "test-token-sha256-empty-hash" + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" if api_key else None ), @@ -691,7 +691,7 @@ class TestMCPCustomHeaderName: # Create an async mock for user_api_key_auth async def mock_user_api_key_auth(api_key, request): return UserAPIKeyAuth( - token="test-token-sha256-empty-hash", + token="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", api_key=api_key, user_id="test-user-id", team_id="test-team-id", @@ -866,7 +866,7 @@ class TestMCPAccessGroupsE2E: # Create an async mock for user_api_key_auth async def mock_user_api_key_auth(api_key, request): return UserAPIKeyAuth( - token="test-token-sha256-empty-hash", + token="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", api_key=api_key, user_id="test-user-id", team_id="test-team-id", @@ -917,7 +917,7 @@ class TestMCPAccessGroupsE2E: # Create an async mock for user_api_key_auth async def mock_user_api_key_auth(api_key, request): return UserAPIKeyAuth( - token="test-token-sha256-empty-hash", + token="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", api_key=api_key, user_id="test-user-id", team_id="test-team-id", diff --git a/tests/test_litellm/proxy/auth/test_user_api_key_auth.py b/tests/test_litellm/proxy/auth/test_user_api_key_auth.py index 04aeddb8f2..fcc8c1f0f2 100644 --- a/tests/test_litellm/proxy/auth/test_user_api_key_auth.py +++ b/tests/test_litellm/proxy/auth/test_user_api_key_auth.py @@ -278,8 +278,8 @@ async def test_proxy_admin_expired_key_from_cache(): mock_proxy_logging_obj.internal_usage_cache = MagicMock() mock_proxy_logging_obj.internal_usage_cache.dual_cache = AsyncMock() mock_proxy_logging_obj.internal_usage_cache.dual_cache.async_delete_cache = AsyncMock() - # Mock post_call_failure_hook as async function - mock_proxy_logging_obj.post_call_failure_hook = AsyncMock() + # Mock post_call_failure_hook as async function returning None (no transformation) + mock_proxy_logging_obj.post_call_failure_hook = AsyncMock(return_value=None) # Mock prisma_client mock_prisma_client = MagicMock() diff --git a/tests/test_litellm/proxy/guardrails/guardrail_hooks/content_filter/test_content_filter.py b/tests/test_litellm/proxy/guardrails/guardrail_hooks/content_filter/test_content_filter.py index 3e82c8ed0a..474d2a3003 100644 --- a/tests/test_litellm/proxy/guardrails/guardrail_hooks/content_filter/test_content_filter.py +++ b/tests/test_litellm/proxy/guardrails/guardrail_hooks/content_filter/test_content_filter.py @@ -761,3 +761,153 @@ class TestContentFilterGuardrail: assert "Key1" not in result[0] assert "Key2" not in result[0] assert result[0].count("[CUSTOM_KEY_REDACTED]") == 3 + + @pytest.mark.asyncio + async def test_apply_guardrail_logs_guardrail_information(self): + """ + Test that apply_guardrail calls add_standard_logging_guardrail_information_to_request_data + with correct detection information, excluding sensitive content. + """ + patterns = [ + ContentFilterPattern( + pattern_type="prebuilt", + pattern_name="email", + action=ContentFilterAction.MASK, + ), + ] + + blocked_words = [ + BlockedWord( + keyword="confidential", + action=ContentFilterAction.MASK, + description="Test keyword", + ), + ] + + guardrail = ContentFilterGuardrail( + guardrail_name="test-logging", + patterns=patterns, + blocked_words=blocked_words, + ) + + request_data = { + "messages": [{"role": "user", "content": "Test"}], + "model": "gpt-4o", + "metadata": {}, + } + + # Apply guardrail with content that triggers detections + # Email will be masked, blocked word will be masked + result = await guardrail.apply_guardrail( + inputs={"texts": ["Contact me at test@example.com for confidential info"]}, + request_data=request_data, + input_type="request", + ) + + # Verify guardrail information was added to metadata + assert "metadata" in request_data + assert "standard_logging_guardrail_information" in request_data["metadata"] + + guardrail_info_list = request_data["metadata"]["standard_logging_guardrail_information"] + assert isinstance(guardrail_info_list, list) + assert len(guardrail_info_list) == 1 + + guardrail_info = guardrail_info_list[0] + + # Verify basic fields + assert guardrail_info["guardrail_name"] == "test-logging" + assert guardrail_info["guardrail_provider"] == "litellm_content_filter" + assert guardrail_info["guardrail_status"] == "success" + assert "start_time" in guardrail_info + assert "end_time" in guardrail_info + assert "duration" in guardrail_info + assert guardrail_info["duration"] > 0 + assert guardrail_info["start_time"] < guardrail_info["end_time"] + + # Verify detections are logged + assert "guardrail_response" in guardrail_info + detections = guardrail_info["guardrail_response"] + assert isinstance(detections, list) + assert len(detections) >= 2 # At least email pattern and blocked word + + # Verify pattern detection structure (without sensitive content) + pattern_detections = [d for d in detections if d.get("type") == "pattern"] + assert len(pattern_detections) > 0 + for detection in pattern_detections: + assert detection["type"] == "pattern" + assert "pattern_name" in detection + assert detection["pattern_name"] == "email" + assert "action" in detection + assert detection["action"] == "MASK" + # Verify sensitive content (matched_text) is NOT included + assert "matched_text" not in detection, "Sensitive content should not be logged" + + # Verify blocked word detection structure + blocked_word_detections = [d for d in detections if d.get("type") == "blocked_word"] + assert len(blocked_word_detections) > 0 + for detection in blocked_word_detections: + assert detection["type"] == "blocked_word" + assert "keyword" in detection + assert detection["keyword"] == "confidential" # Config keyword, not user content + assert "action" in detection + assert detection["action"] == "MASK" + assert "description" in detection + assert detection["description"] == "Test keyword" + + # Verify masked entity count + assert "masked_entity_count" in guardrail_info + masked_count = guardrail_info["masked_entity_count"] + assert isinstance(masked_count, dict) + # Should have counts for masked entities + assert len(masked_count) > 0 + + @pytest.mark.asyncio + async def test_apply_guardrail_logs_blocked_status(self): + """ + Test that apply_guardrail logs guardrail_intervened status when content is blocked. + """ + patterns = [ + ContentFilterPattern( + pattern_type="prebuilt", + pattern_name="us_ssn", + action=ContentFilterAction.BLOCK, + ), + ] + + guardrail = ContentFilterGuardrail( + guardrail_name="test-block-logging", + patterns=patterns, + ) + + request_data = { + "messages": [{"role": "user", "content": "Test"}], + "model": "gpt-4o", + "metadata": {}, + } + + # Apply guardrail with content that triggers BLOCK + with pytest.raises(HTTPException): + await guardrail.apply_guardrail( + inputs={"texts": ["My SSN is 123-45-6789"]}, + request_data=request_data, + input_type="request", + ) + + # Verify guardrail information was added even when blocked + assert "metadata" in request_data + assert "standard_logging_guardrail_information" in request_data["metadata"] + + guardrail_info_list = request_data["metadata"]["standard_logging_guardrail_information"] + assert len(guardrail_info_list) == 1 + + guardrail_info = guardrail_info_list[0] + assert guardrail_info["guardrail_status"] == "guardrail_intervened" + assert guardrail_info["guardrail_name"] == "test-block-logging" + + # Verify detection is logged (even though request was blocked) + detections = guardrail_info.get("guardrail_response", []) + if isinstance(detections, list) and len(detections) > 0: + # If detections are logged, verify they don't contain sensitive content + for detection in detections: + if detection.get("type") == "pattern": + assert "matched_text" not in detection, "Sensitive content should not be logged" diff --git a/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_generic_guardrail_api.py b/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_generic_guardrail_api.py index f3de89d6d6..eeae0ece02 100644 --- a/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_generic_guardrail_api.py +++ b/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_generic_guardrail_api.py @@ -43,8 +43,8 @@ def mock_user_api_key_dict(): team_id="test-team", team_alias=None, user_role=None, - api_key="a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", - token="a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + api_key="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", + token="88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", permissions={}, models=[], spend=0.0, @@ -71,7 +71,7 @@ def mock_request_data_input(): ], "litellm_call_id": "test-call-id", "metadata": { - "user_api_key_hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + "user_api_key_hash": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "user_api_key_user_id": "default_user_id", "user_api_key_user_email": "test@example.com", "user_api_key_team_id": "test-team", @@ -197,7 +197,7 @@ class TestMetadataExtraction: # Verify metadata was extracted from request_data["metadata"] assert ( request_metadata["user_api_key_hash"] - == "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456" + == "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b" ) assert request_metadata["user_api_key_user_id"] == "default_user_id" assert request_metadata["user_api_key_user_email"] == "test@example.com" diff --git a/tests/test_litellm/proxy/hooks/test_post_call_failure_hook_integration.py b/tests/test_litellm/proxy/hooks/test_post_call_failure_hook_integration.py new file mode 100644 index 0000000000..7223c2e1f0 --- /dev/null +++ b/tests/test_litellm/proxy/hooks/test_post_call_failure_hook_integration.py @@ -0,0 +1,146 @@ +""" +Integration tests for async_post_call_failure_hook. + +Tests verify that the failure hook can transform error responses sent to clients, +similar to how async_post_call_success_hook can transform successful responses. +""" + +import os +import sys +import pytest +from typing import Optional +from unittest.mock import patch + +sys.path.insert(0, os.path.abspath("../../../..")) + +from fastapi import HTTPException +from litellm.integrations.custom_logger import CustomLogger +from litellm.proxy._types import UserAPIKeyAuth + + +class ErrorTransformerLogger(CustomLogger): + """Logger that transforms errors into user-friendly messages""" + + def __init__(self): + self.called = False + self.transformed_exception = None + + async def async_post_call_failure_hook( + self, + request_data: dict, + original_exception: Exception, + user_api_key_dict: UserAPIKeyAuth, + traceback_str: Optional[str] = None, + ): + self.called = True + self.transformed_exception = HTTPException( + status_code=400, + detail="User-friendly error: Your request could not be processed." + ) + return self.transformed_exception + + +@pytest.mark.asyncio +async def test_failure_hook_transforms_error_response(): + """ + Test that async_post_call_failure_hook can transform error responses. + This mirrors how async_post_call_success_hook can transform successful responses. + """ + transformer = ErrorTransformerLogger() + + # Mock litellm.callbacks to include our transformer + with patch("litellm.callbacks", [transformer]): + from litellm.proxy.utils import ProxyLogging + from litellm.caching.caching import DualCache + + proxy_logging = ProxyLogging(user_api_key_cache=DualCache()) + original_exception = Exception("Technical error message") + request_data = {"model": "test-model"} + user_api_key_dict = UserAPIKeyAuth(api_key="test-key") + + # Call the hook + result = await proxy_logging.post_call_failure_hook( + request_data=request_data, + original_exception=original_exception, + user_api_key_dict=user_api_key_dict, + ) + + # Verify hook was called + assert transformer.called is True + + # Verify transformed exception is returned + assert result is not None + assert isinstance(result, HTTPException) + assert result.detail == "User-friendly error: Your request could not be processed." + + +@pytest.mark.asyncio +async def test_failure_hook_returns_none_when_no_transformation(): + """ + Test that hook returning None uses original exception. + """ + class NoOpLogger(CustomLogger): + def __init__(self): + self.called = False + + async def async_post_call_failure_hook(self, *args, **kwargs): + self.called = True + return None + + logger = NoOpLogger() + + with patch("litellm.callbacks", [logger]): + from litellm.proxy.utils import ProxyLogging + from litellm.caching.caching import DualCache + + proxy_logging = ProxyLogging(user_api_key_cache=DualCache()) + original_exception = Exception("Original error") + request_data = {"model": "test"} + user_api_key_dict = UserAPIKeyAuth(api_key="test") + + result = await proxy_logging.post_call_failure_hook( + request_data=request_data, + original_exception=original_exception, + user_api_key_dict=user_api_key_dict, + ) + + # Should return None (original exception will be used) + assert result is None + assert logger.called is True + + +@pytest.mark.asyncio +async def test_failure_hook_handles_exceptions_gracefully(): + """ + Test that hook failures don't break the error flow. + """ + class FailingLogger(CustomLogger): + def __init__(self): + self.called = False + + async def async_post_call_failure_hook(self, *args, **kwargs): + self.called = True + raise RuntimeError("Hook crashed!") + + logger = FailingLogger() + + with patch("litellm.callbacks", [logger]): + from litellm.proxy.utils import ProxyLogging + from litellm.caching.caching import DualCache + + proxy_logging = ProxyLogging(user_api_key_cache=DualCache()) + original_exception = Exception("Original error") + request_data = {"model": "test"} + user_api_key_dict = UserAPIKeyAuth(api_key="test") + + # Should not raise, should handle gracefully + result = await proxy_logging.post_call_failure_hook( + request_data=request_data, + original_exception=original_exception, + user_api_key_dict=user_api_key_dict, + ) + + # Should return None (original exception will be used) + assert result is None + assert logger.called is True + diff --git a/tests/test_litellm/proxy/management_endpoints/test_ui_sso.py b/tests/test_litellm/proxy/management_endpoints/test_ui_sso.py index fa8157ff65..cc85dd50ad 100644 --- a/tests/test_litellm/proxy/management_endpoints/test_ui_sso.py +++ b/tests/test_litellm/proxy/management_endpoints/test_ui_sso.py @@ -2050,7 +2050,7 @@ class TestProcessSSOJWTAccessToken: @pytest.fixture def sample_jwt_token(self): """Create a sample JWT token string""" - return "test-jwt-token-header.payload.signature" + return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" @pytest.fixture def sample_jwt_payload(self): @@ -3045,6 +3045,111 @@ class TestAddMissingTeamMember: ), f"Expected teams {expected_teams_added}, but got {added_teams}" +@pytest.mark.asyncio +async def test_role_mappings_override_default_internal_user_params(): + """ + Test that when role_mappings is configured in SSO settings, + the SSO-extracted role overrides default_internal_user_params role. + """ + from litellm.proxy._types import NewUserResponse, SSOUserDefinedValues + from litellm.proxy.management_endpoints.ui_sso import insert_sso_user + + # Save original default_internal_user_params + original_default_params = getattr(litellm, "default_internal_user_params", None) + + try: + # Set default_internal_user_params with a role that should be overridden + litellm.default_internal_user_params = { + "user_role": "internal_user", + "max_budget": 100, + "budget_duration": "30d", + "models": ["gpt-3.5-turbo"], + } + + # Mock SSO result + mock_result_openid = CustomOpenID( + id="test-user-123", + email="test@example.com", + display_name="Test User", + provider="microsoft", + team_ids=[], + ) + + # User defined values with SSO-extracted role (from role_mappings) + user_defined_values: SSOUserDefinedValues = { + "user_id": "test-user-123", + "user_email": "test@example.com", + "user_role": "proxy_admin", # Role from SSO role_mappings + "max_budget": None, + "budget_duration": None, + "models": [], + } + + # Mock Prisma client with SSO config that has role_mappings configured + mock_prisma = MagicMock() + mock_sso_config = MagicMock() + mock_sso_config.sso_settings = { + "role_mappings": { + "Admin": "proxy_admin", + "User": "internal_user", + } + } + mock_prisma.db.litellm_ssoconfig.find_unique = AsyncMock( + return_value=mock_sso_config + ) + + # Mock new_user function + mock_new_user_response = NewUserResponse( + user_id="test-user-123", + key="sk-xxxxx", + teams=None, + ) + + with patch( + "litellm.proxy.utils.get_prisma_client_or_throw", + return_value=mock_prisma, + ), patch( + "litellm.proxy.management_endpoints.ui_sso.new_user", + return_value=mock_new_user_response, + ) as mock_new_user: + # Act + result = await insert_sso_user( + result_openid=mock_result_openid, + user_defined_values=user_defined_values, + ) + + # Assert - verify new_user was called with preserved SSO role + mock_new_user.assert_called_once() + call_args = mock_new_user.call_args + new_user_request = call_args.kwargs["data"] + + # The role from SSO should be preserved, not overridden by default_internal_user_params + assert ( + new_user_request.user_role == "proxy_admin" + ), "SSO-extracted role should override default_internal_user_params role" + + # Other default params should still be applied + assert ( + new_user_request.max_budget == 100 + ), "max_budget from default_internal_user_params should be applied" + assert ( + new_user_request.budget_duration == "30d" + ), "budget_duration from default_internal_user_params should be applied" + + # Note: models are applied via _update_internal_new_user_params inside new_user, + # not in insert_sso_user, so we verify user_defined_values was updated correctly + # by checking that the function completed successfully and other defaults were applied + # The models will be applied when new_user processes the request + + finally: + # Restore original default_internal_user_params + if original_default_params is not None: + litellm.default_internal_user_params = original_default_params + else: + if hasattr(litellm, "default_internal_user_params"): + delattr(litellm, "default_internal_user_params") + + class TestSSOReadinessEndpoint: """Test the /sso/readiness endpoint""" @@ -3052,6 +3157,7 @@ class TestSSOReadinessEndpoint: async def test_sso_readiness_no_sso_configured(self): """Test that readiness returns healthy when no SSO is configured""" from fastapi.testclient import TestClient + from litellm.proxy._types import LitellmUserRoles, UserAPIKeyAuth from litellm.proxy.auth.user_api_key_auth import user_api_key_auth from litellm.proxy.proxy_server import app @@ -3080,6 +3186,7 @@ class TestSSOReadinessEndpoint: async def test_sso_readiness_google_fully_configured(self): """Test that readiness returns healthy when Google SSO is fully configured""" from fastapi.testclient import TestClient + from litellm.proxy._types import LitellmUserRoles, UserAPIKeyAuth from litellm.proxy.auth.user_api_key_auth import user_api_key_auth from litellm.proxy.proxy_server import app @@ -3116,6 +3223,7 @@ class TestSSOReadinessEndpoint: async def test_sso_readiness_google_missing_secret(self): """Test that readiness returns unhealthy when Google SSO is missing GOOGLE_CLIENT_SECRET""" from fastapi.testclient import TestClient + from litellm.proxy._types import LitellmUserRoles, UserAPIKeyAuth from litellm.proxy.auth.user_api_key_auth import user_api_key_auth from litellm.proxy.proxy_server import app @@ -3173,6 +3281,7 @@ class TestSSOReadinessEndpoint: ): """Test Microsoft SSO readiness with both fully configured and missing variables""" from fastapi.testclient import TestClient + from litellm.proxy._types import LitellmUserRoles, UserAPIKeyAuth from litellm.proxy.auth.user_api_key_auth import user_api_key_auth from litellm.proxy.proxy_server import app @@ -3242,6 +3351,7 @@ class TestSSOReadinessEndpoint: ): """Test Generic SSO readiness with both fully configured and missing variables""" from fastapi.testclient import TestClient + from litellm.proxy._types import LitellmUserRoles, UserAPIKeyAuth from litellm.proxy.auth.user_api_key_auth import user_api_key_auth from litellm.proxy.proxy_server import app diff --git a/tests/test_litellm/proxy/pass_through_endpoints/test_llm_pass_through_endpoints.py b/tests/test_litellm/proxy/pass_through_endpoints/test_llm_pass_through_endpoints.py index b0e198d5e7..0bb9924af8 100644 --- a/tests/test_litellm/proxy/pass_through_endpoints/test_llm_pass_through_endpoints.py +++ b/tests/test_litellm/proxy/pass_through_endpoints/test_llm_pass_through_endpoints.py @@ -1148,7 +1148,7 @@ class TestBedrockLLMProxyRoute: mock_user_api_key_dict.allowed_model_region = None mock_proxy_logging_obj = Mock() - mock_proxy_logging_obj.post_call_failure_hook = AsyncMock() + mock_proxy_logging_obj.post_call_failure_hook = AsyncMock(return_value=None) endpoint = "model/test-model/converse" model = "test-model" @@ -1291,7 +1291,7 @@ class TestBedrockLLMProxyRoute: mock_user_api_key_dict = Mock() mock_user_api_key_dict.api_key = "test-key" mock_proxy_logging_obj = Mock() - mock_proxy_logging_obj.post_call_failure_hook = AsyncMock() + mock_proxy_logging_obj.post_call_failure_hook = AsyncMock(return_value=None) with patch( "litellm.passthrough.main.llm_passthrough_route", diff --git a/tests/test_litellm/proxy/spend_tracking/test_cloudzero_endpoints.py b/tests/test_litellm/proxy/spend_tracking/test_cloudzero_endpoints.py index 8ff5774bf5..6d460f6333 100644 --- a/tests/test_litellm/proxy/spend_tracking/test_cloudzero_endpoints.py +++ b/tests/test_litellm/proxy/spend_tracking/test_cloudzero_endpoints.py @@ -1,6 +1,6 @@ import os import sys -from unittest.mock import AsyncMock, MagicMock +from unittest.mock import AsyncMock, MagicMock, patch import pytest from fastapi.testclient import TestClient @@ -77,3 +77,112 @@ async def test_delete_cloudzero_settings_not_found(client, monkeypatch): finally: app.dependency_overrides.pop(ps.user_api_key_auth, None) + +@pytest.mark.asyncio +async def test_get_cloudzero_settings_success(client, monkeypatch): + """Test GET /cloudzero/settings returns settings when configured""" + mock_config = MagicMock() + mock_config.param_name = "cloudzero_settings" + mock_config.param_value = { + "api_key": "encrypted_key", + "connection_id": "conn_123", + "timezone": "UTC" + } + + mock_litellm_config = MagicMock() + mock_litellm_config.find_first = AsyncMock(return_value=mock_config) + + mock_prisma = MagicMock() + mock_prisma.db = MagicMock() + mock_prisma.db.litellm_config = mock_litellm_config + + monkeypatch.setattr(ps, "prisma_client", mock_prisma) + + # Mock the decrypt function to return a decrypted key + with patch("litellm.proxy.spend_tracking.cloudzero_endpoints.decrypt_value_helper") as mock_decrypt: + mock_decrypt.return_value = "decrypted_api_key" + + # Mock the masker + with patch("litellm.proxy.spend_tracking.cloudzero_endpoints._sensitive_masker") as mock_masker: + mock_masker.mask_dict.return_value = {"api_key": "test****key"} + + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN, user_id="admin_user" + ) + + try: + response = client.get("/cloudzero/settings") + assert response.status_code == 200 + data = response.json() + assert data["connection_id"] == "conn_123" + assert data["timezone"] == "UTC" + assert data["status"] == "configured" + assert data["api_key_masked"] == "test****key" + mock_litellm_config.find_first.assert_awaited_once() + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + + +@pytest.mark.asyncio +async def test_get_cloudzero_settings_not_configured(client, monkeypatch): + """Test GET /cloudzero/settings returns 200 with null values when not configured (consistent with other endpoints)""" + mock_litellm_config = MagicMock() + mock_litellm_config.find_first = AsyncMock(return_value=None) + + mock_prisma = MagicMock() + mock_prisma.db = MagicMock() + mock_prisma.db.litellm_config = mock_litellm_config + + monkeypatch.setattr(ps, "prisma_client", mock_prisma) + + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN, user_id="admin_user" + ) + + try: + response = client.get("/cloudzero/settings") + # Should return 200 with null values (not 404) - consistent with other settings endpoints + assert response.status_code == 200 + data = response.json() + assert data["api_key_masked"] is None + assert data["connection_id"] is None + assert data["timezone"] is None + assert data["status"] is None + mock_litellm_config.find_first.assert_awaited_once() + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + + +@pytest.mark.asyncio +async def test_get_cloudzero_settings_empty_param_value(client, monkeypatch): + """Test GET /cloudzero/settings returns 200 with null values when param_value is None""" + mock_config = MagicMock() + mock_config.param_name = "cloudzero_settings" + mock_config.param_value = None + + mock_litellm_config = MagicMock() + mock_litellm_config.find_first = AsyncMock(return_value=mock_config) + + mock_prisma = MagicMock() + mock_prisma.db = MagicMock() + mock_prisma.db.litellm_config = mock_litellm_config + + monkeypatch.setattr(ps, "prisma_client", mock_prisma) + + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN, user_id="admin_user" + ) + + try: + response = client.get("/cloudzero/settings") + # Should return 200 with null values (not 404) - consistent with other settings endpoints + assert response.status_code == 200 + data = response.json() + assert data["api_key_masked"] is None + assert data["connection_id"] is None + assert data["timezone"] is None + assert data["status"] is None + mock_litellm_config.find_first.assert_awaited_once() + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + diff --git a/tests/test_litellm/proxy/test_proxy_cli.py b/tests/test_litellm/proxy/test_proxy_cli.py index 5f03ef1817..90d958e711 100644 --- a/tests/test_litellm/proxy/test_proxy_cli.py +++ b/tests/test_litellm/proxy/test_proxy_cli.py @@ -180,7 +180,7 @@ class TestProxyInitializationHelpers: test_env = { "DATABASE_HOST": "localhost:5432", "DATABASE_USERNAME": "user@with+special", - "DATABASE_PASSWORD": "test-password-special-chars", + "DATABASE_PASSWORD": "pass&word!@#$%", "DATABASE_NAME": "db_name/test", } @@ -205,7 +205,7 @@ class TestProxyInitializationHelpers: database_url = f"postgresql://{database_username_enc}:{database_password_enc}@{database_host}/{database_name_enc}" # Assert the correct URL was constructed with properly escaped characters - expected_url = "postgresql://user%40with%2Bspecial:test-password-special-chars@localhost:5432/db_name%2Ftest" + expected_url = "postgresql://user%40with%2Bspecial:pass%26word%21%40%23%24%25@localhost:5432/db_name%2Ftest" assert database_url == expected_url # Test appending query parameters @@ -381,13 +381,13 @@ class TestProxyInitializationHelpers: test_env_special = { "DATABASE_HOST": "localhost:5432", "DATABASE_USERNAME": "user@with+special", - "DATABASE_PASSWORD": "test-password-special-chars", + "DATABASE_PASSWORD": "pass&word!@#$%", "DATABASE_NAME": "db_name/test", } with patch.dict(os.environ, test_env_special): result = construct_database_url_from_env_vars() - expected_url = "postgresql://user%40with%2Bspecial:test-password-special-chars@localhost:5432/db_name%2Ftest" + expected_url = "postgresql://user%40with%2Bspecial:pass%26word%21%40%23%24%25@localhost:5432/db_name%2Ftest" assert result == expected_url # Test without password (should still work) diff --git a/tests/test_litellm/proxy/test_proxy_server.py b/tests/test_litellm/proxy/test_proxy_server.py index 6b8342968a..d0a0ed5522 100644 --- a/tests/test_litellm/proxy/test_proxy_server.py +++ b/tests/test_litellm/proxy/test_proxy_server.py @@ -5,8 +5,8 @@ import os import socket import subprocess import sys -from pathlib import Path from datetime import datetime +from pathlib import Path from unittest import mock from unittest.mock import AsyncMock, MagicMock, mock_open, patch @@ -128,7 +128,7 @@ def test_login_v2_returns_redirect_url_and_sets_cookie(monkeypatch): def test_login_v2_returns_json_on_proxy_exception(monkeypatch): """Test that /v2/login returns JSON error when ProxyException is raised""" - from litellm.proxy._types import ProxyException, ProxyErrorTypes + from litellm.proxy._types import ProxyErrorTypes, ProxyException mock_prisma_client = MagicMock() mock_authenticate_user = AsyncMock( @@ -559,7 +559,7 @@ async def test_aaaproxy_startup_master_key(mock_prisma, monkeypatch, tmp_path): assert master_key == test_master_key # Test Case 2: Master key from environment variable - test_env_master_key = "sk-test-67890" + test_env_master_key = "sk-67890" # Create empty config empty_config = {"general_settings": {}} @@ -2813,9 +2813,10 @@ def test_get_prompt_spec_for_db_prompt_with_versions(): def test_root_redirect_when_docs_url_not_root_and_redirect_url_set(monkeypatch): + from fastapi.responses import RedirectResponse + from litellm.proxy.proxy_server import cleanup_router_config_variables from litellm.proxy.utils import _get_docs_url - from fastapi.responses import RedirectResponse cleanup_router_config_variables() filepath = os.path.dirname(os.path.abspath(__file__)) diff --git a/tests/test_litellm/proxy/ui_crud_endpoints/test_proxy_setting_endpoints.py b/tests/test_litellm/proxy/ui_crud_endpoints/test_proxy_setting_endpoints.py index d3c9915119..8fdfd6897a 100644 --- a/tests/test_litellm/proxy/ui_crud_endpoints/test_proxy_setting_endpoints.py +++ b/tests/test_litellm/proxy/ui_crud_endpoints/test_proxy_setting_endpoints.py @@ -290,6 +290,10 @@ class TestProxySettingEndpoints: assert "google_client_id" in data["field_schema"]["properties"] assert "description" in data["field_schema"]["properties"]["google_client_id"] + # Verify role_mappings is present in response (can be None if not set) + assert "role_mappings" in values + assert values["role_mappings"] is None + # Verify find_unique was called with correct parameters mock_prisma.db.litellm_ssoconfig.find_unique.assert_called_once() call_args = mock_prisma.db.litellm_ssoconfig.find_unique.call_args @@ -863,6 +867,10 @@ class TestProxySettingEndpoints: assert values["google_client_secret"] == "decrypted_google_secret" assert values["microsoft_client_id"] == "decrypted_microsoft_id" assert values["proxy_base_url"] == "https://decrypted.example.com" + + # Verify role_mappings is present in response (can be None if not set) + assert "role_mappings" in values + assert values["role_mappings"] is None def test_update_sso_settings_to_database(self, mock_proxy_config, mock_auth, monkeypatch): """Test updating SSO settings saves to the dedicated database table""" @@ -1062,6 +1070,7 @@ class TestProxySettingEndpoints: assert values.get("google_client_id") is None assert values.get("google_client_secret") is None assert values.get("microsoft_client_id") is None + assert values.get("role_mappings") is None def test_update_sso_settings_no_database_connection(self, mock_proxy_config, mock_auth, monkeypatch): """Test updating SSO settings when database is not connected""" @@ -1088,3 +1097,129 @@ class TestProxySettingEndpoints: data = response.json() assert "error" in data["detail"] assert "Database not connected" in data["detail"]["error"] + + def test_get_sso_settings_with_role_mappings(self, mock_proxy_config, mock_auth, monkeypatch): + """Test getting SSO settings when role_mappings is present in database""" + from unittest.mock import AsyncMock, MagicMock + from litellm.proxy._types import LitellmUserRoles + + # Mock the prisma client with database record containing role_mappings + mock_prisma = MagicMock() + mock_db_record = MagicMock() + mock_db_record.sso_settings = { + "google_client_id": "test_google_client_id", + "role_mappings": { + "provider": "google", + "group_claim": "groups", + "default_role": LitellmUserRoles.INTERNAL_USER, + "roles": { + LitellmUserRoles.PROXY_ADMIN: ["admin-group"], + }, + }, + } + mock_prisma.db.litellm_ssoconfig.find_unique = AsyncMock(return_value=mock_db_record) + monkeypatch.setattr("litellm.proxy.proxy_server.prisma_client", mock_prisma) + + # Mock decryption to return the values as-is (role_mappings should not be passed to decryption) + from litellm.proxy.proxy_server import proxy_config + def mock_decrypt(environment_variables): + # role_mappings should not be in environment_variables since it's extracted before decryption + assert "role_mappings" not in environment_variables + return environment_variables + + monkeypatch.setattr( + proxy_config, "_decrypt_and_set_db_env_variables", mock_decrypt + ) + + response = client.get("/get/sso_settings") + + assert response.status_code == 200 + data = response.json() + + # Verify role_mappings is returned correctly + values = data["values"] + assert "role_mappings" in values + assert values["role_mappings"] is not None + assert values["role_mappings"]["provider"] == "google" + assert values["role_mappings"]["group_claim"] == "groups" + assert values["role_mappings"]["default_role"] == LitellmUserRoles.INTERNAL_USER + assert values["role_mappings"]["roles"][LitellmUserRoles.PROXY_ADMIN] == ["admin-group"] + + def test_role_mappings_stored_and_retrieved(self, mock_proxy_config, mock_auth, monkeypatch): + """Test that role_mappings is properly stored and retrieved from SSO settings""" + import json + from unittest.mock import AsyncMock, MagicMock + from litellm.proxy._types import LitellmUserRoles + + monkeypatch.setenv("LITELLM_SALT_KEY", "test_salt_key") + monkeypatch.setattr("litellm.proxy.proxy_server.store_model_in_db", True) + + # Mock the prisma client + mock_prisma = MagicMock() + mock_prisma.db.litellm_ssoconfig.upsert = AsyncMock() + mock_prisma.db.litellm_config = MagicMock() + mock_prisma.db.litellm_config.find_unique = AsyncMock(return_value=None) + mock_prisma.db.litellm_config.update = AsyncMock() + monkeypatch.setattr("litellm.proxy.proxy_server.prisma_client", mock_prisma) + + # Mock encryption to return values as-is + from litellm.proxy.proxy_server import proxy_config + monkeypatch.setattr(proxy_config, "_encrypt_env_variables", lambda environment_variables: environment_variables) + + # SSO settings with role_mappings + role_mappings_data = { + "provider": "google", + "group_claim": "groups", + "default_role": LitellmUserRoles.INTERNAL_USER, + "roles": { + LitellmUserRoles.PROXY_ADMIN: ["admin-group"], + LitellmUserRoles.INTERNAL_USER: ["user-group"], + }, + } + + new_sso_settings = { + "google_client_id": "test_google_id", + "role_mappings": role_mappings_data, + } + + response = client.patch("/update/sso_settings", json=new_sso_settings) + + assert response.status_code == 200 + data = response.json() + assert data["status"] == "success" + assert "role_mappings" in data["settings"] + + # Verify role_mappings structure in response + returned_role_mappings = data["settings"]["role_mappings"] + assert returned_role_mappings["provider"] == "google" + assert returned_role_mappings["group_claim"] == "groups" + assert returned_role_mappings["default_role"] == LitellmUserRoles.INTERNAL_USER + assert returned_role_mappings["roles"][LitellmUserRoles.PROXY_ADMIN] == ["admin-group"] + + # Verify upsert was called with role_mappings in the data + assert mock_prisma.db.litellm_ssoconfig.upsert.called + call_args = mock_prisma.db.litellm_ssoconfig.upsert.call_args + create_data = call_args.kwargs["data"]["create"] + stored_sso_settings = json.loads(create_data["sso_settings"]) + assert "role_mappings" in stored_sso_settings + assert stored_sso_settings["role_mappings"]["provider"] == "google" + + # Now test retrieving role_mappings + mock_db_record = MagicMock() + mock_db_record.sso_settings = stored_sso_settings + mock_prisma.db.litellm_ssoconfig.find_unique = AsyncMock(return_value=mock_db_record) + monkeypatch.setattr( + proxy_config, "_decrypt_and_set_db_env_variables", lambda environment_variables: environment_variables + ) + + get_response = client.get("/get/sso_settings") + assert get_response.status_code == 200 + get_data = get_response.json() + + # Verify role_mappings is returned correctly + assert "role_mappings" in get_data["values"] + retrieved_role_mappings = get_data["values"]["role_mappings"] + assert retrieved_role_mappings is not None + assert retrieved_role_mappings["provider"] == "google" + assert retrieved_role_mappings["group_claim"] == "groups" + assert retrieved_role_mappings["default_role"] == LitellmUserRoles.INTERNAL_USER diff --git a/tests/test_litellm/proxy/vector_store_endpoints/test_vector_store_endpoints.py b/tests/test_litellm/proxy/vector_store_endpoints/test_vector_store_endpoints.py index 99484ad279..69cf7de55b 100644 --- a/tests/test_litellm/proxy/vector_store_endpoints/test_vector_store_endpoints.py +++ b/tests/test_litellm/proxy/vector_store_endpoints/test_vector_store_endpoints.py @@ -648,7 +648,7 @@ class TestIsAllowedToCallVectorStoreEndpoint: mock_request.method = "GET" mock_request.url.path = "/azure_ai/indexes/dall-e-4/docs/search" mock_user_api_key = UserAPIKeyAuth( - token="sk-test-mock-token-404", + token="b637312ebffb9745321224644430ba9e4916a291c8281f293d21182c5e80bc5a", key_name="sk-...plNQ", metadata={ "allowed_vector_store_indexes": [ @@ -1107,6 +1107,7 @@ async def test_resolve_embedding_config_from_db(): async def test_new_vector_store_auto_resolves_embedding_config(): """Test that new_vector_store auto-resolves embedding config when embedding_model is provided but config is not.""" import json + from litellm.types.vector_stores import LiteLLM_ManagedVectorStore mock_prisma_client = MagicMock() diff --git a/tests/test_litellm/responses/litellm_completion_transformation/test_session_handler.py b/tests/test_litellm/responses/litellm_completion_transformation/test_session_handler.py index b0a232a7bf..bd6bab9d61 100644 --- a/tests/test_litellm/responses/litellm_completion_transformation/test_session_handler.py +++ b/tests/test_litellm/responses/litellm_completion_transformation/test_session_handler.py @@ -27,7 +27,7 @@ async def test_get_chat_completion_message_history_for_previous_response_id(): { "request_id": "chatcmpl-935b8dad-fdc2-466e-a8ca-e26e5a8a21bb", "call_type": "aresponses", - "api_key": "sk-test-mock-api-key-123", + "api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "spend": 0.004803, "total_tokens": 329, "prompt_tokens": 11, @@ -68,7 +68,7 @@ async def test_get_chat_completion_message_history_for_previous_response_id(): { "request_id": "chatcmpl-370760c9-39fa-4db7-b034-d1f8d933c935", "call_type": "aresponses", - "api_key": "sk-test-mock-api-key-123", + "api_key": "88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b", "spend": 0.010437, "total_tokens": 967, "prompt_tokens": 339, diff --git a/tests/test_litellm/test_cost_calculator.py b/tests/test_litellm/test_cost_calculator.py index 69e0f04e5e..c26801ac3f 100644 --- a/tests/test_litellm/test_cost_calculator.py +++ b/tests/test_litellm/test_cost_calculator.py @@ -855,7 +855,7 @@ def test_azure_image_generation_cost_calculator(): ImageObject( b64_json=None, revised_prompt="A futuristic, techno-inspired green duck wearing cool modern sunglasses. The duck has a sleek, metallic appearance with glowing neon green accents, standing on a high-tech urban background with holographic billboards and illuminated city lights in the distance. The duck's feathers have a glossy, high-tech sheen, resembling a robotic design but still maintaining its avian features. The scene has a vibrant, cyberpunk aesthetic with a neon color palette.", - url="test-azure-blob-url-with-sas-token", + url="https://dalleprodsec.blob.core.windows.net/private/images/caa17dc4-357d-4257-8938-eeea9baa8d0a/generated_00.png?se=2025-10-31T00%3A47%3A59Z&sig=KHRjLz3vMahbw94JtxL02S6t2AueeRMaiqj4z35HKDM%3D&ske=2025-11-05T00%3A26%3A20Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2025-10-29T00%3A26%3A20Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02", ) ], output_format=None, diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index 7dba7c9991..285dd23e5a 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -573,6 +573,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid(): "chat", "completion", "container", + "image_edit", "embedding", "image_generation", "video_generation", @@ -2732,7 +2733,7 @@ class TestProxyLoggingBudgetAlerts: def test_azure_ai_claude_provider_config(): """Test that Azure AI Claude models return AzureAnthropicConfig for proper tool transformation.""" - from litellm import AzureAnthropicConfig, AzureAIStudioConfig + from litellm import AzureAIStudioConfig, AzureAnthropicConfig from litellm.utils import ProviderConfigManager # Claude models should return AzureAnthropicConfig diff --git a/tests/test_spend_logs.py b/tests/test_spend_logs.py index 8aec1d5cc6..80dd8c9bcc 100644 --- a/tests/test_spend_logs.py +++ b/tests/test_spend_logs.py @@ -198,7 +198,7 @@ async def get_predict_spend_logs(session): { "date": "2024-03-09", "spend": 200000, - "api_key": "sk-test-mock-api-key-456", + "api_key": "f19bdeb945164278fc11c1020d8dfd70465bffd931ed3cb2e1efa6326225b8b7", } ] } diff --git a/tests/test_team.py b/tests/test_team.py index c1af79ebc0..f7752f9c89 100644 --- a/tests/test_team.py +++ b/tests/test_team.py @@ -738,7 +738,19 @@ async def test_users_in_team_budget(): """ get_user = f"krrish_{time.time()}@berri.ai" async with aiohttp.ClientSession() as session: - # Create user first to avoid user_id collision when creating team + # IMPORTANT: Create team first, then create user with team_id. + # This order is critical for the test to work correctly: + # - When a user is created with team_id, the API key gets team_id set from the start + # - This ensures spend tracking and budget enforcement work correctly + # - If we create the user first (without team_id) and then add them to a team, + # the key's team_id remains None, breaking team budget tracking + # DO NOT change this order - it's testing the intended flow where keys are + # associated with teams at creation time. + team = await new_team(session, 0, user_id=None) + print(f"[DEBUG] Created team: {team['team_id']}") + print(f"[DEBUG] Full team data: {team}") + + # Create user with team_id so the key is associated with the team from the start key_gen = await new_user( session, 0, @@ -746,26 +758,61 @@ async def test_users_in_team_budget(): budget=10, budget_duration="5s", models=["fake-openai-endpoint"], + team_id=team["team_id"], ) key = key_gen["key"] - - # Create team with the user (user already exists, so it will just add them) - team = await new_team(session, 0, user_id=get_user) - print("New team=", team) + print(f"[DEBUG] Created user '{get_user}' with key: {key}") + print(f"[DEBUG] User budget: 10, budget_duration: 5s") + print(f"[DEBUG] Key team_id: {team['team_id']}") + + # Check user info BEFORE updating member budget + user_info_before = await get_user_info(session, get_user, call_user="sk-1234") + print(f"[DEBUG] User info BEFORE update_member:") + print(f" - User budget: {user_info_before.get('max_budget')}") + print(f" - User spend: {user_info_before.get('spend')}") + if user_info_before.get("teams"): + for team_info in user_info_before["teams"]: + if team_info.get("team_id") == team["team_id"]: + print(f" - Team memberships: {team_info.get('team_memberships')}") # update user to have budget = 0.0000001 - await update_member( + update_result = await update_member( session, 0, team_id=team["team_id"], user_id=get_user, max_budget=0.0000001 ) + print(f"[DEBUG] Updated member budget to 0.0000001") + print(f"[DEBUG] Update result: {update_result}") + + # Check user info AFTER updating member budget + user_info_after = await get_user_info(session, get_user, call_user="sk-1234") + print(f"[DEBUG] User info AFTER update_member:") + print(f" - User budget: {user_info_after.get('max_budget')}") + print(f" - User spend: {user_info_after.get('spend')}") + if user_info_after.get("teams"): + for team_info in user_info_after["teams"]: + if team_info.get("team_id") == team["team_id"]: + print(f" - Team: {team_info.get('team_id')}") + for membership in team_info.get('team_memberships', []): + print(f" - Membership: {membership}") + if 'litellm_budget_table' in membership: + budget_table = membership['litellm_budget_table'] + print(f" - Max budget: {budget_table.get('max_budget')}") + print(f" - Current spend: {membership.get('spend', 0)}") # Call 1 + print("\n[DEBUG] ===== Making Call 1 =====") result = await chat_completion(session, key, model="fake-openai-endpoint") - print("Call 1 passed", result) + print(f"[DEBUG] Call 1 PASSED (expected)") + print(f"[DEBUG] Call 1 result: {result}") + # Extract cost from result if available + if isinstance(result, dict): + usage = result.get('usage', {}) + print(f"[DEBUG] Call 1 usage: {usage}") # Wait for spend to be committed to database before checking budget # Spend updates are queued asynchronously and committed periodically (every minute), # so we need to wait for the spend from Call 1 to be persisted # Note: Even if cost is 0 (model has no pricing), we wait to ensure the update queue is processed + print("\n[DEBUG] ===== Waiting for spend to be committed =====") print("Waiting for team member spend to be committed to database...") print("Note: Spend updates are flushed periodically, this may take up to 60 seconds...") spend_updated = await wait_for_team_member_spend_update( @@ -775,16 +822,111 @@ async def test_users_in_team_budget(): print("[WARNING] Team member spend not updated in time, but continuing test...") print("This may indicate the spend update queue hasn't been flushed yet.") + # Check user info BEFORE Call 2 + user_info_before_call2 = await get_user_info(session, get_user, call_user="sk-1234") + print(f"\n[DEBUG] User info BEFORE Call 2:") + print(f" - User budget: {user_info_before_call2.get('max_budget')}") + print(f" - User spend: {user_info_before_call2.get('spend')}") + if user_info_before_call2.get("teams"): + for team_info in user_info_before_call2["teams"]: + if team_info.get("team_id") == team["team_id"]: + print(f" - Team: {team_info.get('team_id')}") + for membership in team_info.get('team_memberships', []): + if 'litellm_budget_table' in membership: + budget_table = membership['litellm_budget_table'] + current_spend = membership.get('spend', 0) + max_budget = budget_table.get('max_budget') + print(f" - Max budget in team: {max_budget}") + print(f" - Current spend in team: {current_spend}") + print(f" - Budget remaining: {max_budget - current_spend}") + print(f" - Should fail?: {current_spend >= max_budget}") + # Call 2 + print("\n[DEBUG] ===== Making Call 2 =====") + call2_failed = False + call2_error = None + call2_status = None try: - await chat_completion(session, key, model="fake-openai-endpoint") - pytest.fail( - "Call 2 should have failed. The user crossed their budget within their team" - ) + # Capture the response to check status code + url = "http://localhost:4000/chat/completions" + headers = { + "Authorization": f"Bearer {key}", + "Content-Type": "application/json", + } + data = { + "model": "fake-openai-endpoint", + "messages": [ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": "Hello!"}, + ], + } + async with session.post(url, headers=headers, json=data) as response: + call2_status = response.status + response_text = await response.text() + print(f"[DEBUG] Call 2 status code: {call2_status}") + print(f"[DEBUG] Call 2 response: {response_text}") + + if call2_status != 200: + call2_failed = True + call2_error = f"Status {call2_status}: {response_text}" + raise Exception(call2_error) + else: + # Call succeeded when it should have failed + print(f"[ERROR] Call 2 PASSED when it should have FAILED!") + print(f"[ERROR] Response was 200 OK") + except Exception as e: - print("got exception, this is expected") - print(e) - assert "Budget has been exceeded" in str(e) + if call2_failed: + print(f"[DEBUG] Call 2 FAILED (expected): {e}") + print(f"[DEBUG] Checking if error message indicates budget exceeded...") + else: + call2_error = str(e) + print(f"[DEBUG] Call 2 raised exception: {e}") + + # Check user info AFTER Call 2 + user_info_after_call2 = await get_user_info(session, get_user, call_user="sk-1234") + print(f"\n[DEBUG] User info AFTER Call 2:") + print(f" - User budget: {user_info_after_call2.get('max_budget')}") + print(f" - User spend: {user_info_after_call2.get('spend')}") + if user_info_after_call2.get("teams"): + for team_info in user_info_after_call2["teams"]: + if team_info.get("team_id") == team["team_id"]: + print(f" - Team: {team_info.get('team_id')}") + for membership in team_info.get('team_memberships', []): + if 'litellm_budget_table' in membership: + budget_table = membership['litellm_budget_table'] + print(f" - Max budget: {budget_table.get('max_budget')}") + print(f" - Current spend: {membership.get('spend', 0)}") + + # Assert Call 2 failed + if not call2_failed: + error_msg = ( + f"\n[FAILURE] Call 2 should have failed but it passed!\n" + f"Expected: Budget enforcement to block the call\n" + f"Actual: Call returned status {call2_status}\n" + f"Team member budget: 0.0000001\n" + f"User budget: {user_info_before_call2.get('max_budget')}\n" + f"User spend before call: {user_info_before_call2.get('spend')}\n" + ) + # Add team member info if available + if user_info_before_call2.get("teams"): + for team_info in user_info_before_call2["teams"]: + if team_info.get("team_id") == team["team_id"]: + for membership in team_info.get('team_memberships', []): + if 'litellm_budget_table' in membership: + error_msg += f"Team member spend before call: {membership.get('spend', 0)}\n" + error_msg += f"Team member max budget: {membership['litellm_budget_table'].get('max_budget')}\n" + pytest.fail(error_msg) + + # Check the error message contains budget exceeded + if call2_error and "Budget has been exceeded" not in call2_error: + pytest.fail( + f"Call 2 failed but not with expected error message.\n" + f"Expected error to contain: 'Budget has been exceeded'\n" + f"Actual error: {call2_error}" + ) + + print("[DEBUG] Call 2 failed as expected with budget exceeded error") ## Check user info user_info = await get_user_info(session, get_user, call_user="sk-1234") diff --git a/ui/litellm-dashboard/src/app/(dashboard)/hooks/cloudzero/useCloudZeroSettings.ts b/ui/litellm-dashboard/src/app/(dashboard)/hooks/cloudzero/useCloudZeroSettings.ts index 5ccbe244e6..96f5ab2f94 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/hooks/cloudzero/useCloudZeroSettings.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/hooks/cloudzero/useCloudZeroSettings.ts @@ -17,19 +17,35 @@ const getCloudZeroSettings = async (accessToken: string): Promise ({})); - const errorMessage = - errorData?.error?.message || errorData?.message || errorData?.detail || "Failed to fetch CloudZero settings"; + let errorMessage = "Failed to fetch CloudZero settings"; + try { + const errorData = await response.json(); + // Handle different error response formats + if (typeof errorData === "object" && errorData !== null) { + errorMessage = + errorData?.error?.message || + errorData?.error || + errorData?.message || + errorData?.detail || + (typeof errorData?.error === "string" ? errorData.error : errorMessage); + } else if (typeof errorData === "string") { + errorMessage = errorData; + } + } catch { + // If JSON parsing fails, use the status text + errorMessage = response.statusText || errorMessage; + } throw new Error(errorMessage); } const data = await response.json(); + + // Check if settings are actually configured (all required fields are present) + if (!data || (!data.api_key_masked && !data.connection_id)) { + return null; + } + return data; }; @@ -77,9 +93,22 @@ const updateCloudZeroSettings = async (accessToken: string, params: UpdateParams }); if (!response.ok) { - const errorData = await response.json().catch(() => ({})); - const errorMessage = - errorData?.error?.message || errorData?.message || errorData?.detail || "Failed to update CloudZero settings"; + let errorMessage = "Failed to update CloudZero settings"; + try { + const errorData = await response.json(); + if (typeof errorData === "object" && errorData !== null) { + errorMessage = + errorData?.error?.message || + errorData?.error || + errorData?.message || + errorData?.detail || + (typeof errorData?.error === "string" ? errorData.error : errorMessage); + } else if (typeof errorData === "string") { + errorMessage = errorData; + } + } catch { + errorMessage = response.statusText || errorMessage; + } throw new Error(errorMessage); } @@ -117,9 +146,22 @@ const deleteCloudZeroSettings = async (accessToken: string): Promise ({})); - const errorMessage = - errorData?.error?.message || errorData?.message || errorData?.detail || "Failed to delete CloudZero settings"; + let errorMessage = "Failed to delete CloudZero settings"; + try { + const errorData = await response.json(); + if (typeof errorData === "object" && errorData !== null) { + errorMessage = + errorData?.error?.message || + errorData?.error || + errorData?.message || + errorData?.detail || + (typeof errorData?.error === "string" ? errorData.error : errorMessage); + } else if (typeof errorData === "string") { + errorMessage = errorData; + } + } catch { + errorMessage = response.statusText || errorMessage; + } throw new Error(errorMessage); } diff --git a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroCostTracking.tsx b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroCostTracking.tsx index fbb892cb1d..db3ea94bbf 100644 --- a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroCostTracking.tsx +++ b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroCostTracking.tsx @@ -36,7 +36,9 @@ export default function CloudZeroCostTracking() { if (error) { return ( - Error loading CloudZero settings: {error.message} + + Error loading CloudZero settings: {error instanceof Error ? error.message : String(error)} + ); } diff --git a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.test.tsx b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.test.tsx index 04e0a67dea..f7b9088400 100644 --- a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.test.tsx +++ b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.test.tsx @@ -9,6 +9,6 @@ describe("CloudZeroEmptyPlaceholder", () => { expect(screen.getByText("No CloudZero Integration Found")).toBeInTheDocument(); expect(screen.getByText(/Connect your CloudZero account/)).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "Create Integration" })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: "Add CloudZero Integration" })).toBeInTheDocument(); }); }); diff --git a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.tsx b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.tsx index 1719a949b8..aca074dc29 100644 --- a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.tsx +++ b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.tsx @@ -21,7 +21,7 @@ export default function CloudZeroEmptyPlaceholder({ startCreation }: CloudZeroEm } > diff --git a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroIntegrationSettings.tsx b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroIntegrationSettings.tsx index 780fa83652..c161d241f7 100644 --- a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroIntegrationSettings.tsx +++ b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/CloudZeroIntegrationSettings.tsx @@ -134,10 +134,14 @@ export function CloudZeroIntegrationSettings({ settings, onSettingsUpdated }: Cl }} > - {settings.api_key_masked} + + {settings.api_key_masked || Not configured} + - {settings.connection_id} + + {settings.connection_id || Not configured} + {settings.timezone || Default (UTC)} diff --git a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/types.ts b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/types.ts index a41afee4f7..ed3c76cc3b 100644 --- a/ui/litellm-dashboard/src/components/CloudZeroCostTracking/types.ts +++ b/ui/litellm-dashboard/src/components/CloudZeroCostTracking/types.ts @@ -1,6 +1,6 @@ export interface CloudZeroSettings { - api_key_masked: string; - connection_id: string; - timezone?: string; - status?: string; + api_key_masked: string | null; + connection_id: string | null; + timezone?: string | null; + status?: string | null; } diff --git a/ui/litellm-dashboard/src/components/Settings/LoggingAndAlerts/LoggingCallbacks/LoggingCallbacksTable.tsx b/ui/litellm-dashboard/src/components/Settings/LoggingAndAlerts/LoggingCallbacks/LoggingCallbacksTable.tsx index 6b79b54ec0..8f332d0317 100644 --- a/ui/litellm-dashboard/src/components/Settings/LoggingAndAlerts/LoggingCallbacks/LoggingCallbacksTable.tsx +++ b/ui/litellm-dashboard/src/components/Settings/LoggingAndAlerts/LoggingCallbacks/LoggingCallbacksTable.tsx @@ -1,9 +1,9 @@ -import { PencilAltIcon, PlayIcon, TrashIcon } from "@heroicons/react/outline"; -import { Button, Icon } from "@tremor/react"; +import { Button } from "@tremor/react"; import type { TableProps } from "antd"; -import { Table, Tooltip } from "antd"; +import { Table } from "antd"; import Title from "antd/es/typography/Title"; import React from "react"; +import TableIconActionButton from "../../../common_components/IconActionButton/TableIconActionButtons/TableIconActionButton"; import { AlertingObject } from "./types"; type LoggingCallbacksProps = { @@ -79,31 +79,9 @@ export const LoggingCallbacksTable: React.FC = ({ align: "right", render: (_: unknown, record: CallbackRow) => (
- - onTest(record)} - /> - - - - onEdit(record)} - /> - - - onDelete(record)} - /> - + onTest(record)} /> + onEdit(record)} /> + onDelete(record)} />
), width: 240, diff --git a/ui/litellm-dashboard/src/components/budgets/budget_panel.tsx b/ui/litellm-dashboard/src/components/budgets/budget_panel.tsx index 7f581ca648..252287191b 100644 --- a/ui/litellm-dashboard/src/components/budgets/budget_panel.tsx +++ b/ui/litellm-dashboard/src/components/budgets/budget_panel.tsx @@ -3,11 +3,9 @@ * */ -import { PencilAltIcon, TrashIcon } from "@heroicons/react/outline"; import { Button, Card, - Icon, Tab, TabGroup, Table, @@ -24,6 +22,7 @@ import { import React, { useEffect, useState } from "react"; import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; import DeleteResourceModal from "../common_components/DeleteResourceModal"; +import TableIconActionButton from "../common_components/IconActionButton/TableIconActionButtons/TableIconActionButton"; import NotificationsManager from "../molecules/notifications_manager"; import { budgetDeleteCall, getBudgetList } from "../networking"; import BudgetModal from "./budget_modal"; @@ -149,16 +148,14 @@ const BudgetPanel: React.FC = ({ accessToken }) => { {value.max_budget ? value.max_budget : "n/a"} {value.tpm_limit ? value.tpm_limit : "n/a"} {value.rpm_limit ? value.rpm_limit : "n/a"} - handleEditCall(value)} /> - handleDeleteClick(value)} /> diff --git a/ui/litellm-dashboard/src/components/cache_dashboard.tsx b/ui/litellm-dashboard/src/components/cache_dashboard.tsx index 65f02874cf..7b57191a87 100644 --- a/ui/litellm-dashboard/src/components/cache_dashboard.tsx +++ b/ui/litellm-dashboard/src/components/cache_dashboard.tsx @@ -1,23 +1,23 @@ -import React, { useState, useEffect } from "react"; import { - Card, BarChart, - Subtitle, - Grid, + Card, Col, DateRangePickerValue, + Grid, + Icon, MultiSelect, MultiSelectItem, - TabPanel, - TabPanels, + Subtitle, + Tab, TabGroup, TabList, - Tab, - Icon, + TabPanel, + TabPanels, Text, } from "@tremor/react"; -import UsageDatePicker from "./shared/usage_date_picker"; +import React, { useEffect, useState } from "react"; import NotificationsManager from "./molecules/notifications_manager"; +import UsageDatePicker from "./shared/usage_date_picker"; import { RefreshIcon } from "@heroicons/react/outline"; import { adminGlobalCacheActivity, cachingHealthCheckCall } from "./networking"; @@ -162,13 +162,13 @@ const CacheDashboard: React.FC = ({ accessToken, token, userRole /* Data looks like this - [{"api_key":"sk-test-mock-key-001","call_type":"acompletion","model":"llama3-8b-8192","total_rows":13,"cache_hit_true_rows":0}, - {"api_key":"sk-test-mock-key-002","call_type":"None","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, - {"api_key":"sk-test-mock-key-123","call_type":"acompletion","model":"gpt-3.5-turbo","total_rows":19,"cache_hit_true_rows":0}, - {"api_key":"sk-test-mock-key-123","call_type":"aimage_generation","model":"","total_rows":3,"cache_hit_true_rows":0}, - {"api_key":"sk-test-mock-key-003","call_type":"None","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, - {"api_key":"sk-test-mock-key-004","call_type":"","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, - {"api_key":"sk-test-mock-key-005","call_type":"","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, + [{"api_key":"147dba2181f28914eea90eb484926c293cdcf7f5b5c9c3dd6a004d9e0f9fdb21","call_type":"acompletion","model":"llama3-8b-8192","total_rows":13,"cache_hit_true_rows":0}, + {"api_key":"8c23f021d0535c2e59abb7d83d0e03ccfb8db1b90e231ff082949d95df419e86","call_type":"None","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, + {"api_key":"88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b","call_type":"acompletion","model":"gpt-3.5-turbo","total_rows":19,"cache_hit_true_rows":0}, + {"api_key":"88dc28d0f030c55ed4ab77ed8faf098196cb1c05df778539800c9f1243fe6b4b","call_type":"aimage_generation","model":"","total_rows":3,"cache_hit_true_rows":0}, + {"api_key":"0ad4b3c03dcb6de0b5b8f761db798c6a8ae80be3fd1e2ea30c07ce6d5e3bf870","call_type":"None","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, + {"api_key":"034224b36e9769bc50e2190634abc3f97cad789b17ca80ac43b82f46cd5579b3","call_type":"","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, + {"api_key":"4f9c71cce0a2bb9a0b62ce6f0ebb3245b682702a8851d26932fa7e3b8ebfc755","call_type":"","model":"chatgpt-v-2","total_rows":1,"cache_hit_true_rows":0}, */ // What data we need for bar chat @@ -271,9 +271,7 @@ const CacheDashboard: React.FC = ({ accessToken, token, userRole
Cache Analytics - -
Cache Health
-
+ Cache Health Cache Settings
diff --git a/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.test.tsx b/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.test.tsx new file mode 100644 index 0000000000..883e30e492 --- /dev/null +++ b/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.test.tsx @@ -0,0 +1,154 @@ +import React from "react"; +import { render, screen } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; + +import { ToolTestPanel } from "./ToolTestPanel"; +import { InputSchema, MCPTool } from "./types"; + +vi.mock("../molecules/notifications_manager", () => ({ + default: { + success: vi.fn(), + fromBackend: vi.fn(), + info: vi.fn(), + warning: vi.fn(), + error: vi.fn(), + }, +})); + +const buildTool = (schema: InputSchema | string): MCPTool => ({ + name: "demo-tool", + description: "demo", + inputSchema: schema, + mcp_info: { server_name: "demo-server" }, +}); + +const renderPanel = (schema: InputSchema | string) => + render( + , + ); + +describe("ToolTestPanel defaults", () => { + it("pre-populates primitive, array, and nested object inputs from schema", () => { + const schema: InputSchema = { + type: "object", + properties: { + message: { type: "string", description: "Prompt text" }, + attempts: { type: "integer" }, + ratio: { type: "number", default: 0.4 }, + active: { type: "boolean", default: true }, + keywords: { + type: "array", + items: { type: "string" }, + description: "keywords array", + }, + payload: { + type: "object", + properties: { + user: { + type: "object", + properties: { + id: { type: "string", description: "user id" }, + tags: { + type: "array", + items: { type: "string" }, + default: [], + description: "optional tags", + }, + }, + required: ["id"], + }, + context: { + type: "object", + properties: { + topic: { type: "string" }, + extra: { + type: "object", + properties: { + note: { type: "string" }, + score: { type: "number" }, + }, + }, + }, + required: ["topic"], + }, + }, + required: ["user", "context"], + }, + }, + }; + + renderPanel(schema); + + expect(screen.getByLabelText("message")).toHaveValue(""); + expect(screen.getByLabelText("attempts")).toHaveValue(0); + expect(screen.getByLabelText("ratio")).toHaveValue(0.4); + expect(screen.getByDisplayValue("True")).toBeInTheDocument(); + + const keywordsTextarea = screen.getByTestId("textarea-keywords"); + expect(JSON.parse(keywordsTextarea.value)).toEqual([""]); + + const payloadTextarea = screen.getByTestId("textarea-payload"); + expect(JSON.parse(payloadTextarea.value)).toEqual({ + user: { + id: "", + tags: [""], + }, + context: { + topic: "", + extra: { + note: "", + score: 0, + }, + }, + }); + }); + + it("uses nested params schema when present", () => { + const schema: InputSchema = { + type: "object", + properties: { + params: { + type: "object", + properties: { + query: { type: "string" }, + filters: { + type: "object", + properties: { + tag: { type: "string" }, + metadata: { + type: "object", + properties: { + source: { type: "string" }, + }, + }, + }, + }, + }, + }, + }, + }; + + renderPanel(schema); + + expect(screen.getByLabelText("query")).toBeInTheDocument(); + const filtersTextarea = screen.getByTestId("textarea-filters"); + expect(JSON.parse(filtersTextarea.value)).toEqual({ + tag: "", + metadata: { source: "" }, + }); + }); + + it("falls back to a plain input when schema is missing", () => { + renderPanel("tool_input_schema"); + + expect(screen.getByPlaceholderText("Enter input for this tool")).toBeInTheDocument(); + expect(screen.queryByText("No parameters required")).not.toBeInTheDocument(); + }); +}); diff --git a/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx b/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx index e0edb506fc..abd955f329 100644 --- a/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx +++ b/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx @@ -1,10 +1,105 @@ import React from "react"; import { Button, TextInput } from "@tremor/react"; -import { MCPTool, InputSchema } from "./types"; +import { MCPTool, InputSchema, InputSchemaProperty } from "./types"; import { Form, Tooltip } from "antd"; import { InfoCircleOutlined } from "@ant-design/icons"; import NotificationsManager from "../molecules/notifications_manager"; +const isPlainObject = (value: unknown): value is Record => + typeof value === "object" && value !== null && !Array.isArray(value); + +function buildArrayItems(items?: InputSchemaProperty | InputSchemaProperty[]): any[] { + if (!items) { + return []; + } + + if (Array.isArray(items)) { + return items + .map((item) => buildDefaultValue(item)) + .filter((value) => value !== undefined); + } + + const itemDefault = buildDefaultValue(items); + if (itemDefault === undefined) { + return []; + } + + return [itemDefault]; +} + +function buildDefaultValue(prop?: InputSchemaProperty, overrideDefault?: any): any { + if (!prop) { + return undefined; + } + + const effectiveDefault = overrideDefault !== undefined ? overrideDefault : prop.default; + + if (prop.type === "object") { + const base = isPlainObject(effectiveDefault) ? { ...effectiveDefault } : {}; + + if (prop.properties) { + Object.entries(prop.properties).forEach(([childKey, childProp]) => { + base[childKey] = buildDefaultValue(childProp, base[childKey]); + }); + } + + return base; + } + + if (prop.type === "array") { + if (Array.isArray(effectiveDefault)) { + const itemSchema = prop.items; + if (!itemSchema) { + return effectiveDefault; + } + + if (effectiveDefault.length === 0) { + const sample = buildArrayItems(itemSchema); + return sample.length ? sample : effectiveDefault; + } + + if (Array.isArray(itemSchema)) { + return effectiveDefault.map((value, index) => { + const schema = itemSchema[index] ?? itemSchema[itemSchema.length - 1]; + return buildDefaultValue(schema, value); + }); + } + + return effectiveDefault.map((value) => buildDefaultValue(itemSchema, value)); + } + + if (effectiveDefault !== undefined) { + return effectiveDefault; + } + + return buildArrayItems(prop.items); + } + + if (effectiveDefault !== undefined) { + return effectiveDefault; + } + + switch (prop.type) { + case "integer": + case "number": + return 0; + case "boolean": + return false; + case "string": + default: + return ""; + } +} + +const getInitialValueForField = (prop: InputSchemaProperty): any => { + const defaultValue = buildDefaultValue(prop); + if (prop.type === "object" || prop.type === "array") { + const fallback = prop.type === "array" ? [] : {}; + return JSON.stringify(defaultValue ?? fallback, null, 2); + } + return defaultValue; +}; + export function ToolTestPanel({ tool, onSubmit, @@ -61,6 +156,21 @@ export function ToolTestPanel({ return schema; }, [schema]); + React.useEffect(() => { + form.resetFields(); + + if (!actualSchema.properties) { + return; + } + + const initialValues: Record = {}; + Object.entries(actualSchema.properties).forEach(([key, prop]) => { + initialValues[key] = getInitialValueForField(prop); + }); + + form.setFieldsValue(initialValues); + }, [form, actualSchema, tool]); + const handleSubmit = (values: Record) => { const start = Date.now(); setStartTime(start); @@ -78,8 +188,32 @@ export function ToolTestPanel({ convertedValues[key] = value === "true" || value === true; break; case "number": - convertedValues[key] = Number(value); + case "integer": { + const numericValue = Number(value); + convertedValues[key] = Number.isNaN(numericValue) + ? value + : prop.type === "integer" + ? Math.trunc(numericValue) + : numericValue; break; + } + case "object": + case "array": { + try { + const parsed = typeof value === "string" ? JSON.parse(value) : value; + const isValidObject = + prop.type === "object" && parsed !== null && typeof parsed === "object" && !Array.isArray(parsed); + const isValidArray = prop.type === "array" && Array.isArray(parsed); + if ((prop.type === "object" && isValidObject) || (prop.type === "array" && isValidArray)) { + convertedValues[key] = parsed; + } else { + convertedValues[key] = value; + } + } catch (err) { + convertedValues[key] = value; + } + break; + } case "string": convertedValues[key] = String(value); break; @@ -249,69 +383,136 @@ export function ToolTestPanel({ ) : (
- {Object.entries(actualSchema.properties).map(([key, prop]) => ( - - {key} {actualSchema.required?.includes(key) && *} - {prop.description && ( - - - - )} - - } - name={key} - rules={[ - { - required: actualSchema.required?.includes(key), + {Object.entries(actualSchema.properties).map(([key, prop]) => { + const initialValue = getInitialValueForField(prop); + const fieldKey = `${tool.name}-${key}`; + return ( + + {key} {actualSchema.required?.includes(key) && *} + {prop.description && ( + + + + )} + + } + name={key} + initialValue={initialValue} + rules={[ + { + required: actualSchema.required?.includes(key), message: `Please enter ${key}`, }, + ...(prop.type === "object" || prop.type === "array" + ? [ + { + validator: (_rule: any, value: any) => { + if ( + (value === undefined || value === null || value === "") && + !actualSchema.required?.includes(key) + ) { + return Promise.resolve(); + } + + try { + const parsed = typeof value === "string" ? JSON.parse(value) : value; + const isValidObject = + prop.type === "object" && + parsed !== null && + typeof parsed === "object" && + !Array.isArray(parsed); + const isValidArray = prop.type === "array" && Array.isArray(parsed); + + if ((prop.type === "object" && isValidObject) || (prop.type === "array" && isValidArray)) { + return Promise.resolve(); + } + + return Promise.reject( + new Error( + prop.type === "object" + ? "Please enter a JSON object" + : "Please enter a JSON array", + ), + ); + } catch (error) { + return Promise.reject(new Error("Invalid JSON")); + } + }, + }, + ] + : []), ]} - className="mb-3" - > - {prop.type === "string" && prop.enum && ( - - )} + className="mb-3" + > + {prop.type === "string" && prop.enum && ( + + )} - {prop.type === "string" && !prop.enum && ( - - )} + {prop.type === "string" && !prop.enum && ( + + )} - {prop.type === "number" && ( - - )} + {(prop.type === "number" || prop.type === "integer") && ( + + )} - {prop.type === "boolean" && ( - - )} - - ))} + {prop.type === "boolean" && ( + + )} + + {(prop.type === "object" || prop.type === "array") && ( +
+